1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAlgoAPI_Prism.h
5 // Author: Dmitry Bobylev
7 #ifndef GeomAlgoAPI_Prism_H_
8 #define GeomAlgoAPI_Prism_H_
10 #include <GeomAlgoAPI.h>
11 #include <GeomAPI_Shape.h>
12 #include <GeomAlgoAPI_MakeSweep.h>
16 /// \class GeomAlgoAPI_Prism
18 /// \brief Allows to create the prism based on a given face and bounding planes.
19 /// \n Note that only planar faces are allowed as bounding faces and resulting
20 /// extrusion will be bounded by the infinite planes taken from the faces.
21 class GeomAlgoAPI_Prism : public GeomAlgoAPI_MakeSweep
24 /// \brief Creates extrusion for the given shape along the normal for this shape.
25 /// \param[in] theBaseShape face or wire to be extruded.
26 /// \param[in] theToSize offset for "to" plane.
27 /// \param[in] theFromSize offset for "from" plane.
28 GEOMALGOAPI_EXPORT GeomAlgoAPI_Prism(std::shared_ptr<GeomAPI_Shape> theBaseShape,
32 /// \brief Creates extrusion for the given shape along the normal for this shape.
33 /// \param[in] theBaseShape face or wire to be extruded.
34 /// \param[in] theToShape top bounding shape. Can be empty. In this case offset will be applied to the basis.
35 /// \param[in] theToSize offset for "to" plane.
36 /// \param[in] theFromShape bottom bounding shape. Can be empty. In this case offset will be applied to the basis.
37 /// \param[in] theFromSize offset for "from" plane.
38 GEOMALGOAPI_EXPORT GeomAlgoAPI_Prism(std::shared_ptr<GeomAPI_Shape> theBaseShape,
39 std::shared_ptr<GeomAPI_Shape> theToShape,
41 std::shared_ptr<GeomAPI_Shape> theFromShape,
45 /// Builds resulting shape.
46 void build(const std::shared_ptr<GeomAPI_Shape>& theBaseShape,
47 const std::shared_ptr<GeomAPI_Shape>& theToShape,
49 const std::shared_ptr<GeomAPI_Shape>& theFromShape,