CGAL 6.1 - 2D and 3D Linear Geometry Kernel

Loading...
Searching...
No Matches
List of all members
CGAL::Line_3< Kernel > Class Template Reference
Reference Manual » 3D Kernel Objects

`#include <CGAL/Line_3.h>`

## Definition

template<typename Kernel>
class CGAL::Line_3< Kernel >

An object `l` of the data type `Line_3` is a directed straight line in the three-dimensional Euclidean space \( \E^3\).

Is model of
  `Kernel::Line_3`

## Creation
| Line_3 (const Point_3< Kernel > &p, const Point_3< Kernel > &q)
| introduces a line `l` passing through the points `p` and `q`.
| Line_3 (const Point_3< Kernel > &p, const Direction_3< Kernel > &d)
| introduces a line `l` passing through point `p` with direction `d`.
| Line_3 (const Point_3< Kernel > &p, const Vector_3< Kernel > &v)
| introduces a line `l` passing through point `p` and oriented by `v`.
| Line_3 (const Segment_3< Kernel > &s)
| returns the line supporting the segment `s`, oriented from source to target.
| Line_3 (const Ray_3< Kernel > &r)
| returns the line supporting the ray `r`, with the same orientation.

## Operations
bool | operator== (const Line_3< Kernel > &h) const
| Test for equality: two lines are equal, iff they have a non empty intersection and the same direction.
bool | operator!= (const Line_3< Kernel > &h) const
| Test for inequality.
Point_3< Kernel > | projection (const Point_3< Kernel > &p) const
| returns the orthogonal projection of `p` on `l`.
Point_3< Kernel > | point (const Kernel::FT i) const
| returns an arbitrary point on `l`.

## Predicates
bool | is_degenerate () const
| returns `true` iff line `l` is degenerated to a point.
bool | has_on (const Point_3< Kernel > &p) const
| returns `true` iff `p` lies on `l`.

## Miscellaneous
Plane_3< Kernel > | perpendicular_plane (const Point_3< Kernel > &p) const
| returns the plane perpendicular to `l` passing through `p`.
Line_3< Kernel > | opposite () const
| returns the line with opposite direction.
Vector_3< Kernel > | to_vector () const
| returns a vector having the same direction as `l`.
Direction_3< Kernel > | direction () const
| returns the direction of `l`.
Line_3< Kernel > | transform (const Aff_transformation_3< Kernel > &t) const
| returns the line obtained by applying `t` on a point on `l` and the direction of `l`.

## Constructor & Destructor Documentation

## ◆ Line_3() [1/3]

template<typename Kernel >

CGAL::Line_3< Kernel >::Line_3 | ( | const Point_3< Kernel > & | p,
|  | const Point_3< Kernel > & | q
| ) |  |

introduces a line `l` passing through the points `p` and `q`.

Line `l` is directed from `p` to `q`.

## ◆ Line_3() [2/3]

template<typename Kernel >

CGAL::Line_3< Kernel >::Line_3 | ( | const Point_3< Kernel > & | p,
|  | const Direction_3< Kernel > & | d
| ) |  |

introduces a line `l` passing through point `p` with direction `d`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.

## ◆ Line_3() [3/3]

template<typename Kernel >

CGAL::Line_3< Kernel >::Line_3 | ( | const Point_3< Kernel > & | p,
|  | const Vector_3< Kernel > & | v
| ) |  |

introduces a line `l` passing through point `p` and oriented by `v`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.

## Member Function Documentation

## ◆ direction()

template<typename Kernel >

Direction_3< Kernel > CGAL::Line_3< Kernel >::direction | ( |  | ) | const

returns the direction of `l`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.

## ◆ opposite()

template<typename Kernel >

Line_3< Kernel > CGAL::Line_3< Kernel >::opposite | ( |  | ) | const

returns the line with opposite direction.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.

## ◆ point()

template<typename Kernel >

Point_3< Kernel > CGAL::Line_3< Kernel >::point | ( | const Kernel::FT | i | ) | const

returns an arbitrary point on `l`.

It holds `point(i) = point(j)`, iff `i=j`.

## ◆ to_vector()

template<typename Kernel >

Vector_3< Kernel > CGAL::Line_3< Kernel >::to_vector | ( |  | ) | const

returns a vector having the same direction as `l`.

Exactness
  This construction is trivial and therefore always exact in `Exact_predicates_inexact_constructions_kernel`.