1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
3 // File: FeaturesPlugin_Group.h
4 // Created: 08 Oct 2014
5 // Author: Sergey BELASH
7 #ifndef FEATURESPLUGIN_GROUP_H_
8 #define FEATURESPLUGIN_GROUP_H_
10 #include "FeaturesPlugin.h"
11 #include <ModelAPI_Feature.h>
12 #include <GeomAPI_Shape.h>
14 class FeaturesPlugin_Group : public ModelAPI_Feature
18 inline static const std::string& ID()
20 static const std::string MY_GROUP_ID("Group");
23 /// attribute name of group name
24 //inline static const std::string& NAME_ID()
26 // static const std::string MY_GROUP_NAME_ID("group_name");
27 // return MY_GROUP_NAME_ID;
29 /// attribute name of selected entities list
30 inline static const std::string& LIST_ID()
32 static const std::string MY_GROUP_LIST_ID("group_list");
33 return MY_GROUP_LIST_ID;
36 /// Returns the kind of a feature
37 FEATURESPLUGIN_EXPORT virtual const std::string& getKind()
39 static std::string MY_KIND = FeaturesPlugin_Group::ID();
43 /// Creates a new part document if needed
44 FEATURESPLUGIN_EXPORT virtual void execute();
46 /// Request for initialization of data model of the feature: adding all attributes
47 FEATURESPLUGIN_EXPORT virtual void initAttributes();
49 /// Result of groups is created on the fly and don't stored to the document
50 FEATURESPLUGIN_EXPORT virtual bool isPersistentResult() {return true;}
52 /// Use plugin manager for features creation
53 FeaturesPlugin_Group();