1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAPI_Pln.hxx
4 // Created: 23 Apr 2014
5 // Author: Mikhail PONIKAROV
11 #include <GeomAPI_Interface.h>
20 * \brief 3D point defined by three coordinates
23 class GeomAPI_Pln : public GeomAPI_Interface
26 /// Creation of plane by the axis placement
28 GeomAPI_Pln(const std::shared_ptr<GeomAPI_Ax3>& theAxis);
30 /// Creation of plane by the point and normal
32 GeomAPI_Pln(const std::shared_ptr<GeomAPI_Pnt>& thePoint,
33 const std::shared_ptr<GeomAPI_Dir>& theNormal);
35 /// Creation of plane by coefficients (Ax+By+Cz+D=0)
37 GeomAPI_Pln(const double theA, const double theB, const double theC, const double theD);
39 /// Returns a point of this plane
41 std::shared_ptr<GeomAPI_Pnt> location() const;
43 /// Returns a plane normal
45 std::shared_ptr<GeomAPI_Dir> direction() const;
47 /// Returns the plane coefficients (Ax+By+Cz+D=0)
49 void coefficients(double& theA, double& theB, double& theC, double& theD);
51 /// Returns true if planes are coincident.
53 bool isCoincident(const std::shared_ptr<GeomAPI_Pln> thePlane, const double theTolerance = 1.e-7);
55 /// Returns intersection point or empty if no intersections
57 std::shared_ptr<GeomAPI_Pnt> intersect(const std::shared_ptr<GeomAPI_Lin>& theLine) const;