\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.8.2 - 2D and 3D Linear Geometry Kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Line_3< Kernel > Class Template Reference

#include <CGAL/Line_3.h>


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

See Also


 Line_3 (const Point_3< Kernel > &p, const Point_3< Kernel > &q)
 introduces a line l passing through the points p and q. More...
 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.


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< Kernelprojection (const Point_3< Kernel > &p) const
 returns the orthogonal projection of p on l.
Point_3< Kernelpoint (int i) const
 returns an arbitrary point on l. More...


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.


Plane_3< Kernelperpendicular_plane (const Point_3< Kernel > &p) const
 returns the plane perpendicular to l passing through p.
Line_3< Kernelopposite () const
 returns the line with opposite direction.
Vector_3< Kernelto_vector () const
 returns a vector having the same direction as l.
Direction_3< Kerneldirection () const
 returns the direction of l.
Line_3< Kerneltransform (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

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.

Member Function Documentation

template<typename Kernel >
Point_3<Kernel> CGAL::Line_3< Kernel >::point ( int  i) const

returns an arbitrary point on l.

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