Salome HOME
Boost has been removed from code
[modules/shaper.git] / src / Model / Model_ResultGroup.h
1 // File:        Model_ResultGroup.h
2 // Created:     08 Jul 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef Model_ResultGroup_H_
6 #define Model_ResultGroup_H_
7
8 #include "Model.h"
9 #include <ModelAPI_ResultGroup.h>
10
11 /**\class ModelAPI_ResultGroup
12  * \ingroup DataModel
13  * \brief The groups result.
14  *
15  * Provides a compound of selected elements, without storage, one the fly.
16  */
17 class Model_ResultGroup : public ModelAPI_ResultGroup
18 {
19   std::shared_ptr<ModelAPI_Data> myOwnerData;  ///< data of owner of this result
20 public:
21   /// Returns the compound of selected entities
22   MODEL_EXPORT virtual std::shared_ptr<GeomAPI_Shape> shape() const;
23
24   /// Removes the stored builders
25   MODEL_EXPORT virtual ~Model_ResultGroup() {}
26
27 protected:
28   /// Makes a body on the given feature data
29   Model_ResultGroup(std::shared_ptr<ModelAPI_Data> theOwnerData);
30
31   friend class Model_Document;
32 };
33
34 #endif