|
CGAL 6.0 - dD Geometry Kernel
|
#include <CGAL/Kernel_d/Ray_d.h>
An instance of data type Ray_d is a ray in \( d\)-dimensional Euclidean space.
It starts in a point called the source of r and it goes to infinity.
Implementation
Rays are implemented by a pair of points as an item type. All operations like creation, initialization, tests, direction calculation, input and output on a ray \( r\) take time \(O(r.dimension())\). dimension(), coordinate and point access, and identity test take constant time. The space requirement is \(O(r.dimension())\).
Related Functions | |
(Note that these are not member functions.) | |
| bool | parallel (const Ray_d< Kernel > &r1, const Ray_d< Kernel > &r2) |
returns true if the unoriented supporting lines of r1 and r2 are parallel and false otherwise. | |
Types | |
| typedef unspecified_type | LA |
| the linear algebra layer. | |
Creation | |
| Ray_d () | |
| introduces some ray in \( d\)-dimensional space. | |
| Ray_d (Point_d< Kernel > p, Point_d< Kernel > q) | |
introduces a ray through p and q and starting at p. | |
| Ray_d (Point_d< Kernel > p, Direction_d< Kernel > dir) | |
introduces a ray starting in p with direction dir. | |
| Ray_d (Segment_d< Kernel > s) | |
introduces a ray through s.source() and s.target() and starting at s.source(). | |
Operations | |
| int | dimension () |
| returns the dimension of the ambient space. | |
| Point_d< Kernel > | source () |
returns the source point of r. | |
| Point_d< Kernel > | point (int i) |
returns a point on r. | |
| Direction_d< Kernel > | direction () |
returns the direction of r. | |
| Line_d< Kernel > | supporting_line () |
returns the supporting line of r. | |
| Ray_d< Kernel > | opposite () |
returns the ray with direction opposite to r and starting in source. | |
| Ray_d< Kernel > | transform (const Aff_transformation_d< Kernel > &t) |
| returns \( t(r)\). | |
| Ray_d< Kernel > | operator+ (const Vector_d< Kernel > &v) |
returns r+v, i.e., r translated by vector \( v\). | |
| bool | has_on (const Point_d< Kernel > &p) |
A point is on r, iff it is equal to the source of r, or if it is in the interior of r. | |
| CGAL::Ray_d< Kernel >::Ray_d | ( | Point_d< Kernel > | p, |
| Point_d< Kernel > | q | ||
| ) |
introduces a ray through p and q and starting at p.
p.dimension()==q.dimension(). | CGAL::Ray_d< Kernel >::Ray_d | ( | Point_d< Kernel > | p, |
| Direction_d< Kernel > | dir | ||
| ) |
introduces a ray starting in p with direction dir.
p and dir have the same dimension and dir is not degenerate.p.dimension()==dir.dimension(). | CGAL::Ray_d< Kernel >::Ray_d | ( | Segment_d< Kernel > | s | ) |
introduces a ray through s.source() and s.target() and starting at s.source().
| bool CGAL::Ray_d< Kernel >::has_on | ( | const Point_d< Kernel > & | p | ) |
A point is on r, iff it is equal to the source of r, or if it is in the interior of r.
r.dimension()==p.dimension(). | Ray_d< Kernel > CGAL::Ray_d< Kernel >::operator+ | ( | const Vector_d< Kernel > & | v | ) |
returns r+v, i.e., r translated by vector \( v\).
r.dimension()==v.dimension(). | Point_d< Kernel > CGAL::Ray_d< Kernel >::point | ( | int | i | ) |
returns a point on r.
point(0) is the source. point(i), with \( i>0\), is different from the source.
| Ray_d< Kernel > CGAL::Ray_d< Kernel >::transform | ( | const Aff_transformation_d< Kernel > & | t | ) |
returns \( t(r)\).
r.dimension()==t.dimension().