MODELAPI_EXPORT virtual ~ModelAPI_BodyBuilder() {};
/// Stores the shape (called by the execution method).
- virtual void store(const std::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+ virtual void store(const std::shared_ptr<GeomAPI_Shape>& theShape,
+ const bool theIsStoreSameShapes = true) = 0;
/// Stores the generated shape (called by the execution method).
virtual void storeGenerated(const std::shared_ptr<GeomAPI_Shape>& theFromShape,
const int theKindOfShape,
const int theTag,
const std::string& theName,
- GeomAPI_DataMapOfShapeShape& theSubShapes) = 0;
+ GeomAPI_DataMapOfShapeShape& theSubShapes,
+ const bool theIsStoreSeparate = false) = 0;
/// load and orient generated shapes
virtual void loadAndOrientGeneratedShapes (
GeomAlgoAPI_MakeShape* theMS,
/// (theFlag = true) and back (theFlag = false)
virtual void evolutionToSelection(const bool theFlag) = 0;
+ /// Returns true if the latest modification of this body in the naming history
+ // is equal to the given shape
+ virtual bool isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+
protected:
/// Returns the data manager of this object: attributes
MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Data> data() const;