Salome HOME
Sources of the application adopted to RHEL6 x64. The newest version of Eclipse IDE...
[modules/shaper.git] / src / ModelAPI / ModelAPI_ResultPart.h
1 // File:        ModelAPI_ResultPart.h
2 // Created:     07 Jul 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef ModelAPI_ResultPart_HeaderFile
6 #define ModelAPI_ResultPart_HeaderFile
7
8 #include "ModelAPI_Result.h"
9
10 #include <string>
11
12 /**\class ModelAPI_ResultPart
13  * \ingroup DataModel
14  * \brief The Part document, result of a creation of new part feature.
15  *
16  * This result leaves without feature: no parametricity for this element,
17  * only add/remove, undo/redo.
18  */
19 class ModelAPI_ResultPart : public ModelAPI_Result
20 {
21 public:
22   /// Returns the group identifier of this result
23   virtual std::string groupName()
24     { return group(); }
25
26   /// Returns the group identifier of this result
27   static std::string group()
28     {static std::string MY_GROUP = "Parts"; return MY_GROUP;}
29
30   /// part document reference attribute
31   inline static const std::string& DOC_REF()
32   {
33     static const std::string MY_DOC_REF("PartDocument");
34     return MY_DOC_REF;
35   }
36
37   /// Returns the part-document of this result
38   virtual boost::shared_ptr<ModelAPI_Document> partDoc() = 0;
39 };
40
41 //! Pointer on feature object
42 typedef boost::shared_ptr<ModelAPI_ResultPart> ResultPartPtr;
43
44 #endif