occt: master 4bc805bf

Author Committer Branch Timestamp Parent
msv apn master 2017-12-11 15:00:19 master 14abe5dc
Affected Issues  0029368: Incorrect intersection state of the intersection point of two 2d curves
Changeset 0029368: Incorrect intersection state of the intersection point of two 2d curves

In the algorithm math_FunctionRoots, improve the case when it is needed to find the extremum of the function. Earlier, to solve this task the method of gold section was used. With the patch, firstly the algorithm tries to find zero value of the derivative function. In most cases it gives precise result. Secondly, the algorithm tries to find zero value of the function using the old approach. The algorithm chooses the best solution among two computed by different methods.

In the method PutStickPavesOnCurve of BOPAlgo_PaveFiller, forbid putting a vertex to the end of the curve if this end already has a vertex assigned to it. This allows getting rid of unwanted colliding of vertices.

In the method UpdatePaveBlocks of BOPAlgo_PaveFiller, make the check for micro edges more precise.

New category of tests "lowalgos" has been added. Tests for low level algorithms are to be put there. "2dinter" is a new group of tests in this category.

Introduction of the new key for "2dintersect" command, allowing printing the intersection state for each point.
It has the following syntax now:
"2dintersect curve1 [curve2] [-tol tol] [-state]"
Options:
-tol - allows changing the intersection tolerance (default value is 1.e-3);
-state - allows printing the intersection state for each point.

Correct the test case bugs/modalg_7/bug28274 to make proper checks of the result.
mod - dox/user_guides/draw_test_harness/draw_test_harness.md Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
mod - src/GeomliteTest/GeomliteTest_API2dCommands.cxx Diff File
mod - src/math/math_FunctionRoots.cxx Diff File
mod - tests/bugs/modalg_5/bug23706_43 Diff File
mod - tests/bugs/modalg_5/bug23706_48 Diff File
mod - tests/bugs/modalg_6/bug25593 Diff File
mod - tests/bugs/modalg_6/bug26938_3 Diff File
mod - tests/bugs/modalg_6/bug26938_4 Diff File
mod - tests/bugs/modalg_7/bug28274 Diff File
add - tests/bugs/modalg_7/bug28385_11 Diff File
mod - tests/bugs/moddata_2/bug23587 Diff File
mod - tests/bugs/moddata_3/bug25876 Diff File
add - tests/lowalgos/2dinter/A1 Diff File
add - tests/lowalgos/2dinter/A2 Diff File
add - tests/lowalgos/begin Diff File
add - tests/lowalgos/end Diff File
add - tests/lowalgos/grids.list Diff File
add - tests/lowalgos/parse.rules Diff File