]> SALOME platform Git repositories - modules/shaper.git/blob - src/Model/Model_ResultConstruction.h
Salome HOME
e312f6fdab9e4bed0c14aeadbdcbef63fab614a1
[modules/shaper.git] / src / Model / Model_ResultConstruction.h
1 // File:        ModelAPI_ResultConstruction.hxx
2 // Created:     07 Jul 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef Model_ResultConstruction_HeaderFile
6 #define Model_ResultConstruction_HeaderFile
7
8 #include "Model.h"
9 #include <ModelAPI_ResultConstruction.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 Model_ResultConstruction : public ModelAPI_ResultConstruction
19 {
20   boost::shared_ptr<ModelAPI_Feature> myOwner; ///< owner of this result
21   boost::shared_ptr<GeomAPI_Shape> myShape; ///< shape of this result created "on the fly"
22 public:
23   /// Sets the result
24   MODEL_EXPORT virtual void setShape(boost::shared_ptr<GeomAPI_Shape> theShape);
25   /// Returns the shape-result produced by this feature
26   MODEL_EXPORT virtual boost::shared_ptr<GeomAPI_Shape>& shape();
27   /// Returns the source feature of this result
28   //MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Feature> owner();
29
30 protected:
31   /// Makes a body on the given feature
32   Model_ResultConstruction();
33
34   friend class Model_Document;
35 };
36
37 #endif