Salome HOME
Issue #1063: Problem of dynamic cast on Linux for Selection validators is solved
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Rotation.h
index 5a44625a2e224a3909c7d651e56f2fb2b731852f..ef56c33eafc67e79573d515ea50d601c27eb87d6 100644 (file)
@@ -12,6 +12,7 @@
 #include <GeomAPI_Ax1.h>
 #include <GeomAPI_DataMapOfShapeShape.h>
 #include <GeomAPI_Shape.h>
+#include <GeomAPI_Trsf.h>
 
 /** \class GeomAlgoAPI_Rotation
  *  \ingroup DataAlgo
@@ -24,12 +25,10 @@ public:
    *  \param[in] theSourceShape  a shape to be rotated.
    *  \param[in] theAxis         rotation axis.
    *  \param[in] theAngle        rotation angle(in degree).
-   *  \param[in] theSimpleTransform makes just transformation of shape without changing of topology or geometry
    */
   GEOMALGOAPI_EXPORT GeomAlgoAPI_Rotation(std::shared_ptr<GeomAPI_Shape> theSourceShape,
                                           std::shared_ptr<GeomAPI_Ax1>   theAxis,
-                                          double                         theAngle,
-                                          bool theSimpleTransform = false);
+                                          double                         theAngle);
 
   /// \return true if algorithm succeed.
   GEOMALGOAPI_EXPORT const bool isDone() const
@@ -50,12 +49,14 @@ public:
   /// \return interface for for History processing.
   GEOMALGOAPI_EXPORT std::shared_ptr<GeomAlgoAPI_MakeShape> makeShape() const;
 
+  /// Returns the simple transformation
+  GEOMALGOAPI_EXPORT std::shared_ptr<GeomAPI_Trsf> transformation() const;
+
 private:
   /// Builds resulting shape.
   void build(std::shared_ptr<GeomAPI_Shape> theSourceShape,
              std::shared_ptr<GeomAPI_Ax1>   theAxis,
-             double                         theAngle,
-             bool theSimpleTransform);
+             double                         theAngle);
 
 private:
   /// Fields.
@@ -63,6 +64,7 @@ private:
   std::shared_ptr<GeomAPI_Shape> myShape;
   std::shared_ptr<GeomAPI_DataMapOfShapeShape> myMap;
   std::shared_ptr<GeomAlgoAPI_MakeShape> myMkShape;
+  std::shared_ptr<GeomAPI_Trsf> myTrsf; ///< transformation of the shape in case theSimpleTransform
 };
 
 #endif