]> OCCT Git - occt-copy.git/commitdiff
0024921: ShapeAnalysis_Curve::ValidateRange doesn't adjust the range for periodic...
authorrazmyslovich <razmyslovich@volumegraphics.com>
Wed, 14 May 2014 11:16:16 +0000 (13:16 +0200)
committerapn <apn@opencascade.com>
Thu, 22 May 2014 12:58:25 +0000 (16:58 +0400)
Fix the sequence of conditional checks and always try to adjust the range for periodic curves

src/ShapeAnalysis/ShapeAnalysis_Curve.cxx

index 0a68b22bd6282aa05d373c68388c115d5d409586..8b83b3229adfb5ae0de9e2694e157b4091cc9602 100644 (file)
@@ -506,11 +506,13 @@ Standard_Boolean ShapeAnalysis_Curve::ValidateRange (const Handle(Geom_Curve)& t
     }
   }
 
-  if (First < Last) return Standard_True;
-
   // 15.11.2002 PTV OCC966
-  if (ShapeAnalysis_Curve::IsPeriodic(theCurve)) 
+  if (ShapeAnalysis_Curve::IsPeriodic(theCurve)) {
     ElCLib::AdjustPeriodic(cf,cl,Precision::PConfusion(),First,Last); //:a7 abv 11 Feb 98: preci -> PConfusion()
+  }
+  else if (First < Last) {
+    // nothing to fix
+  }
   else if (theCurve->IsClosed()) {
     // l'un des points projecte se trouve sur l'origine du parametrage
     // de la courbe 3D. L algo a donne cl +- preci au lieu de cf ou vice-versa