X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_ResultBody.h;h=ad5846e0f10a84927141a7b1f729b954c35d2bad;hb=1cef78af4c4328ecf99a3ced86bda38e6e82e15c;hp=7565d07bfeaab1c80b81aafe71b07961b114b7a4;hpb=a0213a717ed73a3fa2846a9c52ef4ec361c6bdfc;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_ResultBody.h b/src/ModelAPI/ModelAPI_ResultBody.h index 7565d07bf..ad5846e0f 100644 --- a/src/ModelAPI/ModelAPI_ResultBody.h +++ b/src/ModelAPI/ModelAPI_ResultBody.h @@ -44,8 +44,11 @@ public: return RESULT_BODY_COLOR; } - /// Stores the shape (called by the execution method). - MODELAPI_EXPORT virtual void store(const std::shared_ptr& theShape); + /// \brief Stores the shape (called by the execution method). + /// param[in] theShape shape to store. + /// param[in] theIsStoreSameShapes if false stores reference to the same shape if it is already in document. + MODELAPI_EXPORT virtual void store(const std::shared_ptr& theShape, + const bool theIsStoreSameShapes = true); /// Stores the generated shape (called by the execution method). MODELAPI_EXPORT virtual void storeGenerated(const std::shared_ptr& theFromShape, @@ -55,6 +58,10 @@ public: MODELAPI_EXPORT virtual void storeModified(const std::shared_ptr& theOldShape, const std::shared_ptr& theNewShape, const int theDecomposeSolidsTag = 0); + /// Stores the shape without naming support + MODELAPI_EXPORT virtual void storeWithoutNaming( + const std::shared_ptr& theShape); + /// Returns the shape-result produced by this feature MODELAPI_EXPORT virtual std::shared_ptr shape(); @@ -89,7 +96,7 @@ public: /// load and orient modified shapes MODELAPI_EXPORT virtual void loadAndOrientModifiedShapes (GeomAlgoAPI_MakeShape* theMS, std::shared_ptr theShapeIn, const int theKindOfShape, const int theTag, - const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes); + const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes, const bool theIsStoreSeparate = false); /// load and orient generated shapes MODELAPI_EXPORT virtual void loadAndOrientGeneratedShapes (GeomAlgoAPI_MakeShape* theMS, std::shared_ptr theShapeIn, const int theKindOfShape, @@ -107,10 +114,15 @@ public: MODELAPI_EXPORT virtual void loadDisconnectedVertexes(std::shared_ptr theShape, const std::string& theName,int& theTag); + /// Returns true if the latest modification of this body in the naming history + // is equal to the given shape + MODELAPI_EXPORT virtual bool isLatestEqual(const std::shared_ptr& theShape) = 0; + protected: + /// Default constructor accessible only from Model_Objects MODELAPI_EXPORT ModelAPI_ResultBody(); - ModelAPI_BodyBuilder* myBuilder; /// provide the body processing in naming shape + ModelAPI_BodyBuilder* myBuilder; ///< provides the body processing in naming shape }; //! Pointer on feature object