Salome HOME
Issue #273: Add copyright string
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_Group.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 // File:        FeaturesPlugin_Group.h
4 // Created:     08 Oct 2014
5 // Author:      Sergey BELASH
6
7 #ifndef FEATURESPLUGIN_GROUP_H_
8 #define FEATURESPLUGIN_GROUP_H_
9
10 #include "FeaturesPlugin.h"
11 #include <ModelAPI_Feature.h>
12 #include <GeomAPI_Shape.h>
13
14 class FeaturesPlugin_Group : public ModelAPI_Feature
15 {
16  public:
17   /// Extrusion kind
18   inline static const std::string& ID()
19   {
20     static const std::string MY_GROUP_ID("Group");
21     return MY_GROUP_ID;
22   }
23   /// attribute name of group name
24   //inline static const std::string& NAME_ID()
25   //{
26   //  static const std::string MY_GROUP_NAME_ID("group_name");
27   //  return MY_GROUP_NAME_ID;
28   //}
29   /// attribute name of selected entities list
30   inline static const std::string& LIST_ID()
31   {
32     static const std::string MY_GROUP_LIST_ID("group_list");
33     return MY_GROUP_LIST_ID;
34   }
35
36   /// Returns the kind of a feature
37   FEATURESPLUGIN_EXPORT virtual const std::string& getKind()
38   {
39     static std::string MY_KIND = FeaturesPlugin_Group::ID();
40     return MY_KIND;
41   }
42
43   /// Creates a new part document if needed
44   FEATURESPLUGIN_EXPORT virtual void execute();
45
46   /// Request for initialization of data model of the feature: adding all attributes
47   FEATURESPLUGIN_EXPORT virtual void initAttributes();
48
49   /// Result of groups is created on the fly and don't stored to the document
50   FEATURESPLUGIN_EXPORT virtual bool isPersistentResult() {return true;}
51
52   /// Use plugin manager for features creation
53   FeaturesPlugin_Group();
54
55 };
56
57 #endif