0025450: Common operation returns wrong shape
authorpkv <pkv@opencascade.com>
Fri, 21 Nov 2014 10:48:35 +0000 (13:48 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 21 Nov 2014 10:49:09 +0000 (13:49 +0300)
Changes:
class BOPAlgo_PaveFiller
 method:
 void BOPAlgo_PaveFiller::PerformEF()

 The index of the face has been added in post-treatment map

Test cases for issue CR25450

Correction of test case for issue CR25450

src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx
tests/bugs/modalg_2/bug497_3
tests/bugs/modalg_5/bug25450_1 [new file with mode: 0644]
tests/bugs/modalg_5/bug25450_2 [new file with mode: 0644]

index 79dd5ec..9b1b320 100644 (file)
@@ -267,7 +267,6 @@ void BOPAlgo_PaveFiller::PerformEF()
     aPB->Indices(nV[0], nV[1]);
     //
     BOPDS_FaceInfo& aFI=myDS->ChangeFaceInfo(nF);
-    ////const BOPDS_IndexedMapOfPaveBlock& aMPBF=aFI.PaveBlocksOn();
     const BOPCol_MapOfInteger& aMIFOn=aFI.VerticesOn();
     const BOPCol_MapOfInteger& aMIFIn=aFI.VerticesIn();
     //~~~
@@ -305,7 +304,9 @@ void BOPAlgo_PaveFiller::PerformEF()
               aEF.SetIndices(nE, nF);
               aEF.SetCommonPart(aCP);
               myDS->AddInterf(nE, nF);
-              // 3          
+              //
+              aMIEFC.Add(nF);
+              //           
               BOPAlgo_Tools::FillMap(aPB, nF, aMPBLI, aAllocator);
               break;
             }
index d5a7166..22cea61 100755 (executable)
@@ -15,5 +15,5 @@ checkshape a_2
 
 bcut result a_1 a_2
 
-set square 1773.6
+set square 2471.48
 set 2dviewer 0
diff --git a/tests/bugs/modalg_5/bug25450_1 b/tests/bugs/modalg_5/bug25450_1
new file mode 100644 (file)
index 0000000..16a9f48
--- /dev/null
@@ -0,0 +1,26 @@
+puts "================"
+puts "OCC25450"
+puts "================"
+puts ""
+####################################
+# Common operation returns wrong shape
+####################################
+
+restore [locate_data_file bug25450_Shape.brep] a
+
+explode a
+bcommon result a_1 a_2
+
+set square 142153
+
+set nb_v_good 8
+set nb_e_good 12
+set nb_w_good 4
+set nb_f_good 4
+set nb_sh_good 1
+set nb_sol_good 0
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 30
+
+set 3dviewer 1
diff --git a/tests/bugs/modalg_5/bug25450_2 b/tests/bugs/modalg_5/bug25450_2
new file mode 100644 (file)
index 0000000..fbac40d
--- /dev/null
@@ -0,0 +1,27 @@
+puts "================"
+puts "OCC25450"
+puts "================"
+puts ""
+####################################
+# Common operation returns wrong shape
+####################################
+
+restore [locate_data_file bug25450_b1.brep] b1
+restore [locate_data_file bug25450_b2.brep] b2
+
+bop b1 b2
+bopcommon result
+
+set square 35538.3
+
+set nb_v_good 4
+set nb_e_good 4
+set nb_w_good 1
+set nb_f_good 1
+set nb_sh_good 1
+set nb_sol_good 0
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 12
+
+set 3dviewer 1