myListOfMakeShape = theMakeShapeList;
}
+//=================================================================================================
+void GeomAlgoAPI_MakeShapeList::append(const std::shared_ptr<GeomAlgoAPI_MakeShape> theMakeShape)
+{
+ myListOfMakeShape.push_back(theMakeShape);
+}
+
+//=================================================================================================
+void GeomAlgoAPI_MakeShapeList::append(const GeomAlgoAPI_MakeShapeList& theMakeShapeList)
+{
+ for(ListOfMakeShape::const_iterator anIt = theMakeShapeList.myListOfMakeShape.cbegin();
+ anIt != theMakeShapeList.myListOfMakeShape.cend(); anIt++) {
+ myListOfMakeShape.push_back(*anIt);
+ }
+}
+
//=================================================================================================
const std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_MakeShapeList::shape() const
{
bool GeomAlgoAPI_MakeShapeList::isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape)
{
for(ListOfMakeShape::iterator aBuilderIt = myListOfMakeShape.begin(); aBuilderIt != myListOfMakeShape.end(); aBuilderIt++) {
- BRepBuilderAPI_MakeShape* aBuilder = (*aBuilderIt)->implPtr<BRepBuilderAPI_MakeShape>();
- if(aBuilder && (aBuilder->IsDeleted(theShape->impl<TopoDS_Shape>()) == Standard_True)) {
+ std::shared_ptr<GeomAlgoAPI_MakeShape> aMakeShape = *aBuilderIt;
+ if(aMakeShape->isDeleted(theShape)) {
return true;
}
}
std::shared_ptr<GeomAPI_Shape> aShape(new GeomAPI_Shape);
aShape->setImpl(new TopoDS_Shape(aShapeIt.Value()));
ListOfShape aGeneratedShapes;
+ const TopoDS_Shape& aSh = aShape->impl<TopoDS_Shape>();
aMakeShape->generated(aShape, aGeneratedShapes);
for(ListOfShape::const_iterator anIt = aGeneratedShapes.cbegin(); anIt != aGeneratedShapes.cend(); anIt++) {
aTempShapes.Add((*anIt)->impl<TopoDS_Shape>());
theHistory.push_back(aShape);
}
}
-