1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAPI_Ax2.cpp
4 // Created: 08 September 2015
5 // Author: Dmitry Bobylev
7 #include <GeomAPI_Ax2.h>
11 #define MY_AX1 implPtr<gp_Ax2>()
13 //=================================================================================================
14 GeomAPI_Ax2::GeomAPI_Ax2()
15 : GeomAPI_Interface(new gp_Ax2())
19 //=================================================================================================
20 GeomAPI_Ax2::GeomAPI_Ax2(std::shared_ptr<GeomAPI_Pnt> theOrigin,
21 std::shared_ptr<GeomAPI_Dir> theN,
22 std::shared_ptr<GeomAPI_Dir> theVX)
23 : GeomAPI_Interface(new gp_Ax2(theOrigin->impl<gp_Pnt>(),
25 theVX->impl<gp_Dir>()))
29 //=================================================================================================
30 GeomAPI_Ax2::GeomAPI_Ax2(std::shared_ptr<GeomAPI_Pnt> theOrigin,
31 std::shared_ptr<GeomAPI_Dir> theDir)
32 : GeomAPI_Interface(new gp_Ax2(theOrigin->impl<gp_Pnt>(),
33 theDir->impl<gp_Dir>()))
37 //=================================================================================================
38 void GeomAPI_Ax2::setOrigin(const std::shared_ptr<GeomAPI_Pnt>& theOrigin)
40 MY_AX1->SetLocation(theOrigin->impl<gp_Pnt>());
43 //=================================================================================================
44 std::shared_ptr<GeomAPI_Pnt> GeomAPI_Ax2::origin() const
46 gp_Pnt aPnt = MY_AX1->Location();
47 return std::shared_ptr<GeomAPI_Pnt>(new GeomAPI_Pnt(aPnt.X(),aPnt.Y(),aPnt.Z()));
50 //=================================================================================================
51 void GeomAPI_Ax2::setDir(const std::shared_ptr<GeomAPI_Dir>& theDir)
53 MY_AX1->SetDirection(theDir->impl<gp_Dir>());
56 //=================================================================================================
57 std::shared_ptr<GeomAPI_Dir> GeomAPI_Ax2::dir() const
59 gp_Dir aDir = MY_AX1->Direction();
60 return std::shared_ptr<GeomAPI_Dir>(new GeomAPI_Dir(aDir.X(), aDir.Y(), aDir.Z()));