Salome HOME
Adaptation to new Model architecture
[modules/shaper.git] / src / ModelAPI / ModelAPI_ResultConstruction.h
1 // File:        ModelAPI_ResultConstruction.h
2 // Created:     07 Jul 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef ModelAPI_ResultConstruction_HeaderFile
6 #define ModelAPI_ResultConstruction_HeaderFile
7
8 #include "ModelAPI_Result.h"
9 #include <GeomAPI_Shape.h>
10
11 /**\class ModelAPI_ResultConstruction
12  * \ingroup DataModel
13  * \brief The construction element result of a feature.
14  *
15  * Provides a shape that may be displayed in the viewer.
16  * Intermediate, light result that in many cases produces a result on the fly.
17  */
18 class ModelAPI_ResultConstruction : public ModelAPI_Result
19 {
20 public:
21   /// Returns the group identifier of this result
22   virtual std::string groupName()
23     { return group(); }
24
25   /// Returns the group identifier of this result
26   static std::string group()
27     {static std::string MY_GROUP = "Construction"; return MY_GROUP;}
28
29
30   /// Returns the shape-result produced by this feature
31   virtual boost::shared_ptr<GeomAPI_Shape>& shape() = 0;
32
33   /// Sets the result
34   virtual void setShape(boost::shared_ptr<GeomAPI_Shape> theShape) = 0;
35 };
36
37 //! Pointer on feature object
38 typedef boost::shared_ptr<ModelAPI_ResultConstruction> ResultConstructionPtr;
39
40 #endif