]> OCCT Git - occt.git/commit
0028175: Bad result of curve-curve extrema
authoraml <aml@opencascade.com>
Thu, 15 Dec 2016 13:32:52 +0000 (16:32 +0300)
committerapn <apn@opencascade.com>
Thu, 15 Dec 2016 13:33:12 +0000 (16:33 +0300)
commitf79b19a17e10f628ee0dbeb220ade1e98e27c28e
tree6302fd0568f040111ccc27a14c6eacf375d34dd1
parent640d5fe2190539737a6f3d453016fc7368c01835
0028175: Bad result of curve-curve extrema

Extrema between curves has been made producing correct result for the cases of solution located near bounds.

- Class math_GlobOptMin has been improved to use lower order methods of local optimization when high-order methods are failed.
- Add support of conditional optimization (in bounds) in the classes math_BFGS and math_BracketMinimum.
- Turn on conditional optimization in the case of usage of math_BFGS in the class math_GlobOptMin.
- Correct mistake in distmini command, which caused incorrect reading of deflection parameter.
- To avoid possible FPE signals, ensure initialization of fields in the class math/math_BracketMinimum.
- In the algorithms math_BFGS, math_Powell and math_FRPR, take into account that the function math_MultipleVarFunction can return failure status (e.g. when computing D0 out of bounds).

New test cases have been added.
Tests cases are updated.

// correct test case
17 files changed:
src/BRepTest/BRepTest_ExtremaCommands.cxx
src/math/math_BFGS.cxx
src/math/math_BFGS.hxx
src/math/math_BracketMinimum.cxx
src/math/math_BracketMinimum.hxx
src/math/math_BracketMinimum.lxx
src/math/math_FRPR.cxx
src/math/math_GlobOptMin.cxx
src/math/math_NewtonMinimum.cxx
src/math/math_NewtonMinimum.hxx
src/math/math_Powell.cxx
tests/bugs/fclasses/bug25635_1
tests/bugs/modalg_5/bug23706_10
tests/bugs/moddata_3/bug28175 [new file with mode: 0644]
tests/bugs/moddata_3/bug28175_1 [new file with mode: 0644]
tests/bugs/moddata_3/bug28182 [new file with mode: 0644]
tests/bugs/moddata_3/bug28183 [new file with mode: 0644]