From: gka Date: Fri, 17 Aug 2018 09:37:51 +0000 (+0300) Subject: 0030062: Modeling Algorithms - The shape healing is instable in test "parasolid/doc_3/E3" X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2FIR-2018-08-31;p=occt-copy.git 0030062: Modeling Algorithms - The shape healing is instable in test "parasolid/doc_3/E3" Comparison of the gap between adjacent edges in the parametric space with maximal allowable gap is performed with Precision::PConfusion() instead of gp_Resolution () in the method ShapeAnalysis_Wire::CheckDegenerated(). This correction was made in order to avoid instability for MSVC 2017 test "parasolid/doc_3/E3" --- diff --git a/src/ShapeAnalysis/ShapeAnalysis_Wire.cxx b/src/ShapeAnalysis/ShapeAnalysis_Wire.cxx index 140f94483e..54beee3665 100644 --- a/src/ShapeAnalysis/ShapeAnalysis_Wire.cxx +++ b/src/ShapeAnalysis/ShapeAnalysis_Wire.cxx @@ -943,7 +943,7 @@ Standard_Boolean ShapeAnalysis_Wire::CheckDegenerated (const Standard_Integer nu GeomAdaptor_Surface& Ads = mySurf->Adaptor3d()->ChangeSurface(); Standard_Real max = Max ( Ads.UResolution(myPrecision), Ads.VResolution(myPrecision) ); - if ( p2d1.Distance (p2d2) /*Abs (par1 - par2)*/ <= max + gp::Resolution() ) return Standard_False; + if ( p2d1.Distance (p2d2) /*Abs (par1 - par2)*/ <= max + Precision::PConfusion() ) return Standard_False; //#84 rln p2d1 = aP2d.XY() + par1 * theDir2d.XY(); //#84 rln p2d2 = aP2d.XY() + par2 * theDir2d.XY(); @@ -958,6 +958,7 @@ Standard_Boolean ShapeAnalysis_Wire::CheckDegenerated (const Standard_Integer nu Standard_Boolean ShapeAnalysis_Wire::CheckDegenerated (const Standard_Integer num) { + gp_Pnt2d p2d1, p2d2; return CheckDegenerated ( num, p2d1, p2d2 ); }