0030345: Mesh, BRepMesh_CurveTessellator - GCPnts_TangentialDeflection throws Standar...
authornbv <nbv@opencascade.com>
Thu, 8 Nov 2018 08:45:01 +0000 (11:45 +0300)
committerbugmaster <bugmaster@opencascade.com>
Sun, 11 Nov 2018 08:34:21 +0000 (11:34 +0300)
Now the algorithm GCPnts_TangentialDeflection is initialized by appropriate parameters.

src/BRepMesh/BRepMesh_CurveTessellator.cxx
src/GCPnts/GCPnts_TangentialDeflection.pxx

index e842132..d7e73f0 100644 (file)
@@ -79,6 +79,9 @@ void BRepMesh_CurveTessellator::init()
     aPreciseLinDef *= 0.5;
   }
 
+  aPreciseLinDef = Max(aPreciseLinDef, Precision::Confusion());
+  aPreciseAngDef = Max(aPreciseAngDef, Precision::Angular());
+
   mySquareEdgeDef = aPreciseLinDef * aPreciseLinDef;
   mySquareMinSize = Max(mySquareEdgeDef, myParameters.MinSize * myParameters.MinSize);
 
index 8d05ab0..068e80b 100644 (file)
@@ -135,7 +135,9 @@ void GCPnts_TangentialDeflection::Initialize (
 
 {
   
-  Standard_ConstructionError_Raise_if (CurvatureDeflection <= Precision::Confusion () || AngularDeflection   <= Precision::Angular (), "GCPnts_TangentialDeflection::Initialize - Zero Deflection")
+  Standard_ConstructionError_Raise_if (CurvatureDeflection < Precision::Confusion () ||
+                                       AngularDeflection < Precision::Angular (),
+                                       "GCPnts_TangentialDeflection::Initialize - Zero Deflection")
 
  parameters.Clear ();
  points    .Clear ();