Salome HOME
GeomAlgoAPI_Rotation now derived from GeomAlgoAPI_MakeShape
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Rotation.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAlgoAPI_Rotation.h
4 // Created:     12 May 2015
5 // Author:      Dmitry Bobylev
6
7 #ifndef GeomAlgoAPI_Rotation_H_
8 #define GeomAlgoAPI_Rotation_H_
9
10 #include <GeomAlgoAPI.h>
11 #include <GeomAlgoAPI_MakeShape.h>
12
13 #include <GeomAPI_Ax1.h>
14 #include <GeomAPI_Shape.h>
15
16 /// \class GeomAlgoAPI_Rotation
17 /// \ingroup DataAlgo
18 /// \brief Creates a copy of the object by rotating it around the axis.
19 class GeomAlgoAPI_Rotation : public GeomAlgoAPI_MakeShape
20 {
21 public:
22   /// \brief Creates an object which is obtained from current object by rotating it around the axis.
23   /// \param[in] theSourceShape  a shape to be rotated.
24   /// \param[in] theAxis         rotation axis.
25   /// \param[in] theAngle        rotation angle(in degree).
26   GEOMALGOAPI_EXPORT GeomAlgoAPI_Rotation(std::shared_ptr<GeomAPI_Shape> theSourceShape,
27                                           std::shared_ptr<GeomAPI_Ax1>   theAxis,
28                                           double                         theAngle);
29
30 private:
31   /// Builds resulting shape.
32   void build(std::shared_ptr<GeomAPI_Shape> theSourceShape,
33              std::shared_ptr<GeomAPI_Ax1>   theAxis,
34              double                         theAngle);
35 };
36
37 #endif