Adding condition for preventing decreasing Lipschitz constant if derivative are too small
Test case is created
// 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);
--- /dev/null
+puts "========"
+puts "OCC28637"
+puts "========"
+puts ""
+####################################################################################
+## [regression] Extrema curve - curve can not find correct solution between edge based on the line and BSpline edge
+####################################################################################
+
+restore [locate_data_file bug28637_shapes.brep] b
+explode b
+distmini d b_1 b_2
+checkprops d -l 4.46857e-005 -deps 1.e-2