Salome HOME
Issue #1942: group - names are empty strings
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_Transform.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAlgoAPI_Transform.h
4 // Created:     29 July 2015
5 // Author:      Dmitry Bobylev
6
7 #ifndef GeomAlgoAPI_Transform_H_
8 #define GeomAlgoAPI_Transform_H_
9
10 #include <GeomAlgoAPI.h>
11 #include <GeomAlgoAPI_MakeShape.h>
12
13 #include <GeomAPI_Shape.h>
14 #include <GeomAPI_Trsf.h>
15
16 /// \class GeomAlgoAPI_Transform
17 /// \ingroup DataAlgo
18 /// \brief Creates a copy of the object by transformating it.
19 class GeomAlgoAPI_Transform : public GeomAlgoAPI_MakeShape
20 {
21 public:
22   /// \brief Creates an object which is obtained from current object by transformating it.
23   /// \param[in] theSourceShape  a shape to be transformed.
24   /// \param[in] theTrsf         transformation.
25   GEOMALGOAPI_EXPORT GeomAlgoAPI_Transform(std::shared_ptr<GeomAPI_Shape> theSourceShape,
26                                            std::shared_ptr<GeomAPI_Trsf>  theTrsf);
27
28   /// \return the transformation.
29   GEOMALGOAPI_EXPORT std::shared_ptr<GeomAPI_Trsf> transformation() const;
30
31 private:
32   /// Builds resulting shape.
33   void build(std::shared_ptr<GeomAPI_Shape> theSourceShape,
34              std::shared_ptr<GeomAPI_Trsf>  theTrsf);
35
36 private:
37   std::shared_ptr<GeomAPI_Trsf> myTrsf;
38 };
39
40 #endif