/// Creates a new part document if needed.
FEATURESPLUGIN_EXPORT virtual void executeCompositeBoolean();
+protected:
+ struct ResultBaseAlgo {
+ ResultBodyPtr resultBody;
+ GeomShapePtr baseShape;
+ std::shared_ptr<GeomAlgoAPI_MakeShape> makeShape;
+ };
+
protected:
FeaturesPlugin_CompositeBoolean(){};
/// Stores generation history.
virtual void storeGenerationHistory(ResultBodyPtr theResultBody,
const GeomShapePtr theBaseShape,
- const std::shared_ptr<GeomAlgoAPI_MakeShape> theMakeShape,
- int& theTag) = 0;
+ const GeomMakeShapePtr theMakeShape) = 0;
/// Stores modification history.
void storeModificationHistory(ResultBodyPtr theResultBody,
const GeomShapePtr theObject,
const ListOfShape& theTools,
- const std::shared_ptr<GeomAlgoAPI_MakeShape> theMakeShape,
- int& theTag);
+ const std::shared_ptr<GeomAlgoAPI_MakeShape> theMakeShape);
+
+ /// Stores deleted shapes.
+ void storeDeletedShapes(std::vector<ResultBaseAlgo>& theResultBaseAlgoList,
+ const ListOfShape& theTools,
+ const GeomShapePtr theResultShapesCompound);
protected:
ModelAPI_Feature* myFeature;