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

bool  s.operator== ( q) const  Test for equality: Two segments are equal, iff their sources and targets are equal. 
bool  s.operator!= ( q) const  Test for inequality. 
Point_3<Kernel>  s.source () const  returns the source of s. 
Point_3<Kernel>  s.target () const  returns the target of s. 
Point_3<Kernel>  s.min () const  returns the point of s with smallest coordinate (lexicographically). 
Point_3<Kernel>  s.max () const  returns the point of s with largest coordinate (lexicographically). 
Point_3<Kernel>  s.vertex ( int i) const  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<Kernel>  s.point ( int i) const  returns vertex(i). 
Point_3<Kernel>  s.operator[] ( int i) const  returns vertex(i). 
Kernel::FT  s.squared_length () const  returns the squared length of s. 
Vector_3<Kernel>  s.to_vector () const  returns the vector s.target()  s.source(). 
Direction_3<Kernel>  s.direction () const  returns the direction from source to target. 
Segment_3<Kernel>  s.opposite () const  returns a segment with source and target interchanged. 
Line_3<Kernel>  s.supporting_line () const  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 () const  segment s is degenerate, if source and target fall together. 
bool  s.has_on ( Point_3<Kernel> p) const  
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 () const  returns a bounding box containing s. 
Segment_3<Kernel>  s.transform ( Aff_transformation_3<Kernel> t) const  
returns the segment obtained by applying t on the source and the target of s. 