Salome HOME
std:shared_ptr replaced by boost::shared_ptr
[modules/shaper.git] / src / GeomAPI / GeomAPI_Pln.h
1 // File:        GeomAPI_Pln.hxx
2 // Created:     23 Apr 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef GeomAPI_Pln_HeaderFile
6 #define GeomAPI_Pln_HeaderFile
7
8 #include <boost/shared_ptr.hpp>
9 #include <GeomAPI_Interface.h>
10
11 class GeomAPI_Pnt;
12 class GeomAPI_Dir;
13
14 /**\class GeomAPI_Pln
15  * \ingroup DataModel
16  * \brief 3D point defined by three coordinates
17  */
18
19 class GEOMAPI_EXPORT GeomAPI_Pln: public GeomAPI_Interface
20 {
21 public:
22   /// Creation of plane by the point and normal
23   GeomAPI_Pln(const boost::shared_ptr<GeomAPI_Pnt>& thePoint,
24               const boost::shared_ptr<GeomAPI_Dir>& theNormal);
25
26   /// Creation of plane by coefficients A * X + B * Y + C * Z + D = 0.0 
27   GeomAPI_Pln(const double theA, const double theB, const double theC, const double theD);
28
29   /// Returns a point of this plane
30   boost::shared_ptr<GeomAPI_Pnt> location();
31
32   /// Returns a plane normal
33   boost::shared_ptr<GeomAPI_Dir> direction();
34 };
35
36 #endif
37