# FoundationClasses
TKMath
gp

# 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
.

`#include <gp_Lin.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
| gp_Lin ()
| Creates an indefinite Line. .
| gp_Lin (const gp_Ax1 &A1)
| Creates a line defined by axis A1. .
Standard_EXPORT | 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). .
void | Reverse ()
gp_Lin | Reversed () const
| Reverses the direction of the line. Note: - Reverse assigns the result to this line, while - Reversed creates a new one. .
void | SetDirection (const gp_Dir &V)
| Changes the direction of the line. .
void | SetLocation (const gp_Pnt &P)
| Changes the location point (origin) of the line. .
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. .
const gp_Dir & | Direction () const
| Returns the direction of the line. .
const gp_Pnt & | Location () const
| Returns the location point (origin) of the line. .
const gp_Ax1 & | Position () const
| Returns the axis placement one axis whith the same location and direction as <me>. .
Standard_Real | Angle (const gp_Lin &Other) const
| Computes the angle between two lines in radians. .
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.. .
Standard_Real | Distance (const gp_Pnt &P) const
| Computes the distance between <me> and the point P. .
Standard_EXPORT Standard_Real | Distance (const gp_Lin &Other) const
| Computes the distance between two lines. .
Standard_Real | SquareDistance (const gp_Pnt &P) const
| Computes the square distance between <me> and the point P. .
Standard_Real | SquareDistance (const gp_Lin &Other) const
| Computes the square distance between two lines. .
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. .
Standard_EXPORT void | Mirror (const gp_Pnt &P)
Standard_EXPORT 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. .
Standard_EXPORT void | Mirror (const gp_Ax1 &A1)
Standard_EXPORT 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. .
Standard_EXPORT void | Mirror (const gp_Ax2 &A2)
Standard_EXPORT 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). .
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. .
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. .
void | Transform (const gp_Trsf &T)
gp_Lin | Transformed (const gp_Trsf &T) const
| Transforms a line with the transformation T from class Trsf. .
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. .
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. .
const gp_Ax1 & | _CSFDB_Getgp_Linpos () const

## Private Attributes

gp_Ax1 | pos

## Friends

Standard_EXPORT friend Handle_Standard_Type & | gp_Lin_Type_ ()

## Constructor & Destructor Documentation

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

gp_Lin::gp_Lin | ( | const gp_Ax1 & | A1 | ) | `[inline]`

gp_Lin::gp_Lin | ( | const gp_Pnt & | P,
|  | const gp_Dir & | V
| ) | `[inline]`

## Member Function Documentation

const gp_Ax1& gp_Lin::_CSFDB_Getgp_Linpos | ( |  | ) | const`[inline]`

Standard_Real gp_Lin::Angle | ( | const gp_Lin & | Other | ) | const`[inline]`

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

const gp_Dir & gp_Lin::Direction | ( |  | ) | const`[inline]`

Standard_EXPORT Standard_Real gp_Lin::Distance | ( | const gp_Lin & | Other | ) | const

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

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

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

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

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

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

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

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

gp_Lin gp_Lin::Normal | ( | const gp_Pnt & | P | ) | const`[inline]`

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

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

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

const gp_Ax1 & gp_Lin::Position | ( |  | ) | const`[inline]`

void gp_Lin::Reverse | ( |  | ) | `[inline]`

gp_Lin gp_Lin::Reversed | ( |  | ) | const`[inline]`

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

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

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

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

void gp_Lin::SetDirection | ( | const gp_Dir & | V | ) | `[inline]`

void gp_Lin::SetLocation | ( | const gp_Pnt & | P | ) | `[inline]`

void gp_Lin::SetPosition | ( | const gp_Ax1 & | A1 | ) | `[inline]`

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

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

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

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

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

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

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

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

## Friends And Related Function Documentation

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

## Field Documentation

gp_Ax1 gp_Lin::pos `[private]`

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

- gp_Lin.hxx
- gp_Lin.lxx