 
introduces a segment s with source p
and target q. The segment is directed from the source towards
the target.


 Test for equality: Two segments are equal, iff their sources and targets are equal. 

 Test for inequality. 

 returns the source of s. 

 returns the target of s. 

 returns the point of s with lexicographically smallest coordinate. 

 returns the point of s with lexicographically largest coordinate. 

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

 returns vertex(i). 

 returns vertex(i). 

 returns the squared length of s. 

 returns the direction from source to target of s. 

 returns the vector s.target()  s.source(). 

 returns a segment with source and target point interchanged. 

 returns the line l passing through s. Line l has the same orientation as segment s. 

 segment s is degenerate, if source and target are equal.  







 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.  

 
checks if point p is on segment s. This function is faster
than function has_on().


 returns a bounding box containing s. 

 
returns the segment obtained by applying t on the source and the target of s. 