1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0027087: [Regression to OCCT 6.7.1] BRepExtrema_DistShapeShape gives wrong result

Extrema_ExtCs.cxx: number of subdivision is incresed for curve;

Modifications to fix regressions of some tests
IntTools_BeanFaceIntersector.cxx: restriction of curve, which is used in Extrema_ExtCS
ProjLib_CompProjectedCurve.cxx: tolerance is reduced for Extrema_ExtCS
BRepOffset_Tool.cxx: checking common vertex if it is Null

tests/bugs/modalg_7/bug27087 : test case added.

tests/bugs/modalg_5/bug25232_8 : test is modified according to new behavior of algorithms
This commit is contained in:
ifv
2019-09-03 15:48:24 +03:00
committed by bugmaster
parent 72e6020d50
commit 79aa9b5cf6
6 changed files with 36 additions and 6 deletions

View File

@@ -913,7 +913,17 @@ void IntTools_BeanFaceIntersector::ComputeUsingExtremum()
}
GeomAdaptor_Curve aGACurve(aCurve, anarg1, anarg2);
Extrema_ExtCS theExtCS(aGACurve, aGASurface, Tol, Tol);
Extrema_ExtCS theExtCS;
theExtCS.Initialize(aGASurface, myUMinParameter, myUMaxParameter,
myVMinParameter, myVMaxParameter, Tol, Tol);
Standard_Real first = aCurve->FirstParameter(), last = aCurve->LastParameter();
if (aCurve->IsPeriodic() ||
(anarg1 >= first - Precision::PConfusion() && anarg2 <= last + Precision::PConfusion()))
{
//Extrema_ExtCS theExtCS(aGACurve, aGASurface, Tol, Tol);
theExtCS.Perform(aGACurve, anarg1, anarg2);
}
myExtrema = theExtCS;
if(myExtrema.IsDone() && (myExtrema.NbExt() || myExtrema.IsParallel())) {