From: pkv Date: Fri, 6 Jul 2012 11:55:23 +0000 (+0400) Subject: 0023218: Wrong value of tolerance for the intersection curve. X-Git-Tag: V6_5_4_beta1~151 X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=37b6f439545469a2e3d8ef7572dfcf9af6bbb298 0023218: Wrong value of tolerance for the intersection curve. --- diff --git a/src/IntTools/IntTools_FaceFace.cxx b/src/IntTools/IntTools_FaceFace.cxx index 2a660cc19c..b39d5da149 100755 --- a/src/IntTools/IntTools_FaceFace.cxx +++ b/src/IntTools/IntTools_FaceFace.cxx @@ -308,6 +308,19 @@ static const TopoDS_Face& aF2, const Handle(IntTools_Context)& aCtx); // +static + Standard_Real FindMaxSquareDistance (const Standard_Real aA, + const Standard_Real aB, + const Standard_Real aEps, + const Handle(Geom_Curve)& aC3D, + const Handle(Geom2d_Curve)& aC2D1, + const Handle(Geom2d_Curve)& aC2D2, + const Handle(GeomAdaptor_HSurface) myHS1, + const Handle(GeomAdaptor_HSurface) myHS2, + const TopoDS_Face& aF1, + const TopoDS_Face& aF2, + const Handle(IntTools_Context)& aCtx); + //======================================================================= //function : //purpose : @@ -731,6 +744,10 @@ void IntTools_FaceFace::SetList(IntSurf_ListOfPntOn2S& aListOfPnts) GeomAbs_SurfaceType aType1, aType2; // aNbLin=myIntersector.NbLines(); + if (!aNbLin) { + return; + } + // aType1=myHS1->Surface().GetType(); aType2=myHS2->Surface().GetType(); // @@ -761,13 +778,11 @@ void IntTools_FaceFace::SetList(IntSurf_ListOfPntOn2S& aListOfPnts) } } //ZZ - - {// Check the distances - Standard_Integer i, j, aNbP; - Standard_Real aT, aT1, aT2, dT, aD2, aD2Max; + if (aNbLin) {// Check the distances + Standard_Integer i, aNbP, j ; + Standard_Real aT, aT1, aT2, dT, aD2, aD2Max, aEps, aT11, aT12; // aD2Max=0.; - aNbP=11; aNbLin=mySeqOfCurve.Length(); // for (i=1; i<=aNbLin; ++i) { @@ -788,22 +803,22 @@ void IntTools_FaceFace::SetList(IntSurf_ListOfPntOn2S& aListOfPnts) aT1=aBC->FirstParameter(); aT2=aBC->LastParameter(); // - aNbP--; + aEps=0.01*(aT2-aT1); + aNbP=10; dT=(aT2-aT1)/aNbP; - //modified by NIZNHY-PKV Tue Apr 17 14:36:33 2012f for (j=1; jaD2Max) { aD2Max=aD2; } - }//for (j=0; j