1 // File: ModelAPI_ResultConstruction.hxx
2 // Created: 07 Jul 2014
3 // Author: Mikhail PONIKAROV
5 #ifndef Model_ResultConstruction_HeaderFile
6 #define Model_ResultConstruction_HeaderFile
9 #include <ModelAPI_ResultConstruction.h>
11 /**\class ModelAPI_ResultConstruction
13 * \brief The construction element result of a feature.
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.
18 class Model_ResultConstruction : public ModelAPI_ResultConstruction
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"
23 /// Returns the group identifier of this result
24 virtual std::string group()
25 {static std::string MY_GROUP = "Construction"; return MY_GROUP;}
27 MODEL_EXPORT virtual void setShape(boost::shared_ptr<GeomAPI_Shape> theShape);
28 /// Returns the shape-result produced by this feature
29 MODEL_EXPORT virtual boost::shared_ptr<GeomAPI_Shape>& shape();
30 /// Returns the source feature of this result
31 MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Feature> owner();
34 /// Makes a body on the given feature
35 Model_ResultConstruction();
37 friend class Model_Document;