Open CASCADE Technology  7.2.0
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 &A1)
 Creates a line defined by axis A1. More...
 
 gp_Lin (const gp_Pnt &P, const gp_Dir &V)
 Creates a line passing through point P and parallel to vector V (P and V 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 &V)
 Changes the direction of the line. More...
 
void SetLocation (const gp_Pnt &P)
 Changes the location point (origin) of the line. More...
 
void SetPosition (const gp_Ax1 &A1)
 Complete redefinition of the line. The "Location" point of <A1> is the origin of the line. The "Direction" of <A1> 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 whith the same location and direction as <me>. More...
 
Standard_Real Angle (const gp_Lin &Other) const
 Computes the angle between two lines in radians. More...
 
Standard_Boolean Contains (const gp_Pnt &P, const Standard_Real LinearTolerance) const
 Returns true if this line contains the point P, that is, if the distance between point P and this line is less than or equal to LinearTolerance.. More...
 
Standard_Real Distance (const gp_Pnt &P) const
 Computes the distance between <me> and the point P. More...
 
Standard_Real Distance (const gp_Lin &Other) const
 Computes the distance between two lines. More...
 
Standard_Real SquareDistance (const gp_Pnt &P) const
 Computes the square distance between <me> and the point P. More...
 
Standard_Real SquareDistance (const gp_Lin &Other) const
 Computes the square distance between two lines. More...
 
gp_Lin Normal (const gp_Pnt &P) const
 Computes the line normal to the direction of <me>, passing through the point P. Raises ConstructionError if the distance between <me> and the point P is lower or equal to Resolution from gp because there is an infinity of solutions in 3D space. More...
 
void Mirror (const gp_Pnt &P)
 
gp_Lin Mirrored (const gp_Pnt &P) const
 Performs the symmetrical transformation of a line with respect to the point P which is the center of the symmetry. More...
 
void Mirror (const gp_Ax1 &A1)
 
gp_Lin Mirrored (const gp_Ax1 &A1) 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 &A2)
 
gp_Lin Mirrored (const gp_Ax2 &A2) const
 Performs the symmetrical transformation of a line with respect to a plane. The axis placement <A2> locates the plane of the symmetry : (Location, XDirection, YDirection). More...
 
void Rotate (const gp_Ax1 &A1, const Standard_Real Ang)
 
gp_Lin Rotated (const gp_Ax1 &A1, const Standard_Real Ang) 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 &P, const Standard_Real S)
 
gp_Lin Scaled (const gp_Pnt &P, const Standard_Real S) const
 Scales a line. S 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 &T)
 
gp_Lin Transformed (const gp_Trsf &T) const
 Transforms a line with the transformation T from class Trsf. More...
 
void Translate (const gp_Vec &V)
 
gp_Lin Translated (const gp_Vec &V) const
 Translates a line in the direction of the vector V. The magnitude of the translation is the vector's magnitude. More...
 
void Translate (const gp_Pnt &P1, const gp_Pnt &P2)
 
gp_Lin Translated (const gp_Pnt &P1, const gp_Pnt &P2) const
 Translates a line from the point P1 to the point P2. 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 ( )

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

◆ gp_Lin() [2/3]

gp_Lin::gp_Lin ( const gp_Ax1 A1)

Creates a line defined by axis A1.

◆ gp_Lin() [3/3]

gp_Lin::gp_Lin ( const gp_Pnt P,
const gp_Dir V 
)

Creates a line passing through point P and parallel to vector V (P and V 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 Other) const

Computes the angle between two lines in radians.

◆ Contains()

Standard_Boolean gp_Lin::Contains ( const gp_Pnt P,
const Standard_Real  LinearTolerance 
) const

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

◆ Direction()

const gp_Dir& gp_Lin::Direction ( ) const

Returns the direction of the line.

◆ Distance() [1/2]

Standard_Real gp_Lin::Distance ( const gp_Pnt P) const

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

◆ Distance() [2/2]

Standard_Real gp_Lin::Distance ( const gp_Lin Other) const

Computes the distance between two lines.

◆ Location()

const gp_Pnt& gp_Lin::Location ( ) const

Returns the location point (origin) of the line.

◆ Mirror() [1/3]

void gp_Lin::Mirror ( const gp_Pnt P)

◆ Mirror() [2/3]

void gp_Lin::Mirror ( const gp_Ax1 A1)

◆ Mirror() [3/3]

void gp_Lin::Mirror ( const gp_Ax2 A2)

◆ Mirrored() [1/3]

gp_Lin gp_Lin::Mirrored ( const gp_Pnt P) const

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

◆ Mirrored() [2/3]

gp_Lin gp_Lin::Mirrored ( const gp_Ax1 A1) const

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

◆ Mirrored() [3/3]

gp_Lin gp_Lin::Mirrored ( const gp_Ax2 A2) const

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

◆ Normal()

gp_Lin gp_Lin::Normal ( const gp_Pnt P) const

Computes the line normal to the direction of <me>, passing through the point P. Raises ConstructionError if the distance between <me> and the point P 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

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

◆ Reverse()

void gp_Lin::Reverse ( )

◆ Reversed()

gp_Lin gp_Lin::Reversed ( ) const

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 A1,
const Standard_Real  Ang 
)

◆ Rotated()

gp_Lin gp_Lin::Rotated ( const gp_Ax1 A1,
const Standard_Real  Ang 
) const

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 P,
const Standard_Real  S 
)

◆ Scaled()

gp_Lin gp_Lin::Scaled ( const gp_Pnt P,
const Standard_Real  S 
) const

Scales a line. S 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 V)

Changes the direction of the line.

◆ SetLocation()

void gp_Lin::SetLocation ( const gp_Pnt P)

Changes the location point (origin) of the line.

◆ SetPosition()

void gp_Lin::SetPosition ( const gp_Ax1 A1)

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

◆ SquareDistance() [1/2]

Standard_Real gp_Lin::SquareDistance ( const gp_Pnt P) const

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

◆ SquareDistance() [2/2]

Standard_Real gp_Lin::SquareDistance ( const gp_Lin Other) const

Computes the square distance between two lines.

◆ Transform()

void gp_Lin::Transform ( const gp_Trsf T)

◆ Transformed()

gp_Lin gp_Lin::Transformed ( const gp_Trsf T) const

Transforms a line with the transformation T from class Trsf.

◆ Translate() [1/2]

void gp_Lin::Translate ( const gp_Vec V)

◆ Translate() [2/2]

void gp_Lin::Translate ( const gp_Pnt P1,
const gp_Pnt P2 
)

◆ Translated() [1/2]

gp_Lin gp_Lin::Translated ( const gp_Vec V) const

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

◆ Translated() [2/2]

gp_Lin gp_Lin::Translated ( const gp_Pnt P1,
const gp_Pnt P2 
) const

Translates a line from the point P1 to the point P2.


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