]> SALOME platform Git repositories - modules/shaper.git/blob - src/GeomAlgoAPI/GeomAlgoAPI_Extrusion.h
Salome HOME
31b3d4406378d519d1f7b78d4c79c3c83c3c66d9
[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(boost::shared_ptr<GeomAPI_Shape> theShape,
28                                                         boost::shared_ptr<GeomAPI_Dir> theDir,
29                                                         double theSize);
30
31   /* \brief Creates extrusion for the given shape along the normal for this shape
32    * \param[in] theShape face or wire to be extruded
33    * \param[in] theSize  the length of extrusion (if the value is less than 0, the extrusion in opposite normal)
34    * \return a solid or a face which is obtained from specified one
35    */
36   static boost::shared_ptr<GeomAPI_Shape> makeExtrusion(boost::shared_ptr<GeomAPI_Shape> theShape,
37                                                         double theSize);
38 };
39
40 #endif