]> OCCT Git - occt-copy.git/commitdiff
0030062: Modeling Algorithms - The shape healing is instable in test "parasolid/doc_3/E3" IR-2018-08-31
authorgka <gka@opencascade.com>
Fri, 17 Aug 2018 09:37:51 +0000 (12:37 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 30 Aug 2018 15:15:36 +0000 (18:15 +0300)
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"

src/ShapeAnalysis/ShapeAnalysis_Wire.cxx

index 140f94483e2c282562ff2c94ec71fb4f6c049020..54beee36654d6a765d991e8c5843e95231741a0f 100644 (file)
@@ -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 );
 }