From ceb31c6156839c4a96563cbe288fdc1e3bc3cc46 Mon Sep 17 00:00:00 2001 From: pkv Date: Fri, 21 Nov 2014 13:48:35 +0300 Subject: [PATCH] 0025450: Common operation returns wrong shape 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 | 5 +++-- tests/bugs/modalg_2/bug497_3 | 2 +- tests/bugs/modalg_5/bug25450_1 | 26 ++++++++++++++++++++++++++ tests/bugs/modalg_5/bug25450_2 | 27 +++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 tests/bugs/modalg_5/bug25450_1 create mode 100644 tests/bugs/modalg_5/bug25450_2 diff --git a/src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx b/src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx index 79dd5ec38f..9b1b3207a8 100644 --- a/src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx +++ b/src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx @@ -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; } diff --git a/tests/bugs/modalg_2/bug497_3 b/tests/bugs/modalg_2/bug497_3 index d5a7166f19..22cea61e68 100755 --- a/tests/bugs/modalg_2/bug497_3 +++ b/tests/bugs/modalg_2/bug497_3 @@ -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 index 0000000000..16a9f4826f --- /dev/null +++ b/tests/bugs/modalg_5/bug25450_1 @@ -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 index 0000000000..fbac40d55c --- /dev/null +++ b/tests/bugs/modalg_5/bug25450_2 @@ -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 -- 2.20.1