# FoundationClasses
TKMath
gp

# gp_Pln Class Reference

Describes a plane.
A plane is positioned in space with a coordinate system
(a gp_Ax3 object), such that the plane is defined by the
origin, "X Direction" and "Y Direction" of this coordinate
system, which is the "local coordinate system" of the
plane. The "main Direction" of the coordinate system is a
vector normal to the plane. It gives the plane an implicit
orientation such that the plane is said to be "direct", if the
coordinate system is right-handed, or "indirect" in the other case.
Note: when a gp_Pln plane is converted into a
Geom_Plane plane, some implicit properties of its local
coordinate system are used explicitly:
- its origin defines the origin of the two parameters of
the planar surface,
- its implicit orientation is also that of the Geom_Plane.
See Also
gce_MakePln which provides functions for more complex
plane constructions
Geom_Plane which provides additional functions for
constructing planes and works, in particular, with the
parametric equations of planes
.

`#include <gp_Pln.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
| gp_Pln ()
| Creates an indefinite plane. .
| gp_Pln (const gp_Ax3 &A3)
| The coordinate system of the plane is defined with the axis placement A3. The "Direction" of A3 defines the normal to the plane. The "Location" of A3 defines the location (origin) of the plane. The "XDirection" and "YDirection" of A3 define the "XAxis" and the "YAxis" of the plane used to parametrize the plane. .
Standard_EXPORT | gp_Pln (const gp_Pnt &P, const gp_Dir &V)
| Creates a plane with the "Location" point and the normal direction <v>. .
Standard_EXPORT | gp_Pln (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D)
| Creates a plane from its cartesian equation : A * X + B * Y + C * Z + D = 0.0 Raises ConstructionError if Sqrt (A*A + B*B + C*C) <= Resolution from gp. .
void | Coefficients (Standard_Real &A, Standard_Real &B, Standard_Real &C, Standard_Real &D) const
| Returns the coefficients of the plane's cartesian equation : A * X + B * Y + C * Z + D = 0. .
void | SetAxis (const gp_Ax1 &A1)
| Modifies this plane, by redefining its local coordinate system so that - its origin and "main Direction" become those of the axis A1 (the "X Direction" and "Y Direction" are then recomputed). Raises ConstructionError if the A1 is parallel to the "XAxis" of the plane. .
void | SetLocation (const gp_Pnt &Loc)
| Changes the origin of the plane. .
void | SetPosition (const gp_Ax3 &A3)
| Changes the local coordinate system of the plane. .
void | UReverse ()
| Reverses the U parametrization of the plane reversing the XAxis. .
void | VReverse ()
| Reverses the V parametrization of the plane reversing the YAxis. .
Standard_Boolean | Direct () const
| returns true if the Ax3 is right handed.
const gp_Ax1 & | Axis () const
| Returns the plane's normal Axis. .
const gp_Pnt & | Location () const
| Returns the plane's location (origin). .
const gp_Ax3 & | Position () const
| Returns the local coordinate system of the plane . .
Standard_Real | Distance (const gp_Pnt &P) const
| Computes the distance between <me> and the point . .
Standard_Real | Distance (const gp_Lin &L) const
| Computes the distance between <me> and the line <l>. .
Standard_Real | Distance (const gp_Pln &Other) const
| Computes the distance between two planes. .
Standard_Real | SquareDistance (const gp_Pnt &P) const
| Computes the square distance between <me> and the point . .
Standard_Real | SquareDistance (const gp_Lin &L) const
| Computes the square distance between <me> and the line <l>. .
Standard_Real | SquareDistance (const gp_Pln &Other) const
| Computes the square distance between two planes. .
gp_Ax1 | XAxis () const
| Returns the X axis of the plane. .
gp_Ax1 | YAxis () const
| Returns the Y axis of the plane. .
Standard_Boolean | Contains (const gp_Pnt &P, const Standard_Real LinearTolerance) const
| Returns true if this plane contains the point P. This means that - the distance between point P and this plane is less than or equal to LinearTolerance, or - line L is normal to the "main Axis" of the local coordinate system of this plane, within the tolerance AngularTolerance, and the distance between the origin of line L and this plane is less than or equal to LinearTolerance. .
Standard_Boolean | Contains (const gp_Lin &L, const Standard_Real LinearTolerance, const Standard_Real AngularTolerance) const
| Returns true if this plane contains the line L. This means that - the distance between point P and this plane is less than or equal to LinearTolerance, or - line L is normal to the "main Axis" of the local coordinate system of this plane, within the tolerance AngularTolerance, and the distance between the origin of line L and this plane is less than or equal to LinearTolerance. .
Standard_EXPORT void | Mirror (const gp_Pnt &P)
Standard_EXPORT gp_Pln | Mirrored (const gp_Pnt &P) const
| Performs the symmetrical transformation of a plane with respect to the point which is the center of the symmetry Warnings : The normal direction to the plane is not changed. The "XAxis" and the "YAxis" are reversed. .
Standard_EXPORT void | Mirror (const gp_Ax1 &A1)
Standard_EXPORT gp_Pln | Mirrored (const gp_Ax1 &A1) const
| Performs the symmetrical transformation of a plane with respect to an axis placement which is the axis of the symmetry. The transformation is performed on the "Location" point, on the "XAxis" and the "YAxis". The resulting normal direction is the cross product between the "XDirection" and the "YDirection" after transformation if the initial plane was right handed, else it is the opposite. .
Standard_EXPORT void | Mirror (const gp_Ax2 &A2)
Standard_EXPORT gp_Pln | Mirrored (const gp_Ax2 &A2) const

Performs the symmetrical transformation of a
plane with respect to an axis placement. The axis
placement <a2> locates the plane of the symmetry. The
transformation is performed on the "Location" point, on
the "XAxis" and the "YAxis". The resulting normal
direction is the cross product between the "XDirection"
and the "YDirection" after transformation if the initial
plane was right handed, else it is the opposite.
.

void | Rotate (const gp_Ax1 &A1, const Standard_Real Ang)
gp_Pln | Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const
| rotates a plane. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians.
void | Scale (const gp_Pnt &P, const Standard_Real S)
gp_Pln | Scaled (const gp_Pnt &P, const Standard_Real S) const
| Scales a plane. S is the scaling value. .
void | Transform (const gp_Trsf &T)
gp_Pln | Transformed (const gp_Trsf &T) const
| Transforms a plane with the transformation T from class Trsf. The transformation is performed on the "Location" point, on the "XAxis" and the "YAxis". The resulting normal direction is the cross product between the "XDirection" and the "YDirection" after transformation. .
void | Translate (const gp_Vec &V)
gp_Pln | Translated (const gp_Vec &V) const
| Translates a plane in the direction of the vector V. The magnitude of the translation is the vector's magnitude. .
void | Translate (const gp_Pnt &P1, const gp_Pnt &P2)
gp_Pln | Translated (const gp_Pnt &P1, const gp_Pnt &P2) const
| Translates a plane from the point P1 to the point P2. .
const gp_Ax3 & | _CSFDB_Getgp_Plnpos () const

## Private Attributes

gp_Ax3 | pos

## Friends

Standard_EXPORT friend Handle_Standard_Type & | gp_Pln_Type_ ()

## Constructor & Destructor Documentation

gp_Pln::gp_Pln | ( |  | ) | `[inline]`

gp_Pln::gp_Pln | ( | const gp_Ax3 & | A3 | ) | `[inline]`

Standard_EXPORT gp_Pln::gp_Pln | ( | const gp_Pnt & | P,
|  | const gp_Dir & | V
| ) |

Standard_EXPORT gp_Pln::gp_Pln | ( | const Standard_Real | A,
|  | const Standard_Real | B,
|  | const Standard_Real | C,
|  | const Standard_Real | D
| ) |

## Member Function Documentation

const gp_Ax3& gp_Pln::_CSFDB_Getgp_Plnpos | ( |  | ) | const`[inline]`

const gp_Ax1 & gp_Pln::Axis | ( |  | ) | const`[inline]`

void gp_Pln::Coefficients | ( | Standard_Real & | A,
|  | Standard_Real & | B,
|  | Standard_Real & | C,
|  | Standard_Real & | D
| ) | const`[inline]`

Standard_Boolean gp_Pln::Contains | ( | const gp_Lin & | L,
|  | const Standard_Real | LinearTolerance,
|  | const Standard_Real | AngularTolerance
| ) | const`[inline]`

Standard_Boolean gp_Pln::Contains | ( | const gp_Pnt & | P,
|  | const Standard_Real | LinearTolerance
| ) | const`[inline]`

Standard_Boolean gp_Pln::Direct | ( |  | ) | const`[inline]`

Standard_Real gp_Pln::Distance | ( | const gp_Pln & | Other | ) | const`[inline]`

Standard_Real gp_Pln::Distance | ( | const gp_Lin & | L | ) | const`[inline]`

Standard_Real gp_Pln::Distance | ( | const gp_Pnt & | P | ) | const`[inline]`

const gp_Pnt & gp_Pln::Location | ( |  | ) | const`[inline]`

Standard_EXPORT void gp_Pln::Mirror | ( | const gp_Ax2 & | A2 | ) |

Standard_EXPORT void gp_Pln::Mirror | ( | const gp_Ax1 & | A1 | ) |

Standard_EXPORT void gp_Pln::Mirror | ( | const gp_Pnt & | P | ) |

Standard_EXPORT gp_Pln gp_Pln::Mirrored | ( | const gp_Ax2 & | A2 | ) | const

Standard_EXPORT gp_Pln gp_Pln::Mirrored | ( | const gp_Ax1 & | A1 | ) | const

Standard_EXPORT gp_Pln gp_Pln::Mirrored | ( | const gp_Pnt & | P | ) | const

void gp_Pln::operator delete | ( | void * | anAddress | ) | `[inline]`

void* gp_Pln::operator new | ( | size_t | size | ) | `[inline]`

void* gp_Pln::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

const gp_Ax3 & gp_Pln::Position | ( |  | ) | const`[inline]`

void gp_Pln::Rotate | ( | const gp_Ax1 & | A1,
|  | const Standard_Real | Ang
| ) | `[inline]`

gp_Pln gp_Pln::Rotated | ( | const gp_Ax1 & | A1,
|  | const Standard_Real | Ang
| ) | const`[inline]`

void gp_Pln::Scale | ( | const gp_Pnt & | P,
|  | const Standard_Real | S
| ) | `[inline]`

gp_Pln gp_Pln::Scaled | ( | const gp_Pnt & | P,
|  | const Standard_Real | S
| ) | const`[inline]`

void gp_Pln::SetAxis | ( | const gp_Ax1 & | A1 | ) | `[inline]`

void gp_Pln::SetLocation | ( | const gp_Pnt & | Loc | ) | `[inline]`

void gp_Pln::SetPosition | ( | const gp_Ax3 & | A3 | ) | `[inline]`

Standard_Real gp_Pln::SquareDistance | ( | const gp_Pln & | Other | ) | const`[inline]`

Standard_Real gp_Pln::SquareDistance | ( | const gp_Lin & | L | ) | const`[inline]`

Standard_Real gp_Pln::SquareDistance | ( | const gp_Pnt & | P | ) | const`[inline]`

void gp_Pln::Transform | ( | const gp_Trsf & | T | ) | `[inline]`

gp_Pln gp_Pln::Transformed | ( | const gp_Trsf & | T | ) | const`[inline]`

void gp_Pln::Translate | ( | const gp_Pnt & | P1,
|  | const gp_Pnt & | P2
| ) | `[inline]`

void gp_Pln::Translate | ( | const gp_Vec & | V | ) | `[inline]`

gp_Pln gp_Pln::Translated | ( | const gp_Pnt & | P1,
|  | const gp_Pnt & | P2
| ) | const`[inline]`

gp_Pln gp_Pln::Translated | ( | const gp_Vec & | V | ) | const`[inline]`

void gp_Pln::UReverse | ( |  | ) | `[inline]`

void gp_Pln::VReverse | ( |  | ) | `[inline]`

gp_Ax1 gp_Pln::XAxis | ( |  | ) | const`[inline]`

gp_Ax1 gp_Pln::YAxis | ( |  | ) | const`[inline]`

## Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_Pln_Type_ | ( |  | ) | `[friend]`

## Field Documentation

gp_Ax3 gp_Pln::pos `[private]`

The documentation for this class was generated from the following files:

- gp_Pln.hxx
- gp_Pln.lxx