From afd7551d88bf162ed42f950a0f302a2f774bb819 Mon Sep 17 00:00:00 2001 From: msv Date: Wed, 8 Aug 2018 16:30:25 +0300 Subject: [PATCH] # fighting against regressions --- src/GCPnts/GCPnts_TangentialDeflection.pxx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/GCPnts/GCPnts_TangentialDeflection.pxx b/src/GCPnts/GCPnts_TangentialDeflection.pxx index 65a30a01f6..440363df8f 100644 --- a/src/GCPnts/GCPnts_TangentialDeflection.pxx +++ b/src/GCPnts/GCPnts_TangentialDeflection.pxx @@ -306,11 +306,12 @@ void GCPnts_TangentialDeflection::PerformCurve (const TheCurve& C) ;} //// Standard_Real param = 0.; + gp_Pnt prevMiddlePoint = CurrentPoint; for (i = 1; i <= NbInterv && IsLine; ++i) { // Avoid usage intervals out of [firstu, lastu]. - if ((Intervs(i+1) < firstu) || - (Intervs(i) > lastu)) + if ((Intervs(i+1) <= firstu) || + (Intervs(i) >= lastu)) { continue; } @@ -327,8 +328,6 @@ void GCPnts_TangentialDeflection::PerformCurve (const TheCurve& C) } Standard_Real delta = (Intervs(i+1) - Intervs(i))/(NbPoints-1); - gp_Pnt prevMiddlePoint = CurrentPoint; - for (j = 1; j < NbPoints && IsLine; ++j) { param = Intervs(i) + j*delta; @@ -345,7 +344,7 @@ void GCPnts_TangentialDeflection::PerformCurve (const TheCurve& C) { gp_XYZ V3 = MiddlePoint.XYZ() - prevMiddlePoint.XYZ(); Standard_Real L3 = V3.Modulus(); - IsSequential = (L3 <= L1); + IsSequential = (L2 <= L1 && L3 <= L1); } } prevMiddlePoint = MiddlePoint; -- 2.39.5