Navigation: Up, Table of Contents, Bibliography, Index, Title Page

CGAL::Segment_3<R>

Definition

An object s of the data type Segment_3<R> is a directed straight line segment in the three-dimensional Euclidean space 3, i.e. a straight line segment [p,q] connecting two points p,q 3. The segment is topologically closed, i.e. the end points belong to it. Point p is called the source and q is called the target of s. The length of s is the Euclidean distance between p and q. Note that there is only a function to compute the square of the length, because otherwise we had to perform a square root operation which is not defined for all number types, is expensive, and may not be exact.

Creation

Segment_3<R> s ( Point_3<R> p, Point_3<R> q);
introduces a segment s with source p and target q. It is directed from the source towards the target.

Operations

bool s.operator== ( q)
Test for equality: Two segments are equal, iff their sources and targets are equal.

bool s.operator!= ( q)
Test for inequality.

Point_3<R> s.source () returns the source of s.
Point_3<R> s.target () returns the target of s.

Point_3<R> s.min () returns the point of s with smallest coordinate (lexicographically).

Point_3<R> s.max () returns the point of s with largest coordinate (lexicographically).

Point_3<R> s.vertex ( int i) returns source or target of s: vertex(0) returns the source, vertex(1) returns the target. The parameter i is taken modulo 2, which gives easy access to the other vertex.

Point_3<R> s.point ( int i) returns vertex(i).
Point_3<R> s.operator[] ( int i)
returns vertex(i).

R::FT s.squared_length ()
returns the squared length of s.

Direction_3<R> s.direction () returns the direction from source to target.

Segment_3<R> s.opposite () returns a segment with source and target interchanged.

Line_3<R> s.supporting_line ()
returns the line l passing through s. Line l has the same orientation as segment s, that is from the source to the target of s.

bool s.is_degenerate () segment s is degenerate, if source and target fall together.

bool s.has_on ( Point_3<R> p)
A point is on s, iff it is equal to the source or target of s, or if it is in the interior of s.

Bbox_3 s.bbox () returns a bounding box containing s.

Segment_3<R> s.transform ( Aff_transformation_3<R> t)
returns the segment obtained by applying t on the source and the target of s.

See Also

Kernel::Segment_3


Next: Sphere_3<R>
Navigation: Up, Table of Contents, Bibliography, Index, Title Page
www.cgal.org. Aug 13, 2001.