0024400: Wrong result obtained by Section
authorpdn <pdn@opencascade.com>
Thu, 28 Nov 2013 07:10:10 +0000 (11:10 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 28 Nov 2013 07:11:22 +0000 (11:11 +0400)
Changes:
class IntTools_FaceFace
- static function:
void CorrectSurfaceBoundaries(const TopoDS_Face&  theFace,
       const Standard_Real theTolerance,
       Standard_Real&      theumin,
       Standard_Real&      theumax,
       Standard_Real&      thevmin,
       Standard_Real&      thevmax)

Remove unnecessary broadening of UV-bounds for the faces based on the sperical surfaces.

Test case for issue CR24400

src/IntTools/IntTools_FaceFace.cxx
tests/bugs/modalg_5/bug23991
tests/bugs/modalg_5/bug24400 [new file with mode: 0644]

index 7815d6a..bd1e4f1 100755 (executable)
@@ -2638,15 +2638,6 @@ Handle(Geom2d_BSplineCurve) MakeBSpline2d(const Handle(IntPatch_WLine)& theWLine
     enlarge=Standard_True;
   }
   //
-  if (aType==GeomAbs_Sphere) {
-    Standard_Real dV;
-    //
-    dV=thevmax-thevmin;
-    if (dV+delta<M_PI) {
-      enlarge=Standard_True;
-    }
-  }
-  //
   if(!isuperiodic && enlarge) {
 
     if((theumin - uinf) > delta )
index e0d82df..808a16d 100644 (file)
@@ -1,4 +1,3 @@
-puts "TODO OCC23991 ALL: Error : Result shape is WRONG"
 puts "============"
 puts "OCC23991"
 puts "============"
diff --git a/tests/bugs/modalg_5/bug24400 b/tests/bugs/modalg_5/bug24400
new file mode 100644 (file)
index 0000000..083e4b2
--- /dev/null
@@ -0,0 +1,25 @@
+puts "============"
+puts "OCC24400"
+puts "============"
+puts ""
+#######################################################################
+# Wrong result obtained by Section
+#######################################################################
+
+restore [locate_data_file bug24075_b1.brep] b1
+restore [locate_data_file bug24075_b2.brep] b2
+
+bop b1 b2
+bopsection result
+
+set nb_v_good 2
+set nb_e_good 1
+set nb_w_good 0
+set nb_f_good 0
+set nb_sh_good 0
+set nb_sol_good 0
+set nb_compsol_good 0
+set nb_compound_good  1
+set nb_shape_good 4
+
+set 2dviewer 1