From: emv Date: Wed, 29 Jul 2015 12:29:42 +0000 (+0300) Subject: 0026420: BOPAlgo_Builder resets "Closed" flag in the result X-Git-Tag: V7_0_0_beta~397 X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=c5d8782cfd4f16b148cca4c5cb2bdeac57b0b599 0026420: BOPAlgo_Builder resets "Closed" flag in the result Set flag Closed to new Wires and Shells created in General Fuse algorithm if necessary. Test-cases for issue #26420 --- diff --git a/src/BOPAlgo/BOPAlgo_BuilderFace.cxx b/src/BOPAlgo/BOPAlgo_BuilderFace.cxx index 19885937d7..0f3492ed00 100644 --- a/src/BOPAlgo/BOPAlgo_BuilderFace.cxx +++ b/src/BOPAlgo/BOPAlgo_BuilderFace.cxx @@ -434,6 +434,7 @@ void BOPAlgo_BuilderFace::PerformLoops() }//for (; aIt.More(); aIt.Next()) { }//for (; aItE.More(); aItE.Next()) { }//for (; aItW.More(); aItW.Next()) { + aW.Closed(BRep_Tool::IsClosed(aW)); myLoopsInternal.Append(aW); }//for (i = 1; (i <= aNbEA) && bFlag; ++i) { } @@ -804,6 +805,7 @@ void MakeInternalWires(const BOPCol_IndexedMapOfShape& theME, } } } + aW.Closed(BRep_Tool::IsClosed(aW)); theWires.Append(aW); } } diff --git a/src/BOPAlgo/BOPAlgo_Builder_1.cxx b/src/BOPAlgo/BOPAlgo_Builder_1.cxx index bc7716ed81..0801e1a7e9 100644 --- a/src/BOPAlgo/BOPAlgo_Builder_1.cxx +++ b/src/BOPAlgo/BOPAlgo_Builder_1.cxx @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -239,6 +240,8 @@ } } // + aCIm.Closed(BRep_Tool::IsClosed(aCIm)); + // BOPCol_ListOfShape aLSIm(myAllocator); aLSIm.Append(aCIm); myImages.Bind(theS, aLSIm); diff --git a/src/BOPAlgo/BOPAlgo_WireSplitter.lxx b/src/BOPAlgo/BOPAlgo_WireSplitter.lxx index 01fa726fb8..d3481e7619 100644 --- a/src/BOPAlgo/BOPAlgo_WireSplitter.lxx +++ b/src/BOPAlgo/BOPAlgo_WireSplitter.lxx @@ -13,6 +13,7 @@ // commercial license or contractual agreement. #include +#include #include @@ -85,7 +86,7 @@ typedef NCollection_IndexedDataMap