Salome HOME
64240ce38b63a274007d598aea7fc91a8b24cca6
[modules/shaper.git] / src / ModelAPI / ModelAPI_Object.h
1 // File:        ModelAPI_Object.hxx
2 // Created:     19 May 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef ModelAPI_Object_HeaderFile
6 #define ModelAPI_Object_HeaderFile
7
8 #include "ModelAPI_Feature.h"
9
10 /**\class ModelAPI_Object
11  * \ingroup DataModel
12  * \brief Represents the result of some feature in the object browser
13  * under the specific folder. Just a reference to specific feature-operation
14  * with possibility to rename it.
15  */
16 class ModelAPI_Object : public ModelAPI_Feature
17 {
18 public:
19
20   /// It is never located in history
21   MODELAPI_EXPORT virtual bool isInHistory() {return false;}
22
23   /// Reference to the feature-operation that produces this object
24   MODELAPI_EXPORT virtual boost::shared_ptr<ModelAPI_Feature> featureRef() = 0;
25
26   /// Returns the name of this object (by default equal to the name of feature)
27   MODELAPI_EXPORT virtual std::string getName() = 0;
28
29   /// Defines the name of the object
30   MODELAPI_EXPORT virtual void setName(std::string theName) = 0;
31 };
32
33 #endif