]> OCCT Git - occt-copy.git/commitdiff
0025450: Common operation returns wrong shape
authorpkv <pkv@opencascade.com>
Fri, 21 Nov 2014 10:48:35 +0000 (13:48 +0300)
committervsr <vsr@opencascade.com>
Thu, 4 Dec 2014 06:38:18 +0000 (09:38 +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 79dd5ec38fd4721105f57e609bde0e7cd35a1ba0..9b1b3207a873cf7701fe40af5da9ce9c11508c41 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 d5a7166f19bb574878e8d06969b47c4f2f308773..22cea61e68fd6d7ff9884cd81d2264e887a4a3b6 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