1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

Compare commits

...

1 Commits

Author SHA1 Message Date
gka
c313df34e4 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"
2018-08-17 12:37:51 +03:00

View File

@@ -943,7 +943,7 @@ Standard_Boolean ShapeAnalysis_Wire::CheckDegenerated (const Standard_Integer nu
GeomAdaptor_Surface& Ads = mySurf->Adaptor3d()->ChangeSurface(); GeomAdaptor_Surface& Ads = mySurf->Adaptor3d()->ChangeSurface();
Standard_Real max = Max ( Ads.UResolution(myPrecision), Standard_Real max = Max ( Ads.UResolution(myPrecision),
Ads.VResolution(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 p2d1 = aP2d.XY() + par1 * theDir2d.XY();
//#84 rln p2d2 = aP2d.XY() + par2 * 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) Standard_Boolean ShapeAnalysis_Wire::CheckDegenerated (const Standard_Integer num)
{ {
gp_Pnt2d p2d1, p2d2; gp_Pnt2d p2d1, p2d2;
return CheckDegenerated ( num, p2d1, p2d2 ); return CheckDegenerated ( num, p2d1, p2d2 );
} }