Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / Model / Model_ResultPart.h
1 // File:        ModelAPI_ResultPart.hxx
2 // Created:     07 Jul 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef Model_ResultPart_H_
6 #define Model_ResultPart_H_
7
8 #include "Model.h"
9 #include <ModelAPI_ResultPart.h>
10
11 /**\class ModelAPI_ResultPart
12  * \ingroup DataModel
13  * \brief The Part document, result of a creation of new part feature.
14  *
15  * This result leaves without feature: no parametricity for this element,
16  * only add/remove, undo/redo.
17  */
18 class Model_ResultPart : public ModelAPI_ResultPart
19 {
20 public:
21   /// Returns the part-document of this result
22   MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Document> partDoc();
23   /// Part has no stored feature: this method returns NULL
24   MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Feature> owner();
25
26 protected:
27   /// makes a result on a temporary feature (an action)
28   Model_ResultPart();
29
30   /// Sets the data manager of an object (document does), here also attributes are initialized
31   virtual void setData(boost::shared_ptr<ModelAPI_Data> theData);
32
33   friend class Model_Document;
34 };
35
36 #endif