Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / ParametersPlugin / ParametersPlugin_Parameter.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 // File:        ParametersPlugin_Parameter.h
4 // Created:     23 MArch 2015
5 // Author:      sbh
6
7 #ifndef PARAMETERSPLUGIN_PARAMETER_H_
8 #define PARAMETERSPLUGIN_PARAMETER_H_
9
10 #include "ParametersPlugin.h"
11 #include <ModelAPI_Feature.h>
12
13 class ParametersPlugin_Parameter : public ModelAPI_Feature
14 {
15  public:
16   /// Extrusion kind
17   inline static const std::string& ID()
18   {
19     static const std::string MY_EXTRUSION_ID("Parameter");
20     return MY_EXTRUSION_ID;
21   }
22   /// attribute name of references sketch entities list, it should contain a sketch result or
23   /// a pair a sketch result to sketch face
24   inline static const std::string& VARIABLE_ID()
25   {
26     static const std::string MY_VARIABLE_ID("variable");
27     return MY_VARIABLE_ID;
28   }
29
30   /// attribute name of extrusion size
31   inline static const std::string& EXPRESSION_ID()
32   {
33     static const std::string MY_EXPRESSION_ID("expression");
34     return MY_EXPRESSION_ID;
35   }
36
37   /// Returns the kind of a feature
38   PARAMETERSPLUGIN_EXPORT virtual const std::string& getKind()
39   {
40     static std::string MY_KIND = ParametersPlugin_Parameter::ID();
41     return MY_KIND;
42   }
43
44   /// Creates a new part document if needed
45   PARAMETERSPLUGIN_EXPORT virtual void execute();
46
47   /// Request for initialization of data model of the feature: adding all attributes
48   PARAMETERSPLUGIN_EXPORT virtual void initAttributes();
49
50   /// Use plugin manager for features creation
51   ParametersPlugin_Parameter();
52 };
53
54 #endif