X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Feature.h;h=6d7955f4b1dee713b9149faa581656770c1f5155;hb=7f5d3b6de3d879b6a11389c06a6f183b2fa5a1b2;hp=b55e7984621a922f9c7ae197a88bb67c71019648;hpb=103633b49d995fe6001e226ccdcc8ca48b9cb4e6;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Feature.h b/src/ModelAPI/ModelAPI_Feature.h index b55e79846..6d7955f4b 100644 --- a/src/ModelAPI/ModelAPI_Feature.h +++ b/src/ModelAPI/ModelAPI_Feature.h @@ -40,6 +40,10 @@ public: /// Returns true if this feature must be displayed in the history (top level of Part tree) MODELAPI_EXPORT virtual bool isInHistory() {return true;} + /// Returns true if this feature must not be created: this is just an action + /// that is not stored in the features history (like delete part). + MODELAPI_EXPORT virtual bool isAction() {return false;} + /// Returns the data manager of this feature MODELAPI_EXPORT virtual boost::shared_ptr data() {return myData;} @@ -52,6 +56,10 @@ public: MODELAPI_EXPORT virtual boost::shared_ptr document() {return myDoc;} + /// Returns true if feature refers to the same model data instance + MODELAPI_EXPORT virtual bool isSame(const boost::shared_ptr& theFeature) + {return theFeature.get() == this;} + /// To virtually destroy the fields of successors virtual ~ModelAPI_Feature() {} @@ -62,11 +70,16 @@ protected: {} /// Sets the data manager of an object (document does) - MODELAPI_EXPORT void setData(boost::shared_ptr theData) {myData = theData;} + MODELAPI_EXPORT virtual void setData(boost::shared_ptr theData) + {myData = theData;} /// Sets the data manager of an object (document does) MODELAPI_EXPORT void setDoc(boost::shared_ptr theDoc) {myDoc = theDoc;} friend class Model_Document; }; +//! Pointer on feature object +typedef boost::shared_ptr FeaturePtr; + + #endif