const bool theIsMakeCompSolids)
{
BOPAlgo_PaveFiller* aPaveFiller = new BOPAlgo_PaveFiller;
- BOPCol_ListOfShape aListOfShape;
+ TopTools_ListOfShape aListOfShape;
for(ListOfShape::const_iterator
anIt = theListOfShape.cbegin(); anIt != theListOfShape.cend(); anIt++) {
const TopoDS_Shape& aShape = (*anIt)->impl<TopoDS_Shape>();
#include <GeomAPI_Wire.h>
#include <Bnd_Box.hxx>
-#include <BOPTools.hxx>
#include <BRep_Builder.hxx>
#include <BRepAdaptor_Curve.hxx>
#include <BRepAlgo.hxx>
}
// Map subshapes and shapes.
- BOPCol_IndexedDataMapOfShapeListOfShape aMapSA;
- BOPTools::MapShapesAndAncestors(aShapesComp, aTS, aTA, aMapSA);
+ TopTools_IndexedDataMapOfShapeListOfShape aMapSA;
+ TopExp::MapShapesAndAncestors(aShapesComp, aTS, aTA, aMapSA);
if(aMapSA.IsEmpty()) {
return aResult;
}
// Get all shapes with common subshapes and free shapes.
NCollection_Map<TopoDS_Shape> aFreeShapes;
NCollection_Vector<NCollection_Map<TopoDS_Shape>> aShapesWithCommonSubshapes;
- for(BOPCol_IndexedDataMapOfShapeListOfShape::Iterator
+ for(TopTools_IndexedDataMapOfShapeListOfShape::Iterator
anIter(aMapSA); anIter.More(); anIter.Next()) {
const TopoDS_Shape& aShape = anIter.Key();
- BOPCol_ListOfShape& aListOfShape = anIter.ChangeValue();
+ TopTools_ListOfShape& aListOfShape = anIter.ChangeValue();
if(aListOfShape.IsEmpty()) {
continue;
}
for(NCollection_List<TopoDS_Shape>::Iterator
aTempIter(aTempList); aTempIter.More(); aTempIter.Next()) {
const TopoDS_Shape& aTempShape = aTempIter.Value();
- for(BOPCol_IndexedDataMapOfShapeListOfShape::Iterator
+ for(TopTools_IndexedDataMapOfShapeListOfShape::Iterator
anIter(aMapSA); anIter.More(); anIter.Next()) {
- BOPCol_ListOfShape& aTempListOfShape = anIter.ChangeValue();
+ TopTools_ListOfShape& aTempListOfShape = anIter.ChangeValue();
if(aTempListOfShape.IsEmpty()) {
continue;
} else if(aTempListOfShape.Size() == 1 && aTempListOfShape.First() == aTempShape) {
// Iterate over all shapes and find shapes with shared vertices.
TopTools_ListOfShape aMapOrder;
- BOPCol_DataMapOfShapeListOfShape aVertexShapesMap;
+ TopTools_DataMapOfShapeListOfShape aVertexShapesMap;
for(NCollection_List<TopoDS_Shape>::Iterator aShapesIt(anUngroupedShapes);
aShapesIt.More();
aShapesIt.Next()) {
BOPAlgo_Builder aBB;
aBB.AddArgument(aPlnFace);
- BOPCol_ListOfShape anEdges;
- BOPCol_ListIteratorOfListOfShape aShapeIt;
+ NCollection_List<TopoDS_Shape> anEdges;
+ NCollection_List<TopoDS_Shape>::Iterator aShapeIt;
std::list<std::shared_ptr<GeomAPI_Shape> >::const_iterator aFeatIt = theFeatures.begin();
for (; aFeatIt != theFeatures.end(); aFeatIt++) {
std::shared_ptr<GeomAPI_Shape> aShape(*aFeatIt);
this->setImpl(aUnifyAlgo);
aUnifyAlgo->Initialize(aShell);
- aUnifyAlgo->UnifyFacesAndEdges();
aUnifyAlgo->Build();
TopoDS_Shape aResult = aUnifyAlgo->Shape();
#include <GEOMAlgo_Splitter.hxx>
#include <TopAbs_ShapeEnum.hxx>
-
+#include <TopExp.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Iterator.hxx>
#include <BRep_Builder.hxx>
-#include <BOPCol_MapOfShape.hxx>
-#include <BOPCol_ListOfShape.hxx>
-
-#include <BOPTools.hxx>
-
-
static
void TreatCompound(const TopoDS_Shape& aC,
- BOPCol_ListOfShape& aLSX);
+ NCollection_List<TopoDS_Shape>& aLSX);
//=======================================================================
//function :
//function : Tools
//purpose :
//=======================================================================
-const BOPCol_ListOfShape& GEOMAlgo_Splitter::Tools()const
+const NCollection_List<TopoDS_Shape>& GEOMAlgo_Splitter::Tools()const
{
return myTools;
}
{
TopAbs_ShapeEnum aType;
BRep_Builder aBB;
- BOPCol_MapOfShape aM;
- BOPCol_ListIteratorOfListOfShape aIt, aItIm;
+ NCollection_Map<TopoDS_Shape> aM;
+ NCollection_List<TopoDS_Shape>::Iterator aIt, aItIm;
//
aIt.Initialize(myArguments);
for (; aIt.More(); aIt.Next()) {
aType=aS.ShapeType();
if (aType==theType && !myMapTools.Contains(aS)) {
if (myImages.IsBound(aS)) {
- const BOPCol_ListOfShape& aLSIm=myImages.Find(aS);
+ const NCollection_List<TopoDS_Shape>& aLSIm=myImages.Find(aS);
aItIm.Initialize(aLSIm);
for (; aItIm.More(); aItIm.Next()) {
const TopoDS_Shape& aSIm=aItIm.Value();
Standard_Integer i, aNbS;
BRep_Builder aBB;
TopoDS_Compound aC;
- BOPCol_IndexedMapOfShape aMx;
+ TopTools_IndexedMapOfShape aMx;
//
aBB.MakeCompound(aC);
//
- BOPTools::MapShapes(myShape, myLimit, aMx);
+ TopExp::MapShapes(myShape, myLimit, aMx);
aNbS=aMx.Extent();
for (i=1; i<=aNbS; ++i) {
const TopoDS_Shape& aS=aMx(i);
if (myLimitMode) {
Standard_Integer iType, iLimit, iTypeX;
TopAbs_ShapeEnum aType, aTypeX;
- BOPCol_ListOfShape aLSP, aLSX;
- BOPCol_ListIteratorOfListOfShape aIt, aItX, aItIm;
- BOPCol_MapOfShape aM;
+ NCollection_List<TopoDS_Shape> aLSP, aLSX;
+ NCollection_List<TopoDS_Shape>::Iterator aIt, aItX, aItIm;
+ NCollection_Map<TopoDS_Shape> aM;
//
iLimit=(Standard_Integer)myLimit;
//
}// for (; aIt.More(); aIt.Next()) {
//
aMx.Clear();
- BOPTools::MapShapes(aC, aMx);
+ TopExp::MapShapes(aC, aMx);
// 2. Add them to aC
aIt.Initialize(aLSP);
for (; aIt.More(); aIt.Next()) {
const TopoDS_Shape& aS=aIt.Value();
if (myImages.IsBound(aS)) {
- const BOPCol_ListOfShape& aLSIm=myImages.Find(aS);
+ const NCollection_List<TopoDS_Shape>& aLSIm=myImages.Find(aS);
aItIm.Initialize(aLSIm);
for (; aItIm.More(); aItIm.Next()) {
const TopoDS_Shape& aSIm=aItIm.Value();
//
Standard_Integer aNbS;
TopoDS_Iterator aIt;
- BOPCol_ListOfShape aLS;
+ NCollection_List<TopoDS_Shape> aLS;
//
aIt.Initialize(myShape);
for (; aIt.More(); aIt.Next()) {
//purpose :
//=======================================================================
void TreatCompound(const TopoDS_Shape& aC1,
- BOPCol_ListOfShape& aLSX)
+ NCollection_List<TopoDS_Shape>& aLSX)
{
Standard_Integer aNbC1;
TopAbs_ShapeEnum aType;
- BOPCol_ListOfShape aLC, aLC1;
- BOPCol_ListIteratorOfListOfShape aIt, aIt1;
+ NCollection_List<TopoDS_Shape> aLC, aLC1;
+ NCollection_List<TopoDS_Shape>::Iterator aIt, aIt1;
TopoDS_Iterator aItC;
//
aLC.Append (aC1);
#include <TopoDS_Shape.hxx>
-#include <BOPCol_ListOfShape.hxx>
-#include <BOPCol_MapOfShape.hxx>
-
#include <BOPAlgo_Builder.hxx>
//=======================================================================
GEOMALGOIMPL_EXPORT void AddTool(const TopoDS_Shape& theShape);
/// Returns list of tool shapes
- GEOMALGOIMPL_EXPORT const BOPCol_ListOfShape& Tools()const;
+ GEOMALGOIMPL_EXPORT const NCollection_List<TopoDS_Shape>& Tools()const;
/// Set type of used shapes
/// \param aLimit a shape type
protected:
/// List of tools
- BOPCol_ListOfShape myTools;
+ NCollection_List<TopoDS_Shape> myTools;
/// Map of tools
- BOPCol_MapOfShape myMapTools;
+ NCollection_Map<TopoDS_Shape> myMapTools;
/// A limit type
TopAbs_ShapeEnum myLimit;
check_owner("Extrusion_1_1/Generated_Face_1", "face", aBox)
check_owner("Boolean_2_1/Modified_Face_3", "face", aBox)
check_owner("Boolean_1_1/Modified_Face_1", "face", aHoleExt)
-check_owner("Boolean_2_1/Modified_Face_2", "face", aTower)
+check_owner("Boolean_2_1/Modified_Face_1", "face", aTower)
# check edges without ambiguity
-check_owner("Boolean_2_1/Modified_Face_3&Extrusion_1_1/Generated_Face_2", "edge", aBox)
-check_owner("Boolean_2_1/Modified_Face_2&Extrusion_3_1/To_Face_1_1", "edge", aTower)
+check_owner("Boolean_2_1/Modified_Face_2&Extrusion_1_1/Generated_Face_2", "edge", aBox)
+check_owner("Boolean_2_1/Modified_Face_1&Extrusion_3_1/To_Face_1_1", "edge", aTower)
# check the connected topology method: solid is not a compound of connected topology
assert(aFuse.firstResult().shape().isConnectedTopology() == False)
Group_1_objects = [model.selection("FACE", "Fillet_1_1/Modified_Face_3"), model.selection("FACE", "Fillet_1_1/Modified_Face_5"), model.selection("FACE", "Fillet_1_1/Modified_Face_9"), model.selection("FACE", "Fillet_1_1/Modified_Face_15")]
Group_1 = model.addGroup(Part_1_doc, Group_1_objects)
Group_2 = model.addGroup(Part_1_doc, [model.selection("EDGE", "Fillet_1_1/Fillet_Face_13&Fillet_1_1/Modified_Face_4"), model.selection("EDGE", "Fillet_1_1/Modified_Face_11&Fillet_1_1/Fillet_Face_13")])
-Group_3 = model.addGroup(Part_1_doc, [model.selection("VERTEX", "Fillet_1_1/Modified_Face_12&ExtrusionCut_1_1/Modfied_6&Fillet_1_1/Modified_Face_11"), model.selection("VERTEX", "ExtrusionCut_1_1/Modfied_6&Fillet_1_1/Modified_Face_11&Fillet_1_1/Modified_Face_6")])
+Group_3 = model.addGroup(Part_1_doc, [model.selection("VERTEX", "Fillet_1_1/Modified_Face_12&ExtrusionCut_1_1/Generated_Face_4&Fillet_1_1/Modified_Face_11"), model.selection("VERTEX", "ExtrusionCut_1_1/Generated_Face_4&Fillet_1_1/Modified_Face_11&Fillet_1_1/Modified_Face_6")])
model.do()
Folder_1 = model.addFolder(Part_1_doc, Sketch_3, ExtrusionCut_2)