0025505: General Fuse produces self-intersection shape
authorpkv <pkv@opencascade.com>
Fri, 21 Nov 2014 12:39:24 +0000 (15:39 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 21 Nov 2014 12:42:31 +0000 (15:42 +0300)
Changes:
class BOPAlgo_BuilderSolid
method:
void BOPAlgo_BuilderSolid::PerformAreas()

The misprint has been corrected

Test case for issue CR25505

src/BOPAlgo/BOPAlgo_BuilderSolid.cxx
tests/bugs/modalg_5/bug25505 [new file with mode: 0755]

index 42b079a..9d5167d 100644 (file)
@@ -684,8 +684,8 @@ void BOPAlgo_BuilderSolid::PerformAreas()
       }
       //
       if (aInOutMap.IsBound (aHole)){
-        const TopoDS_Shape& aHole2=aInOutMap(aHole);
-        if (IsInside(aHole, aHole2, myContext)) {
+        const TopoDS_Shape& aSolidWas=aInOutMap(aHole);
+        if (IsInside(aSolid, aSolidWas, myContext)) {
           aInOutMap.UnBind(aHole);
           aInOutMap.Bind (aHole, aSolid);
         }
diff --git a/tests/bugs/modalg_5/bug25505 b/tests/bugs/modalg_5/bug25505
new file mode 100755 (executable)
index 0000000..4ea2623
--- /dev/null
@@ -0,0 +1,39 @@
+puts "============"
+puts "OCC25505"
+puts "============"
+puts ""
+###############################
+## General Fuse produces self-intersection shape
+###############################
+
+restore [locate_data_file bug25505_q.brep] q
+
+explode q
+
+bclearobjects
+bcleartools
+baddobjects q_1 q_2 q_3 q_4
+bfillds
+bbuild result
+
+set info [bopcheck result]
+
+if {[string compare ${info} " This shape seems to be OK.\n"] == 0} {
+    puts "OK: General Fuse produces good shape"
+} else {
+    puts "Error : General Fuse produces self-intersection shape"
+}
+
+set square 68796.4
+
+set nb_v_good 14
+set nb_e_good 21
+set nb_w_good 9
+set nb_f_good 9
+set nb_sh_good 7
+set nb_sol_good 4
+set nb_compsol_good 0
+set nb_compound_good  1
+set nb_shape_good 65
+
+set 3dviewer 1