CGAL 5.3 - 2D and 3D Linear Geometry Kernel
CGAL::Ray_3< Kernel > Class Template Reference

#include <CGAL/Ray_3.h>

## Definition

An object r of the data type Ray_3 is a directed straight ray in the three-dimensional Euclidean space $$\E^3$$.

It starts in a point called the source of r and it goes to infinity.

Is Model Of:
Kernel::Ray_3

## Creation

Ray_3 (const Point_3< Kernel > &p, const Point_3< Kernel > &q)
introduces a ray r with source p and passing through point q.

Ray_3 (const Point_3< Kernel > &p, const Direction_3< Kernel > &d)
introduces a ray r with source p and with direction d.

Ray_3 (const Point_3< Kernel > &p, const Vector_3< Kernel > &v)
introduces a ray r with source p and with a direction given by v.

Ray_3 (const Point_3< Kernel > &p, const Line_3< Kernel > &l)
introduces a ray r starting at source p with the same direction as l.

## Operations

bool operator== (const Ray_3< Kernel > &h) const
Test for equality: two rays are equal, iff they have the same source and the same direction.

bool operator!= (const Ray_3< Kernel > &h) const
Test for inequality.

Point_3< Kernelsource () const
returns the source of r

Point_3< Kernelpoint (const Kernel::FT i) const
returns a point on r. More...

Direction_3< Kerneldirection () const
returns the direction of r.

Vector_3< Kernelto_vector () const
returns a vector giving the direction of r.

Line_3< Kernelsupporting_line () const
returns the line supporting r which has the same direction.

Ray_3< Kernelopposite () const
returns the ray with the same source and the opposite direction.

bool is_degenerate () const
ray r is degenerate, if the source and the second defining point fall together (that is if the direction is degenerate).

bool has_on (const Point_3< Kernel > &p) const
A point is on r, iff it is equal to the source of r, or if it is in the interior of r.

Ray_3< Kerneltransform (const Aff_transformation_3< Kernel > &t) const
returns the ray obtained by applying t on the source and on the direction of r.

## ◆ point()

template<typename Kernel >
 Point_3 CGAL::Ray_3< Kernel >::point ( const Kernel::FT i ) const

returns a point on r.

point(0) is the source. point(i), with i>0, is different from the source.

Precondition
$$i \geq0$$.