1 // File: FeaturesPlugin_Extrusion.h
2 // Created: 30 May 2014
3 // Author: Vitaly SMETANNIKOV
5 #ifndef FeaturesPlugin_Extrusion_HeaderFile
6 #define FeaturesPlugin_Extrusion_HeaderFile
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()
41 { static std::string MY_KIND = FeaturesPlugin_Extrusion::ID(); return MY_KIND; }
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 /// Use plugin manager for features creation
50 FeaturesPlugin_Extrusion();