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:
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user