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 theNorm direction of normal vector
29 GeomAPI_Ax3(std::shared_ptr<GeomAPI_Pnt> theOrigin,
30 std::shared_ptr<GeomAPI_Dir> theDirX,
31 std::shared_ptr<GeomAPI_Dir> theNorm);
34 void setOrigin(const std::shared_ptr<GeomAPI_Pnt>& theOrigin);
36 /// Returns the plane origin point
37 std::shared_ptr<GeomAPI_Pnt> origin() const;
39 /// Sets X direction vector
40 void setDirX(const std::shared_ptr<GeomAPI_Dir>& theDirX);
42 /// Returns X direction vector
43 std::shared_ptr<GeomAPI_Dir> dirX() const;
45 /// Sets Y direction vector
46 void setDirY(const std::shared_ptr<GeomAPI_Dir>& theDirY);
48 /// Returns Y direction vector
49 std::shared_ptr<GeomAPI_Dir> dirY() const;
51 /// Sets Z direction vector
52 void setNorm(const std::shared_ptr<GeomAPI_Dir>& theNorm);
54 /// Returns Z direction vector
55 std::shared_ptr<GeomAPI_Dir> norm() const;
57 /// Converts 2d coordinates from the plane to 3d space point
58 /// \param theX X coordinate
59 /// \param theY Y coordinate
60 std::shared_ptr<GeomAPI_Pnt> to3D(double theX, double theY) const;
62 /// Converts 3d to 2d coordinates of the plane
63 /// \param theX X coordinate
64 /// \param theY Y coordinate
65 /// \param theZ Z coordinate
66 std::shared_ptr<GeomAPI_Pnt2d> to2D(double theX, double theY, double theZ) const;