1 // File: GeomAlgoAPI_Extrusion.h
2 // Created: 06 Jun 2014
3 // Author: Artem ZHIDKOV
5 #ifndef GeomAlgoAPI_Extrusion_HeaderFile
6 #define GeomAlgoAPI_Extrusion_HeaderFile
8 #include <GeomAlgoAPI.h>
9 #include <GeomAPI_Shape.h>
10 #include <GeomAPI_Dir.h>
11 #include <boost/shared_ptr.hpp>
13 /**\class GeomAlgoAPI_Extrusion
15 * \brief Allows to create the prism based on a given face and a direction
18 class GEOMALGOAPI_EXPORT GeomAlgoAPI_Extrusion
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
27 static boost::shared_ptr<GeomAPI_Shape> makeExtrusion(
28 boost::shared_ptr<GeomAPI_Shape> theShape,
29 boost::shared_ptr<GeomAPI_Dir> theDir,
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
37 static boost::shared_ptr<GeomAPI_Shape> makeExtrusion(
38 boost::shared_ptr<GeomAPI_Shape> theShape,