From: emv Date: Thu, 6 Jun 2013 08:16:38 +0000 (+0400) Subject: 0024016: Test case bugs moddata_2 bug324 works not correct after integration of the... X-Git-Tag: V6_7_0_beta~242 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=71797c62f1b97d16c9cd172d2bab69348944c9f0;p=occt-copy.git 0024016: Test case bugs moddata_2 bug324 works not correct after integration of the fix for the issue 0023985. Do not perform the check for the height of the cylinder (see issue 0023985) for infinite cylinders. --- diff --git a/src/IntPatch/IntPatch_ImpImpIntersection_2.gxx b/src/IntPatch/IntPatch_ImpImpIntersection_2.gxx index ecf851f5dc..3984ca50d7 100755 --- a/src/IntPatch/IntPatch_ImpImpIntersection_2.gxx +++ b/src/IntPatch/IntPatch_ImpImpIntersection_2.gxx @@ -101,7 +101,12 @@ void IntPatch_ImpImpIntersection::Perform(const Handle(Adaptor3d_HSurface)& S1, case GeomAbs_Cylinder: { quad2.SetValue(S2->Cylinder()); - Standard_Real H = S1->LastVParameter() - S1->FirstVParameter(); + Standard_Real VMin, VMax, H; + // + VMin = S1->FirstVParameter(); + VMax = S1->LastVParameter(); + H = (Precision::IsNegativeInfinite(VMin) || + Precision::IsPositiveInfinite(VMax)) ? 0 : (VMax - VMin); if (!IntPCy(quad1,quad2,Tolang,TolTang,Standard_False,empt,slin,H)) { return; } @@ -158,7 +163,12 @@ void IntPatch_ImpImpIntersection::Perform(const Handle(Adaptor3d_HSurface)& S1, case GeomAbs_Plane: { quad2.SetValue(S2->Plane()); - Standard_Real H = S1->LastVParameter() - S1->FirstVParameter(); + Standard_Real VMin, VMax, H; + // + VMin = S1->FirstVParameter(); + VMax = S1->LastVParameter(); + H = (Precision::IsNegativeInfinite(VMin) || + Precision::IsPositiveInfinite(VMax)) ? 0 : (VMax - VMin); if (!IntPCy(quad1,quad2,Tolang,TolTang,Standard_True,empt,slin,H)) { return; }