Salome HOME
Added a unit-test for a sub-shell selection naming.
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_CompositeBoolean.h
index 1e6a28175fff134bfeb721c6c1761c1d7306aadf..237c62d9d934901b626312c9717b3180e6058de3 100644 (file)
@@ -50,6 +50,13 @@ public:
   /// 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(){};
 
@@ -72,15 +79,18 @@ protected:
   /// 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;