1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

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"
This commit is contained in:
gka
2018-08-17 12:37:51 +03:00
parent 47ba172e98
commit c313df34e4

View 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 );
}