- virtual void modified(const boost::shared_ptr<GeomAPI_Shape>& theOldShape,
- const boost::shared_ptr<GeomAPI_Shape>& theNewShape, const int theTag = 1) = 0;
-
- /// Records the shape oldShape which was deleted from the current label.
- /// As an example, consider the case of a face removed by a Boolean operation.
- virtual void deleted(
- const boost::shared_ptr<GeomAPI_Shape>& theOldShape, const int theTag = 1) = 0;
+ MODELAPI_EXPORT virtual void modified(const GeomShapePtr& theOldShape,
+ const GeomShapePtr& theNewShape,
+ const std::string& theName = "");
+
+ /// load deleted shapes
+ MODELAPI_EXPORT
+ virtual void loadDeletedShapes(const std::shared_ptr<GeomAlgoAPI_MakeShape>& theAlgo,
+ const GeomShapePtr& theOldShape,
+ const GeomAPI_Shape::ShapeType theShapeTypeToExplore,
+ const GeomShapePtr& theShapesToExclude = GeomShapePtr());
+
+ /// load and orient modified shapes
+ MODELAPI_EXPORT
+ virtual void loadModifiedShapes(const std::shared_ptr<GeomAlgoAPI_MakeShape>& theAlgo,
+ const GeomShapePtr& theOldShape,
+ const GeomAPI_Shape::ShapeType theShapeTypeToExplore,
+ const std::string& theName = "") = 0;
+
+ /// load and orient generated shapes
+ MODELAPI_EXPORT
+ virtual void loadGeneratedShapes(const std::shared_ptr<GeomAlgoAPI_MakeShape>& theAlgo,
+ const GeomShapePtr& theOldShape,
+ const GeomAPI_Shape::ShapeType theShapeTypeToExplore,
+ const std::string& theName = "",
+ const bool theSaveOldIfNotInTree = false) = 0;
+
+ /// load shapes of the first level (to be used during shape import)
+ MODELAPI_EXPORT virtual void loadFirstLevel(GeomShapePtr theShape,
+ const std::string& theName);
+
+ /// Returns true is the topology is connected.
+ MODELAPI_EXPORT virtual bool isConnectedTopology() = 0;
+
+ /// Set displayed flag to the result and all sub results
+ /// \param theDisplay a boolean value
+ MODELAPI_EXPORT virtual void setDisplayed(const bool theDisplay);
+
+ /// Updates the sub-bodies if shape of this object is compsolid or compound
+ MODELAPI_EXPORT virtual void updateSubs(const GeomShapePtr& theThisShape,
+ const bool theShapeChanged = true) = 0;
+
+ /// Updates the sub-bodies in accordance to the algorithm history information
+ MODELAPI_EXPORT virtual void updateSubs(
+ const GeomShapePtr& theThisShape, const std::list<GeomShapePtr>& theOlds,
+ const std::shared_ptr<GeomAlgoAPI_MakeShape> theMakeShape, const bool isGenerated) = 0;
+
+ /// Cleans cash related to the already stored elements
+ MODELAPI_EXPORT virtual void cleanCash() = 0;