Standard_Boolean IntWalk_PWalking::ExtendLineInCommonZone(const IntImp_ConstIsoparametric theChoixIso,
const Standard_Boolean theDirectionFlag)
{
+ // Caro1 and Caro2
+ const Handle(Adaptor3d_Surface)& Caro1 = myIntersectionOn2S.Function().AuxillarSurface1();
+ const Handle(Adaptor3d_Surface)& Caro2 = myIntersectionOn2S.Function().AuxillarSurface2();
+ //
+ const Standard_Real UFirst1 = Adaptor3d_HSurfaceTool::FirstUParameter(Caro1);
+ const Standard_Real VFirst1 = Adaptor3d_HSurfaceTool::FirstVParameter(Caro1);
+ const Standard_Real ULast1 = Adaptor3d_HSurfaceTool::LastUParameter(Caro1);
+ const Standard_Real VLast1 = Adaptor3d_HSurfaceTool::LastVParameter(Caro1);
+
+ const Standard_Real UFirst2 = Adaptor3d_HSurfaceTool::FirstUParameter(Caro2);
+ const Standard_Real VFirst2 = Adaptor3d_HSurfaceTool::FirstVParameter(Caro2);
+ const Standard_Real ULast2 = Adaptor3d_HSurfaceTool::LastUParameter(Caro2);
+ const Standard_Real VLast2 = Adaptor3d_HSurfaceTool::LastVParameter(Caro2);
+
Standard_Boolean bOutOfTangentZone = Standard_False;
Standard_Boolean bStop = !myIntersectionOn2S.IsTangent();
Standard_Integer dIncKey = 1;
Standard_Integer uvit = 0;
IntSurf_SequenceOfPntOn2S aSeqOfNewPoint;
+ previousPoint.Parameters(Param(1), Param(2), Param(3), Param(4));
+
+ if (Param(1) - UFirst1 < ResoU1)
+ {
+ return bOutOfTangentZone;
+ }
+ else if (Param(2) - VFirst1 < ResoV1)
+ {
+ return bOutOfTangentZone;
+ }
+ else if (Param(3) - UFirst2 < ResoU2)
+ {
+ return bOutOfTangentZone;
+ }
+ else if (Param(4) - VFirst2 < ResoV2)
+ {
+ return bOutOfTangentZone;
+ }
+
+ if (Param(1) - ULast1 > -ResoU1)
+ {
+ return bOutOfTangentZone;
+ }
+ else if (Param(2) - VLast1 > -ResoV1)
+ {
+ return bOutOfTangentZone;
+ }
+ else if (Param(3) - ULast2 > -ResoU2)
+ {
+ return bOutOfTangentZone;
+ }
+ else if (Param(4) - VLast2 > -ResoV2)
+ {
+ return bOutOfTangentZone;
+ }
+
while (!bStop) {
nbIterWithoutAppend++;
--- /dev/null
+puts "========"
+puts "0029093: BOP PaveFiller hungs and constantly consumes memory"
+puts "========"
+puts ""
+
+bclearobjects;
+bcleartools;
+
+restore [locate_data_file bug29093.brep] a
+
+explode a So
+baddobjects a_7
+baddtools a_9
+
+dchrono cr restart
+
+bfillds
+bbuild result
+
+dchrono cr stop counter bbuild
+
+checkshape result
+checkprops result -s 1329680 -v 34507100
+checknbshapes result -vertex 5 -edge 13 -wire 9 -face 9 -shell 3 -solid 3
+
+smallview
+donly result
+fit
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png