U1 = parameters(i);
U2 = parameters(i + 1);
- if (U2 - U1 <= uTol)
+ const gp_Pnt& P1 = points(i);
+ const gp_Pnt& P2 = points(i+1);
+
+ if ((U2 - U1) <= uTol ||
+ (P1.XYZ () - P2.XYZ ()).SquareModulus () <= gp::Resolution ())
{
continue;
}
Standard_Real umax = 0.;
Standard_Real amax = 0.;
EstimDefl(C, U1, U2, dmax, umax);
- const gp_Pnt& P1 = points(i);
- const gp_Pnt& P2 = points(i+1);
D0(C, umax, MiddlePoint);
amax = EstimAngl(P1, MiddlePoint, P2);
if(dmax > curvatureDeflection || amax > AngleMax)