From 51cf5bb604005774be08ce107a3d1b7cd63d8065 Mon Sep 17 00:00:00 2001 From: nbv Date: Thu, 8 Nov 2018 11:45:01 +0300 Subject: [PATCH] 0030345: Mesh, BRepMesh_CurveTessellator - GCPnts_TangentialDeflection throws Standard_ConstructionError Now the algorithm GCPnts_TangentialDeflection is initialized by appropriate parameters. --- src/BRepMesh/BRepMesh_CurveTessellator.cxx | 3 +++ src/GCPnts/GCPnts_TangentialDeflection.pxx | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/BRepMesh/BRepMesh_CurveTessellator.cxx b/src/BRepMesh/BRepMesh_CurveTessellator.cxx index e842132b12..d7e73f0f26 100644 --- a/src/BRepMesh/BRepMesh_CurveTessellator.cxx +++ b/src/BRepMesh/BRepMesh_CurveTessellator.cxx @@ -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); diff --git a/src/GCPnts/GCPnts_TangentialDeflection.pxx b/src/GCPnts/GCPnts_TangentialDeflection.pxx index 8d05ab02bd..068e80bac3 100644 --- a/src/GCPnts/GCPnts_TangentialDeflection.pxx +++ b/src/GCPnts/GCPnts_TangentialDeflection.pxx @@ -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 (); -- 2.20.1