1 // File: FeaturesPlugin_Extrusion.h
2 // Created: 30 May 2014
3 // Author: Vitaly SMETANNIKOV
5 #ifndef FeaturesPlugin_Extrusion_H_
6 #define FeaturesPlugin_Extrusion_H_
8 #include "FeaturesPlugin.h"
9 #include <ModelAPI_Feature.h>
11 class FeaturesPlugin_Extrusion : public ModelAPI_Feature
15 inline static const std::string& ID()
17 static const std::string MY_EXTRUSION_ID("Extrusion");
18 return MY_EXTRUSION_ID;
20 /// attribute name of referenced face
21 inline static const std::string& FACE_ID()
23 static const std::string MY_FACE_ID("extrusion_face");
26 /// attribute name of extrusion size
27 inline static const std::string& SIZE_ID()
29 static const std::string MY_SIZE_ID("extrusion_size");
32 /// attribute name of reverse direction
33 inline static const std::string& REVERSE_ID()
35 static const std::string MY_REVERSE_ID("extrusion_reverse");
39 /// Returns the kind of a feature
40 FEATURESPLUGIN_EXPORT virtual const std::string& getKind()
42 static std::string MY_KIND = FeaturesPlugin_Extrusion::ID();
46 /// Creates a new part document if needed
47 FEATURESPLUGIN_EXPORT virtual void execute();
49 /// Request for initialization of data model of the feature: adding all attributes
50 FEATURESPLUGIN_EXPORT virtual void initAttributes();
52 /// Use plugin manager for features creation
53 FeaturesPlugin_Extrusion();