1 // File: FeaturesPlugin_Group.h
2 // Created: 08 Oct 2014
3 // Author: Sergey BELASH
5 #ifndef FEATURESPLUGIN_GROUP_H_
6 #define FEATURESPLUGIN_GROUP_H_
8 #include "FeaturesPlugin.h"
9 #include <ModelAPI_Feature.h>
10 #include <GeomAPI_Shape.h>
12 class FeaturesPlugin_Group : public ModelAPI_Feature
16 inline static const std::string& ID()
18 static const std::string MY_GROUP_ID("Group");
21 /// attribute name of group type
22 inline static const std::string& NAME_ID()
24 static const std::string MY_GROUP_NAME_ID("group_name");
25 return MY_GROUP_NAME_ID;
27 /// attribute name of group type
28 inline static const std::string& TYPE_ID()
30 static const std::string MY_GROUP_TYPE_ID("group_type");
31 return MY_GROUP_TYPE_ID;
33 /// attribute name of selected entities list
34 inline static const std::string& LIST_ID()
36 static const std::string MY_GROUP_LIST_ID("group_list");
37 return MY_GROUP_LIST_ID;
40 /// Returns the kind of a feature
41 FEATURESPLUGIN_EXPORT virtual const std::string& getKind()
43 static std::string MY_KIND = FeaturesPlugin_Group::ID();
47 /// Creates a new part document if needed
48 FEATURESPLUGIN_EXPORT virtual void execute();
50 /// Request for initialization of data model of the feature: adding all attributes
51 FEATURESPLUGIN_EXPORT virtual void initAttributes();
53 /// Use plugin manager for features creation
54 FeaturesPlugin_Group();