Salome HOME
Define guards are corrected according to the code style
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Extrusion.h
1 // File:        GeomAlgoAPI_Extrusion.h
2 // Created:     06 Jun 2014
3 // Author:      Artem ZHIDKOV
4
5 #ifndef GeomAlgoAPI_Extrusion_H_
6 #define GeomAlgoAPI_Extrusion_H_
7
8 #include <GeomAlgoAPI.h>
9 #include <GeomAPI_Shape.h>
10 #include <GeomAPI_Dir.h>
11 #include <boost/shared_ptr.hpp>
12
13 /**\class GeomAlgoAPI_Extrusion
14  * \ingroup DataAlgo
15  * \brief Allows to create the prism based on a given face and a direction
16  */
17
18 class GEOMALGOAPI_EXPORT GeomAlgoAPI_Extrusion
19 {
20 public:
21   /* \brief Creates extrusion for the given shape
22    * \param[in] theShape face or wire to be extruded
23    * \param[in] theDir   direction of extrusion
24    * \param[in] theSize  the length of extrusion (if the value is less than 0, the extrusion in opposite direction)
25    * \return a solid or a face which is obtained from specified one
26    */
27   static boost::shared_ptr<GeomAPI_Shape> makeExtrusion(
28                         boost::shared_ptr<GeomAPI_Shape> theShape,
29                         boost::shared_ptr<GeomAPI_Dir>   theDir,
30                         double                           theSize);
31
32   /* \brief Creates extrusion for the given shape along the normal for this shape
33    * \param[in] theShape face or wire to be extruded
34    * \param[in] theSize  the length of extrusion (if the value is less than 0, the extrusion in opposite normal)
35    * \return a solid or a face which is obtained from specified one
36    */
37   static boost::shared_ptr<GeomAPI_Shape> makeExtrusion(
38                         boost::shared_ptr<GeomAPI_Shape> theShape,
39                         double                           theSize);
40 };
41
42 #endif