0023751: Test case bugs modalg bug6334 does not work with new Boolean Operation Algor...
authoremv <emv@opencascade.com>
Fri, 15 Feb 2013 12:48:17 +0000 (16:48 +0400)
committeremv <emv@opencascade.com>
Fri, 15 Feb 2013 12:48:17 +0000 (16:48 +0400)
Fix for the bug.
Added simple condition:
If the map myShapes (map of the parts of the tool that should be in result shape) is not filled then boolean operation of the given type will be performed.
Modified test case bugs/modalg_4/bug6334.
Small correction test cases

src/BRepFeat/BRepFeat_Builder.cdl
src/BRepFeat/BRepFeat_Builder.cxx
tests/bugs/modalg_4/bug6272_6
tests/bugs/modalg_4/bug6334
tests/bugs/moddata_1/bug152_1

index a79d786..c0c9658 100755 (executable)
@@ -26,6 +26,9 @@ class Builder from BRepFeat
     --          kept parts of the tool.
     --          Input data: a) DS;
     --                      b) The kept parts of the tool;
+    --                         If the map of the kept parts of the tool 
+    --                         is not filled boolean operation of the 
+    --                         given type will be performed;
     --                      c) Operation required.
     --          Steps: a) Fill myShapes, myRemoved maps; 
     --                 b) Rebuild edges and faces; 
index 4a7c9f2..c125475 100755 (executable)
 {
   myOperation = myFuse ? BOPAlgo_FUSE : BOPAlgo_CUT;
   //
-  Prepare();
-  //
-  RebuildFaces();
-  //
-  FillImagesContainers(TopAbs_SHELL);
-  if (myErrorStatus) {
-    return;
-  }
-  //
-  FillImagesSolids();
-  if (myErrorStatus) {
-    return;
-  }
-  //
-  CheckSolidImages();
-  //
-  BuildResult(TopAbs_SOLID);
-  if (myErrorStatus) {
-    return;
-  }
-  // 
-  FillImagesCompounds();
-  if (myErrorStatus) {
-    return;
-  }
-  //
-  BuildResult(TopAbs_COMPOUND);
-  if (myErrorStatus) {
-    return;
+  if (!myShapes.IsEmpty()) {
+    //
+    Prepare(); 
+    //
+    RebuildFaces();
+    //
+    FillImagesContainers(TopAbs_SHELL);
+    if (myErrorStatus) {
+      return;
+    }
+    //
+    FillImagesSolids();
+    if (myErrorStatus) {
+      return;
+    }
+    //
+    CheckSolidImages();
+    //
+    BuildResult(TopAbs_SOLID);
+    if (myErrorStatus) {
+      return;
+    }
+    // 
+    FillImagesCompounds();
+    if (myErrorStatus) {
+      return;
+    }
+    //
+    BuildResult(TopAbs_COMPOUND);
+    if (myErrorStatus) {
+      return;
+    }
   }
   //
   BuildShape();
index 625b1e9..4bc5471 100755 (executable)
@@ -1,5 +1,5 @@
 puts "TODO OCC11111 ALL: Error : The square of result shape is"
-puts "TODO OCC11111 ALL: Error : Result shape is WRONG"
+puts "TODO ?OCC11111 ALL: Error : Result shape is WRONG"
 
 puts "============"
 puts "OCC6272"
index b90cd69..079031c 100755 (executable)
@@ -1,5 +1,3 @@
-puts "TODO OCC11111 ALL: Error : Result shape is WRONG"
-
 puts "============"
 puts "OCC6334"
 puts "============"
@@ -42,15 +40,15 @@ renamevar h result
 
 set square 117509
 
-set nb_v_good 32
-set nb_e_good 53
+set nb_v_good 30
+set nb_e_good 51
 set nb_w_good 27
 set nb_f_good 24
 set nb_sh_good 1
 set nb_sol_good 1
 set nb_compsol_good 0
 set nb_compound_good 1
-set nb_shape_good 139
+set nb_shape_good 135
 
 
 # 4. Check thickness of box and hole
index 377ed05..8558b3c 100755 (executable)
@@ -1,6 +1,6 @@
 # by apn master-master 03.12.2012
 puts "TODO OCC12345 ALL: Error : The square of result shape is"
-puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
+puts "TODO ?OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
 #puts "TODO OCC12345 ALL: An exception was caught"
 #puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
 #puts "TODO OCC12345 ALL: TEST INCOMPLETE"