diff --git a/src/IntTools/IntTools_FaceFace.cxx b/src/IntTools/IntTools_FaceFace.cxx index d99c0c1792..3a6a0bb3a6 100644 --- a/src/IntTools/IntTools_FaceFace.cxx +++ b/src/IntTools/IntTools_FaceFace.cxx @@ -2629,59 +2629,6 @@ Handle(Geom2d_BSplineCurve) MakeBSpline2d(const Handle(IntPatch_WLine)& theWLine } } // - { - Standard_Integer aNbP; - Standard_Real aXP, dXfact, aXmid, aX1, aX2, aTolPA; - // - aTolPA=Precision::Angular(); - // U - if (isuperiodic) { - aXP=anAdaptorSurface.UPeriod(); - dXfact=theumax-theumin; - if (dXfact-aTolPA>aXP) { - aXmid=0.5*(theumax+theumin); - aNbP=RealToInt(aXmid/aXP); - if (aXmid<0.) { - aNbP=aNbP-1; - } - aX1=aNbP*aXP; - if (theumin>aTolPA) { - aX1=theumin+aNbP*aXP; - } - aX2=aX1+aXP; - if (theuminaX2) { - theumax=aX2; - } - } - } - // V - if (isvperiodic) { - aXP=anAdaptorSurface.VPeriod(); - dXfact=thevmax-thevmin; - if (dXfact-aTolPA>aXP) { - aXmid=0.5*(thevmax+thevmin); - aNbP=RealToInt(aXmid/aXP); - if (aXmid<0.) { - aNbP=aNbP-1; - } - aX1=aNbP*aXP; - if (thevmin>aTolPA) { - aX1=thevmin+aNbP*aXP; - } - aX2=aX1+aXP; - if (thevminaX2) { - thevmax=aX2; - } - } - } - } - // if(isuperiodic || isvperiodic) { Standard_Boolean correct = Standard_False; Standard_Boolean correctU = Standard_False; @@ -2736,16 +2683,13 @@ Handle(Geom2d_BSplineCurve) MakeBSpline2d(const Handle(IntPatch_WLine)& theWLine aBox.Get(umin, vmin, umax, vmax); if(isuperiodic && correctU) { - if(theumin < umin) theumin = umin; - if(theumax > umax) { theumax = umax; } } if(isvperiodic && correctV) { - if(thevmin < vmin) thevmin = vmin; if(thevmax > vmax) diff --git a/tests/blend/bfuseblend/B7 b/tests/blend/bfuseblend/B7 index 8fc8db94af..07e68f0960 100644 --- a/tests/blend/bfuseblend/B7 +++ b/tests/blend/bfuseblend/B7 @@ -6,4 +6,4 @@ tscale s1 0 0 0 SCALE1 tscale s2 0 0 0 SCALE1 bfuseblend result s1 s2 1*SCALE1 -set square 53457.8 +set square 52920.7 diff --git a/tests/bugs/modalg_5/bug25488 b/tests/bugs/modalg_5/bug25488 index d3fb0b87f6..13af1f40c6 100644 --- a/tests/bugs/modalg_5/bug25488 +++ b/tests/bugs/modalg_5/bug25488 @@ -6,7 +6,7 @@ puts "" # Wrong result of two trimmed cylinders intersection ###################################################### -set Tolerance 1.1e-7 +set Tolerance 2.0e-6 set D_good 0. set Limit_Tol 1.0e-7 diff --git a/tests/bugs/modalg_6/bug26310_1 b/tests/bugs/modalg_6/bug26310_1 index 3d5224783f..1e83547474 100644 --- a/tests/bugs/modalg_6/bug26310_1 +++ b/tests/bugs/modalg_6/bug26310_1 @@ -7,9 +7,9 @@ puts "" ################################################# if { [regexp {Debug mode} [dversion]] } { - set max_time 1.0 + set max_time 3.0 } else { - set max_time 0.5 + set max_time 1.0 } set ExpTol1 1.3823335207427231e-006 diff --git a/tests/bugs/modalg_6/bug27761 b/tests/bugs/modalg_6/bug27761 new file mode 100644 index 0000000000..abf6323da3 --- /dev/null +++ b/tests/bugs/modalg_6/bug27761 @@ -0,0 +1,16 @@ +puts "========" +puts "OCC27761" +puts "========" +puts "" +################################################# +# Intersection loops infinitely +################################################# + +restore [locate_data_file bug27761_c1.brep] c1 +restore [locate_data_file bug27761_c2.brep] c2 + +bsection result c1 c2 + +checkshape result +# approximate theoretical length of the result +set length 0.00192547 diff --git a/tests/bugs/modalg_6/bug27766 b/tests/bugs/modalg_6/bug27766 index c039cd8efc..cc49710432 100644 --- a/tests/bugs/modalg_6/bug27766 +++ b/tests/bugs/modalg_6/bug27766 @@ -6,7 +6,7 @@ puts "" # Incorrect section curves between attached cylinders ################################################# -set ExpTol 1.0e-7 +set ExpTol 2.3528376469664739e-011 set GoodNbCurv 3 restore [locate_data_file bug27761_c1.brep] c1 @@ -27,4 +27,4 @@ don c_* fit disp c1 c2 -checkview -screenshot -2d -path ${imagedir}/${test_image}.png +set only_screen_axo 1 \ No newline at end of file