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

0028637: [regression] Extrema curve - curve can not find correct solution between edge based on the line and BSpline edge

Adding condition for preventing decreasing Lipschitz constant if derivative are too small
Test case is created
This commit is contained in:
ifv
2017-05-18 16:10:45 +03:00
committed by bugmaster
parent 53d696bf51
commit b493028765
2 changed files with 18 additions and 0 deletions

View File

@@ -220,6 +220,12 @@ void Extrema_GenExtCC::Perform()
// Change constant value according to the concrete curve types.
Standard_Boolean isConstLockedFlag = Standard_False;
//To prevent LipConst to became too small
const Standard_Real aCR = 0.001;
if (aMaxDer1 / aMaxDer < aCR || aMaxDer2 / aMaxDer < aCR)
{
isConstLockedFlag = Standard_True;
}
if (C1.GetType() == GeomAbs_Line)
{
aMaxDer = 1.0 / C2.Resolution(1.0);