1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAPI_Ax3.hxx
4 // Created: 16 February 2015
5 // Author: Vitaly SMETANNIKOV
11 #include "GeomAPI_Pnt.h"
12 #include "GeomAPI_Dir.h"
16 * \brief The class represents a coordinate plane which is 2d plane with X and Y directions
19 class GEOMAPI_EXPORT GeomAPI_Ax3 : public GeomAPI_Interface
22 /// Default constructor
26 /// \param theOrigin point of origin
27 /// \param theDirX direction of X axis
28 /// \param theDirY direction of Y axis
29 /// \param theNorm direction of normal vector
30 GeomAPI_Ax3(std::shared_ptr<GeomAPI_Pnt> theOrigin,
31 std::shared_ptr<GeomAPI_Dir> theDirX,
32 std::shared_ptr<GeomAPI_Dir> theDirY,
33 std::shared_ptr<GeomAPI_Dir> theNorm);
36 void setOrigin(const std::shared_ptr<GeomAPI_Pnt>& theOrigin);
38 /// Returns the plane origin point
39 std::shared_ptr<GeomAPI_Pnt> origin() const;
41 /// Sets X direction vector
42 void setDirX(const std::shared_ptr<GeomAPI_Dir>& theDirX);
44 /// Returns X direction vector
45 std::shared_ptr<GeomAPI_Dir> dirX() const;
47 /// Sets Y direction vector
48 void setDirY(const std::shared_ptr<GeomAPI_Dir>& theDirY);
50 /// Returns Y direction vector
51 std::shared_ptr<GeomAPI_Dir> dirY() const;
53 /// Sets Z direction vector
54 void setNorm(const std::shared_ptr<GeomAPI_Dir>& theNorm);
56 /// Returns Z direction vector
57 std::shared_ptr<GeomAPI_Dir> norm() const;
59 /// Converts 2d coordinates from the plane to 3d space point
60 /// \param theX X coordinate
61 /// \param theY Y coordinate
62 std::shared_ptr<GeomAPI_Pnt> to3D(double theX, double theY) const;
64 /// Converts 3d to 2d coordinates of the plane
65 /// \param theX X coordinate
66 /// \param theY Y coordinate
67 /// \param theZ Z coordinate
68 std::shared_ptr<GeomAPI_Pnt2d> to2D(double theX, double theY, double theZ) const;