- static void storeModifiedShapes(GeomAlgoAPI_MakeShape& theAlgo,
- std::shared_ptr<ModelAPI_ResultBody> theResultBody,
- std::shared_ptr<GeomAPI_Shape> theBaseShape,
- const int theFaceTag,
- const int theEdgeTag,
- const int theVertexTag,
- const std::string theName,
- GeomAPI_DataMapOfShapeShape& theSubShapes);
+ struct ResultBaseAlgo {
+ ResultBodyPtr resultBody;
+ GeomShapePtr baseShape;
+ GeomMakeShapePtr makeShape;
+ };
+
+public:
+ static void loadModifiedShapes(ResultBodyPtr theResultBody,
+ const ListOfShape& theBaseShapes,
+ const ListOfShape& theTools,
+ const GeomMakeShapePtr& theMakeShape,
+ const GeomShapePtr theResultShape,
+ const std::string& theNamePrefix = "");
+
+ static void loadModifiedShapes(ResultBodyPtr theResultBody,
+ const GeomShapePtr& theBaseShape,
+ const GeomMakeShapePtr& theMakeShape,
+ const std::string theName);
+ /// Stores deleted shapes.
+ static void loadDeletedShapes(ResultBodyPtr theResultBody,
+ const GeomShapePtr theBaseShape,
+ const ListOfShape& theTools,
+ const GeomMakeShapePtr& theMakeShape,
+ const GeomShapePtr theResultShapesCompound);
+
+ /// Stores deleted shapes.
+ static void loadDeletedShapes(std::vector<ResultBaseAlgo>& theResultBaseAlgoList,
+ const ListOfShape& theTools,
+ const GeomShapePtr theResultShapesCompound);
+
+ /// Obtain shapes from the selection list attribute.
+ static bool getShape(const std::shared_ptr<ModelAPI_AttributeSelectionList> theSelectionList,
+ const bool theShareTopology,
+ ListOfShape& theShapesList,
+ std::string& theError);