Open CASCADE Technology  7.6.0.dev
Public Member Functions

gp_Lin Class Reference

Describes a line in 3D space. A line is positioned in space with an axis (a gp_Ax1 object) which gives it an origin and a unit vector. A line and an axis are similar objects, thus, we can convert one into the other. A line provides direct access to the majority of the edit and query functions available on its positioning axis. In addition, however, a line has specific functions for computing distances and positions. See Also gce_MakeLin which provides functions for more complex line constructions Geom_Line which provides additional functions for constructing lines and works, in particular, with the parametric equations of lines. More...

#include <gp_Lin.hxx>

Public Member Functions

 gp_Lin ()
 Creates a Line corresponding to Z axis of the reference coordinate system. More...
 
 gp_Lin (const gp_Ax1 &theA1)
 Creates a line defined by axis theA1. More...
 
 gp_Lin (const gp_Pnt &theP, const gp_Dir &theV)
 Creates a line passing through point theP and parallel to vector theV (theP and theV are, respectively, the origin and the unit vector of the positioning axis of the line). More...
 
void Reverse ()
 
gp_Lin Reversed () const
 Reverses the direction of the line. Note: More...
 
void SetDirection (const gp_Dir &theV)
 Changes the direction of the line. More...
 
void SetLocation (const gp_Pnt &theP)
 Changes the location point (origin) of the line. More...
 
void SetPosition (const gp_Ax1 &theA1)
 Complete redefinition of the line. The "Location" point of <theA1> is the origin of the line. The "Direction" of <theA1> is the direction of the line. More...
 
const gp_DirDirection () const
 Returns the direction of the line. More...
 
const gp_PntLocation () const
 Returns the location point (origin) of the line. More...
 
const gp_Ax1Position () const
 Returns the axis placement one axis with the same location and direction as <me>. More...
 
Standard_Real Angle (const gp_Lin &theOther) const
 Computes the angle between two lines in radians. More...
 
Standard_Boolean Contains (const gp_Pnt &theP, const Standard_Real theLinearTolerance) const
 Returns true if this line contains the point theP, that is, if the distance between point theP and this line is less than or equal to theLinearTolerance.. More...
 
Standard_Real Distance (const gp_Pnt &theP) const
 Computes the distance between <me> and the point theP. More...
 
Standard_Real Distance (const gp_Lin &theOther) const
 Computes the distance between two lines. More...
 
Standard_Real SquareDistance (const gp_Pnt &theP) const
 Computes the square distance between <me> and the point theP. More...
 
Standard_Real SquareDistance (const gp_Lin &theOther) const
 Computes the square distance between two lines. More...
 
gp_Lin Normal (const gp_Pnt &theP) const
 Computes the line normal to the direction of <me>, passing through the point theP. Raises ConstructionError if the distance between <me> and the point theP is lower or equal to Resolution from gp because there is an infinity of solutions in 3D space. More...
 
void Mirror (const gp_Pnt &theP)
 
gp_Lin Mirrored (const gp_Pnt &theP) const
 Performs the symmetrical transformation of a line with respect to the point theP which is the center of the symmetry. More...
 
void Mirror (const gp_Ax1 &theA1)
 
gp_Lin Mirrored (const gp_Ax1 &theA1) const
 Performs the symmetrical transformation of a line with respect to an axis placement which is the axis of the symmetry. More...
 
void Mirror (const gp_Ax2 &theA2)
 
gp_Lin Mirrored (const gp_Ax2 &theA2) const
 Performs the symmetrical transformation of a line with respect to a plane. The axis placement <theA2> locates the plane of the symmetry : (Location, XDirection, YDirection). More...
 
void Rotate (const gp_Ax1 &theA1, const Standard_Real theAng)
 
gp_Lin Rotated (const gp_Ax1 &theA1, const Standard_Real theAng) const
 Rotates a line. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians. More...
 
void Scale (const gp_Pnt &theP, const Standard_Real theS)
 
gp_Lin Scaled (const gp_Pnt &theP, const Standard_Real theS) const
 Scales a line. theS is the scaling value. The "Location" point (origin) of the line is modified. The "Direction" is reversed if the scale is negative. More...
 
void Transform (const gp_Trsf &theT)
 
gp_Lin Transformed (const gp_Trsf &theT) const
 Transforms a line with the transformation theT from class Trsf. More...
 
void Translate (const gp_Vec &theV)
 
gp_Lin Translated (const gp_Vec &theV) const
 Translates a line in the direction of the vector theV. The magnitude of the translation is the vector's magnitude. More...
 
void Translate (const gp_Pnt &theP1, const gp_Pnt &theP2)
 
gp_Lin Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const
 Translates a line from the point theP1 to the point theP2. More...
 

Detailed Description

Describes a line in 3D space. A line is positioned in space with an axis (a gp_Ax1 object) which gives it an origin and a unit vector. A line and an axis are similar objects, thus, we can convert one into the other. A line provides direct access to the majority of the edit and query functions available on its positioning axis. In addition, however, a line has specific functions for computing distances and positions. See Also gce_MakeLin which provides functions for more complex line constructions Geom_Line which provides additional functions for constructing lines and works, in particular, with the parametric equations of lines.

Constructor & Destructor Documentation

◆ gp_Lin() [1/3]

gp_Lin::gp_Lin ( )
inline

Creates a Line corresponding to Z axis of the reference coordinate system.

◆ gp_Lin() [2/3]

gp_Lin::gp_Lin ( const gp_Ax1 theA1)
inline

Creates a line defined by axis theA1.

◆ gp_Lin() [3/3]

gp_Lin::gp_Lin ( const gp_Pnt theP,
const gp_Dir theV 
)
inline

Creates a line passing through point theP and parallel to vector theV (theP and theV are, respectively, the origin and the unit vector of the positioning axis of the line).

Member Function Documentation

◆ Angle()

Standard_Real gp_Lin::Angle ( const gp_Lin theOther) const
inline

Computes the angle between two lines in radians.

◆ Contains()

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

Returns true if this line contains the point theP, that is, if the distance between point theP and this line is less than or equal to theLinearTolerance..

◆ Direction()

const gp_Dir& gp_Lin::Direction ( ) const
inline

Returns the direction of the line.

◆ Distance() [1/2]

Standard_Real gp_Lin::Distance ( const gp_Lin theOther) const

Computes the distance between two lines.

◆ Distance() [2/2]

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

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

◆ Location()

const gp_Pnt& gp_Lin::Location ( ) const
inline

Returns the location point (origin) of the line.

◆ Mirror() [1/3]

void gp_Lin::Mirror ( const gp_Ax1 theA1)

◆ Mirror() [2/3]

void gp_Lin::Mirror ( const gp_Ax2 theA2)

◆ Mirror() [3/3]

void gp_Lin::Mirror ( const gp_Pnt theP)

◆ Mirrored() [1/3]

gp_Lin gp_Lin::Mirrored ( const gp_Ax1 theA1) const

Performs the symmetrical transformation of a line with respect to an axis placement which is the axis of the symmetry.

◆ Mirrored() [2/3]

gp_Lin gp_Lin::Mirrored ( const gp_Ax2 theA2) const

Performs the symmetrical transformation of a line with respect to a plane. The axis placement <theA2> locates the plane of the symmetry : (Location, XDirection, YDirection).

◆ Mirrored() [3/3]

gp_Lin gp_Lin::Mirrored ( const gp_Pnt theP) const

Performs the symmetrical transformation of a line with respect to the point theP which is the center of the symmetry.

◆ Normal()

gp_Lin gp_Lin::Normal ( const gp_Pnt theP) const
inline

Computes the line normal to the direction of <me>, passing through the point theP. Raises ConstructionError if the distance between <me> and the point theP is lower or equal to Resolution from gp because there is an infinity of solutions in 3D space.

◆ Position()

const gp_Ax1& gp_Lin::Position ( ) const
inline

Returns the axis placement one axis with the same location and direction as <me>.

◆ Reverse()

void gp_Lin::Reverse ( )
inline

◆ Reversed()

gp_Lin gp_Lin::Reversed ( ) const
inline

Reverses the direction of the line. Note:

  • Reverse assigns the result to this line, while
  • Reversed creates a new one.

◆ Rotate()

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

◆ Rotated()

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

Rotates a line. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians.

◆ Scale()

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

◆ Scaled()

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

Scales a line. theS is the scaling value. The "Location" point (origin) of the line is modified. The "Direction" is reversed if the scale is negative.

◆ SetDirection()

void gp_Lin::SetDirection ( const gp_Dir theV)
inline

Changes the direction of the line.

◆ SetLocation()

void gp_Lin::SetLocation ( const gp_Pnt theP)
inline

Changes the location point (origin) of the line.

◆ SetPosition()

void gp_Lin::SetPosition ( const gp_Ax1 theA1)
inline

Complete redefinition of the line. The "Location" point of <theA1> is the origin of the line. The "Direction" of <theA1> is the direction of the line.

◆ SquareDistance() [1/2]

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

Computes the square distance between two lines.

◆ SquareDistance() [2/2]

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

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

◆ Transform()

void gp_Lin::Transform ( const gp_Trsf theT)
inline

◆ Transformed()

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

Transforms a line with the transformation theT from class Trsf.

◆ Translate() [1/2]

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

◆ Translate() [2/2]

void gp_Lin::Translate ( const gp_Vec theV)
inline

◆ Translated() [1/2]

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

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

◆ Translated() [2/2]

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

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


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