1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0025058: Regression of performance of BRepExtrema_ExtCC (1000 times slower)

Added initial values approximation to improve performance.
Local optimization start coefficient fixed.

Test case for issue CR25058
This commit is contained in:
aml
2014-07-17 13:50:51 +04:00
committed by bugmaster
parent 6bc6a6fc07
commit 797d11c6f5
4 changed files with 129 additions and 32 deletions

View File

@@ -58,7 +58,7 @@ public:
//! Get best functional value.
Standard_EXPORT Standard_Real GetF();
//! Return count of global extremas. NbExtrema <= MAX_SOLUTIONS.
//! Return count of global extremas.
Standard_EXPORT Standard_Integer NbExtrema();
//! Return solution i, 1 <= i <= NbExtrema.
@@ -74,6 +74,13 @@ private:
void computeGlobalExtremum(Standard_Integer theIndex);
//! Computes starting value / approximation:
// myF - initial best value.
// myY - initial best point.
// myC - approximation of Lipschitz constant.
// to imporve convergence speed.
void computeInitialValues();
//! Check that myA <= pnt <= myB
Standard_Boolean isInside(const math_Vector& thePnt);