Salome HOME
Documentation fixes.
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_ExtrusionBoolean.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        FeaturesPlugin_ExtrusionBoolean.h
4 // Created:     11 June 2015
5 // Author:      Dmitry Bobylev
6
7 #ifndef FeaturesPlugin_ExtrusionBoolean_H_
8 #define FeaturesPlugin_ExtrusionBoolean_H_
9
10 #include <FeaturesPlugin_CompositeBoolean.h>
11
12 /** \class FeaturesPlugin_ExtrusionBoolean
13  *  \ingroup Plugins
14  *  \brief Interface for the composite extrusion feature.
15  */
16 class FeaturesPlugin_ExtrusionBoolean : public FeaturesPlugin_CompositeBoolean
17 {
18  public:
19
20   /// attribute name for creation method
21   inline static const std::string& CREATION_METHOD()
22   {
23     static const std::string METHOD_ATTR("CreationMethod");
24     return METHOD_ATTR;
25   }
26
27   /// attribute name of extrusion size
28   inline static const std::string& TO_SIZE_ID()
29   {
30     static const std::string MY_TO_SIZE_ID("to_size");
31     return MY_TO_SIZE_ID;
32   }
33
34   /// attribute name of extrusion size
35   inline static const std::string& FROM_SIZE_ID()
36   {
37     static const std::string MY_FROM_SIZE_ID("from_size");
38     return MY_FROM_SIZE_ID;
39   }
40
41   /// attribute name of an object to which the extrusion grows.
42   inline static const std::string& TO_OBJECT_ID()
43   {
44     static const std::string MY_TO_OBJECT_ID("to_object");
45     return MY_TO_OBJECT_ID;
46   }
47
48   /// attribute name of extrusion offset
49   inline static const std::string& TO_OFFSET_ID()
50   {
51     static const std::string MY_TO_OFFSET_ID("to_offset");
52     return MY_TO_OFFSET_ID;
53   }
54
55   /// Attribute name of an object from which the extrusion grows.
56   inline static const std::string& FROM_OBJECT_ID()
57   {
58     static const std::string MY_FROM_OBJECT_ID("from_object");
59     return MY_FROM_OBJECT_ID;
60   }
61
62   /// attribute name of extrusion offset
63   inline static const std::string& FROM_OFFSET_ID()
64   {
65     static const std::string MY_FROM_OFFSET_ID("from_offset");
66     return MY_FROM_OFFSET_ID;
67   }
68
69 protected:
70   /// Init attributes for extrusion.
71   virtual void initMakeSolidsAttributes();
72
73   /// Create solids from faces with extrusion.
74   virtual void makeSolids(const ListOfShape& theFaces,
75                           ListOfShape& theResults,
76                           std::list<std::shared_ptr<GeomAPI_Interface>>& theAlgos);
77
78 protected:
79   FeaturesPlugin_ExtrusionBoolean(){};
80 };
81
82 #endif