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