Salome HOME
Initial version of redesign of working with results
[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 shape-result produced by this feature
22   virtual boost::shared_ptr<GeomAPI_Shape>& shape() = 0;
23
24   /// Sets the result
25   virtual void setShape(boost::shared_ptr<GeomAPI_Shape> theShape) = 0;
26 };
27
28 //! Pointer on feature object
29 typedef boost::shared_ptr<ModelAPI_ResultConstruction> ResultConstructionPtr;
30
31 #endif