mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -28,6 +28,7 @@
|
||||
#include <BOPDS_VectorOfListOfPaveBlock.hxx>
|
||||
#include <BOPTools_AlgoTools.hxx>
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <IntTools_Context.hxx>
|
||||
#include <TopAbs_ShapeEnum.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
@@ -239,6 +240,8 @@
|
||||
}
|
||||
}
|
||||
//
|
||||
aCIm.Closed(BRep_Tool::IsClosed(aCIm));
|
||||
//
|
||||
BOPCol_ListOfShape aLSIm(myAllocator);
|
||||
aLSIm.Append(aCIm);
|
||||
myImages.Bind(theS, aLSIm);
|
||||
|
@@ -13,6 +13,7 @@
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
|
||||
#include <TopoDS_Edge.hxx>
|
||||
|
||||
@@ -85,7 +86,7 @@ typedef NCollection_IndexedDataMap<TopoDS_Shape, \
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
inline void BOPAlgo_WireSplitter::MakeWire(BOPCol_ListOfShape& aLE,
|
||||
TopoDS_Wire& aWire)
|
||||
TopoDS_Wire& aWire)
|
||||
{
|
||||
BRep_Builder aBB;
|
||||
aBB.MakeWire(aWire);
|
||||
@@ -94,4 +95,5 @@ typedef NCollection_IndexedDataMap<TopoDS_Shape, \
|
||||
for (; aIt.More(); aIt.Next()){
|
||||
aBB.Add(aWire, aIt.Value());
|
||||
}
|
||||
aWire.Closed(BRep_Tool::IsClosed(aWire));
|
||||
}
|
||||
|
Reference in New Issue
Block a user