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_Ax3 : public GeomAPI_Interface
22 /// Default constructor
27 /// \param theOrigin point of origin
28 /// \param theDirX direction of X axis
29 /// \param theNorm direction of normal vector
31 GeomAPI_Ax3(std::shared_ptr<GeomAPI_Pnt> theOrigin,
32 std::shared_ptr<GeomAPI_Dir> theDirX,
33 std::shared_ptr<GeomAPI_Dir> theNorm);
37 void setOrigin(const std::shared_ptr<GeomAPI_Pnt>& theOrigin);
39 /// Returns the plane origin point
41 std::shared_ptr<GeomAPI_Pnt> origin() const;
43 /// Sets X direction vector
45 void setDirX(const std::shared_ptr<GeomAPI_Dir>& theDirX);
47 /// Returns X direction vector
49 std::shared_ptr<GeomAPI_Dir> dirX() const;
51 /// Sets Y direction vector
53 void setDirY(const std::shared_ptr<GeomAPI_Dir>& theDirY);
55 /// Returns Y direction vector
57 std::shared_ptr<GeomAPI_Dir> dirY() const;
59 /// Sets Z direction vector
61 void setNormal(const std::shared_ptr<GeomAPI_Dir>& theNorm);
63 /// Returns Z direction vector
65 std::shared_ptr<GeomAPI_Dir> normal() const;
67 /// Converts 2d coordinates from the plane to 3d space point
68 /// \param theX X coordinate
69 /// \param theY Y coordinate
71 std::shared_ptr<GeomAPI_Pnt> to3D(double theX, double theY) const;
73 /// Converts 3d to 2d coordinates of the plane
74 /// \param theX X coordinate
75 /// \param theY Y coordinate
76 /// \param theZ Z coordinate
78 std::shared_ptr<GeomAPI_Pnt2d> to2D(double theX, double theY, double theZ) const;