Open CASCADE Technology 7.8.0
Public Member Functions
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: More...

#include <gp_Pln.hxx>

Public Member Functions

 gp_Pln ()
 Creates a plane coincident with OXY plane of the reference coordinate system.
 
 gp_Pln (const gp_Ax3 &theA3)
 The coordinate system of the plane is defined with the axis placement theA3. The "Direction" of theA3 defines the normal to the plane. The "Location" of theA3 defines the location (origin) of the plane. The "XDirection" and "YDirection" of theA3 define the "XAxis" and the "YAxis" of the plane used to parametrize the plane.
 
 gp_Pln (const gp_Pnt &theP, const gp_Dir &theV)
 Creates a plane with the "Location" point <theP> and the normal direction <theV>.
 
 gp_Pln (const Standard_Real theA, const Standard_Real theB, const Standard_Real theC, const Standard_Real theD)
 Creates a plane from its cartesian equation :
 
void Coefficients (Standard_Real &theA, Standard_Real &theB, Standard_Real &theC, Standard_Real &theD) const
 Returns the coefficients of the plane's cartesian equation :
 
void SetAxis (const gp_Ax1 &theA1)
 Modifies this plane, by redefining its local coordinate system so that.
 
void SetLocation (const gp_Pnt &theLoc)
 Changes the origin of the plane.
 
void SetPosition (const gp_Ax3 &theA3)
 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_Ax1Axis () const
 Returns the plane's normal Axis.
 
const gp_PntLocation () const
 Returns the plane's location (origin).
 
const gp_Ax3Position () const
 Returns the local coordinate system of the plane .
 
Standard_Real Distance (const gp_Pnt &theP) const
 Computes the distance between <me> and the point <theP>.
 
Standard_Real Distance (const gp_Lin &theL) const
 Computes the distance between <me> and the line <theL>.
 
Standard_Real Distance (const gp_Pln &theOther) const
 Computes the distance between two planes.
 
Standard_Real SquareDistance (const gp_Pnt &theP) const
 Computes the square distance between <me> and the point <theP>.
 
Standard_Real SquareDistance (const gp_Lin &theL) const
 Computes the square distance between <me> and the line <theL>.
 
Standard_Real SquareDistance (const gp_Pln &theOther) 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 &theP, const Standard_Real theLinearTolerance) const
 Returns true if this plane contains the point theP. This means that.
 
Standard_Boolean Contains (const gp_Lin &theL, const Standard_Real theLinearTolerance, const Standard_Real theAngularTolerance) const
 Returns true if this plane contains the line theL. This means that.
 
void Mirror (const gp_Pnt &theP)
 
gp_Pln Mirrored (const gp_Pnt &theP) const
 Performs the symmetrical transformation of a plane with respect to the point <theP> which is the center of the symmetry Warnings : The normal direction to the plane is not changed. The "XAxis" and the "YAxis" are reversed.
 
void Mirror (const gp_Ax1 &theA1)
 
gp_Pln Mirrored (const gp_Ax1 &theA1) 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.
 
void Mirror (const gp_Ax2 &theA2)
 
gp_Pln Mirrored (const gp_Ax2 &theA2) 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 &theA1, const Standard_Real theAng)
 
gp_Pln Rotated (const gp_Ax1 &theA1, const Standard_Real theAng) const
 rotates a plane. theA1 is the axis of the rotation. theAng is the angular value of the rotation in radians.
 
void Scale (const gp_Pnt &theP, const Standard_Real theS)
 
gp_Pln Scaled (const gp_Pnt &theP, const Standard_Real theS) const
 Scales a plane. theS is the scaling value.
 
void Transform (const gp_Trsf &theT)
 
gp_Pln Transformed (const gp_Trsf &theT) const
 Transforms a plane with the transformation theT 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 &theV)
 
gp_Pln Translated (const gp_Vec &theV) const
 Translates a plane in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.
 
void Translate (const gp_Pnt &theP1, const gp_Pnt &theP2)
 
gp_Pln Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const
 Translates a plane from the point theP1 to the point theP2.
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 

Detailed Description

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:

Constructor & Destructor Documentation

◆ gp_Pln() [1/4]

gp_Pln::gp_Pln ( )
inline

Creates a plane coincident with OXY plane of the reference coordinate system.

◆ gp_Pln() [2/4]

gp_Pln::gp_Pln ( const gp_Ax3 theA3)
inline

The coordinate system of the plane is defined with the axis placement theA3. The "Direction" of theA3 defines the normal to the plane. The "Location" of theA3 defines the location (origin) of the plane. The "XDirection" and "YDirection" of theA3 define the "XAxis" and the "YAxis" of the plane used to parametrize the plane.

◆ gp_Pln() [3/4]

gp_Pln::gp_Pln ( const gp_Pnt theP,
const gp_Dir theV 
)

Creates a plane with the "Location" point <theP> and the normal direction <theV>.

◆ gp_Pln() [4/4]

gp_Pln::gp_Pln ( const Standard_Real  theA,
const Standard_Real  theB,
const Standard_Real  theC,
const Standard_Real  theD 
)

Creates a plane from its cartesian equation :

theA * X + theB * Y + theC * Z + theD = 0.0

Raises ConstructionError if Sqrt (theA*theA + theB*theB + theC*theC) <= Resolution from gp.

Member Function Documentation

◆ Axis()

const gp_Ax1 & gp_Pln::Axis ( ) const
inline

Returns the plane's normal Axis.

◆ Coefficients()

void gp_Pln::Coefficients ( Standard_Real theA,
Standard_Real theB,
Standard_Real theC,
Standard_Real theD 
) const
inline

Returns the coefficients of the plane's cartesian equation :

theA * X + theB * Y + theC * Z + theD = 0.

◆ Contains() [1/2]

Standard_Boolean gp_Pln::Contains ( const gp_Lin theL,
const Standard_Real  theLinearTolerance,
const Standard_Real  theAngularTolerance 
) const
inline

Returns true if this plane contains the line theL. This means that.

  • the distance between point P and this plane is less than or equal to LinearTolerance, or
  • line theL is normal to the "main Axis" of the local coordinate system of this plane, within the tolerance theAngularTolerance, and the distance between the origin of line theL and this plane is less than or equal to theLinearTolerance.

◆ Contains() [2/2]

Standard_Boolean gp_Pln::Contains ( const gp_Pnt theP,
const Standard_Real  theLinearTolerance 
) const
inline

Returns true if this plane contains the point theP. This means that.

  • the distance between point theP and this plane is less than or equal to theLinearTolerance, 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 theLinearTolerance.

◆ Direct()

Standard_Boolean gp_Pln::Direct ( ) const
inline

returns true if the Ax3 is right handed.

◆ Distance() [1/3]

Standard_Real gp_Pln::Distance ( const gp_Lin theL) const
inline

Computes the distance between <me> and the line <theL>.

◆ Distance() [2/3]

Standard_Real gp_Pln::Distance ( const gp_Pln theOther) const
inline

Computes the distance between two planes.

◆ Distance() [3/3]

Standard_Real gp_Pln::Distance ( const gp_Pnt theP) const
inline

Computes the distance between <me> and the point <theP>.

◆ DumpJson()

void gp_Pln::DumpJson ( Standard_OStream theOStream,
Standard_Integer  theDepth = -1 
) const

Dumps the content of me into the stream.

◆ Location()

const gp_Pnt & gp_Pln::Location ( ) const
inline

Returns the plane's location (origin).

◆ Mirror() [1/3]

void gp_Pln::Mirror ( const gp_Ax1 theA1)

◆ Mirror() [2/3]

void gp_Pln::Mirror ( const gp_Ax2 theA2)

◆ Mirror() [3/3]

void gp_Pln::Mirror ( const gp_Pnt theP)

◆ Mirrored() [1/3]

gp_Pln gp_Pln::Mirrored ( const gp_Ax1 theA1) 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.

◆ Mirrored() [2/3]

gp_Pln gp_Pln::Mirrored ( const gp_Ax2 theA2) 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.

◆ Mirrored() [3/3]

gp_Pln gp_Pln::Mirrored ( const gp_Pnt theP) const

Performs the symmetrical transformation of a plane with respect to the point <theP> which is the center of the symmetry Warnings : The normal direction to the plane is not changed. The "XAxis" and the "YAxis" are reversed.

◆ Position()

const gp_Ax3 & gp_Pln::Position ( ) const
inline

Returns the local coordinate system of the plane .

◆ Rotate()

void gp_Pln::Rotate ( const gp_Ax1 theA1,
const Standard_Real  theAng 
)
inline

◆ Rotated()

gp_Pln gp_Pln::Rotated ( const gp_Ax1 theA1,
const Standard_Real  theAng 
) const
inline

rotates a plane. theA1 is the axis of the rotation. theAng is the angular value of the rotation in radians.

◆ Scale()

void gp_Pln::Scale ( const gp_Pnt theP,
const Standard_Real  theS 
)
inline

◆ Scaled()

gp_Pln gp_Pln::Scaled ( const gp_Pnt theP,
const Standard_Real  theS 
) const
inline

Scales a plane. theS is the scaling value.

◆ SetAxis()

void gp_Pln::SetAxis ( const gp_Ax1 theA1)
inline

Modifies this plane, by redefining its local coordinate system so that.

  • its origin and "main Direction" become those of the axis theA1 (the "X Direction" and "Y Direction" are then recomputed). Raises ConstructionError if the theA1 is parallel to the "XAxis" of the plane.

◆ SetLocation()

void gp_Pln::SetLocation ( const gp_Pnt theLoc)
inline

Changes the origin of the plane.

◆ SetPosition()

void gp_Pln::SetPosition ( const gp_Ax3 theA3)
inline

Changes the local coordinate system of the plane.

◆ SquareDistance() [1/3]

Standard_Real gp_Pln::SquareDistance ( const gp_Lin theL) const
inline

Computes the square distance between <me> and the line <theL>.

◆ SquareDistance() [2/3]

Standard_Real gp_Pln::SquareDistance ( const gp_Pln theOther) const
inline

Computes the square distance between two planes.

◆ SquareDistance() [3/3]

Standard_Real gp_Pln::SquareDistance ( const gp_Pnt theP) const
inline

Computes the square distance between <me> and the point <theP>.

◆ Transform()

void gp_Pln::Transform ( const gp_Trsf theT)
inline

◆ Transformed()

gp_Pln gp_Pln::Transformed ( const gp_Trsf theT) const
inline

Transforms a plane with the transformation theT 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.

◆ Translate() [1/2]

void gp_Pln::Translate ( const gp_Pnt theP1,
const gp_Pnt theP2 
)
inline

◆ Translate() [2/2]

void gp_Pln::Translate ( const gp_Vec theV)
inline

◆ Translated() [1/2]

gp_Pln gp_Pln::Translated ( const gp_Pnt theP1,
const gp_Pnt theP2 
) const
inline

Translates a plane from the point theP1 to the point theP2.

◆ Translated() [2/2]

gp_Pln gp_Pln::Translated ( const gp_Vec theV) const
inline

Translates a plane in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.

◆ UReverse()

void gp_Pln::UReverse ( )
inline

Reverses the U parametrization of the plane reversing the XAxis.

◆ VReverse()

void gp_Pln::VReverse ( )
inline

Reverses the V parametrization of the plane reversing the YAxis.

◆ XAxis()

gp_Ax1 gp_Pln::XAxis ( ) const
inline

Returns the X axis of the plane.

◆ YAxis()

gp_Ax1 gp_Pln::YAxis ( ) const
inline

Returns the Y axis of the plane.


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