From: oan Date: Thu, 7 Nov 2019 09:25:57 +0000 (+0300) Subject: 0027226: Meshing algorithm fails if edge curves has small defects (bends, loops...) X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2FCR27226_1;p=occt-copy.git 0027226: Meshing algorithm fails if edge curves has small defects (bends, loops...) Take into account tolerance of edge vertices in order to reduce density of discretization points. --- diff --git a/src/BRepMesh/BRepMesh_CurveTessellator.cxx b/src/BRepMesh/BRepMesh_CurveTessellator.cxx index 105df23e90..69b1df25c6 100644 --- a/src/BRepMesh/BRepMesh_CurveTessellator.cxx +++ b/src/BRepMesh/BRepMesh_CurveTessellator.cxx @@ -230,9 +230,9 @@ Standard_Boolean BRepMesh_CurveTessellator::Value ( thePoint = myDiscretTool.Value (theIndex); theParameter = myDiscretTool.Parameter (theIndex); - /*if (!isInToleranceOfVertex(thePoint, myFirstVertex) && + if (!isInToleranceOfVertex(thePoint, myFirstVertex) && !isInToleranceOfVertex(thePoint, myLastVertex)) - {*/ + { if (!myCurve.IsCurveOnSurface()) { return Standard_True; @@ -268,9 +268,9 @@ Standard_Boolean BRepMesh_CurveTessellator::Value ( aSurface->D0(aUV.X(), aUV.Y(), aPntOnSurf); return (thePoint.SquareDistance(aPntOnSurf) < myEdgeSqTol); - /*} + } - return Standard_False;*/ + return Standard_False; } //=======================================================================