![]()  | 
The line splits  
 2 in a positive and a negative
side. A point p with 
Cartesian
 coordinates 
(px, py) is on the positive side of l, iff
a  px + b  py +c > 0, it is
on the negative side of l, iff 
a  px + b  py +c < 0.
The positive side is to the left of l.
| 
         | |
| 
    introduces a line l with the line equation in 
Cartesian
              coordinates ax +by +c = 0.
 
  | |
| 
         | |
| 
    introduces a line l passing through the points p and q. 
             Line l is directed from p to q.
 
  | |
| 
         | |
| 
    introduces a line l passing through point p with 
             direction d.
 
  | |
| 
         | |
| 
    introduces a line l passing through point p and
             oriented by v.
 
  | |
| 
         | |
| 
    introduces a line l supporting the segment s,
            oriented from source to target.
 
  | |
| 
         | |
| 
    introduces a line l supporting the ray r,
            with same orientation.
 
  | |
| 
         | 
         | Test for equality: two lines are equal, iff they have a non empty intersection and the same direction. | ||
| 
         | 
         | Test for inequality. | ||
| 
         | 
         | returns the first coefficient of l. | ||
| 
         | 
         | returns the second coefficient of l. | ||
| 
         | 
         | returns the third coefficient of l. | ||
| 
         | 
         | returns an arbitrary point on l. It holds point(i) == point(j), iff i==j. Furthermore, l is directed from point(i) to point(j), for all i < j. | ||
| 
         | 
         | |||
| returns the orthogonal projection of p onto l. | ||||
| 
         | 
         | 
    returns the x-coordinate of the point at l with
        given y-coordinate.
        
  | ||
| 
         | 
         | 
    returns the y-coordinate of the point at l with
        given x-coordinate.
        
  | ||
| 
         | 
         | line l is degenerate, if the coefficients a and b of the line equation are zero. | 
| 
         | 
         | 
    
        |
| 
         | 
         | 
    
        |
| 
         | 
         | |
| returns ON_ORIENTED_BOUNDARY, ON_NEGATIVE_SIDE, or the constant ON_POSITIVE_SIDE, depending on the position of p relative to the oriented line l. | ||
For convenience we provide the following Boolean functions:
| 
         | 
         | 
    
        |
| 
         | 
         | |
| 
         | 
         | |
| 
         | 
         | returns a vector having the direction of l. | 
| 
         | 
         | returns the direction of l. | 
| 
         | 
         | returns the line with opposite direction. | 
| 
         | 
         | |
| returns the line perpendicular to l and passing through p, where the direction is the direction of l rotated counterclockwise by 90 degrees. | ||
| 
         | 
         | |
| returns the line obtained by applying t on a point on l and the direction of l. | ||
Point_2< Cartesian<double> > p(1.0,1.0), q(4.0,7.0);
To define a line l we write:
Line_2< Cartesian<double> > l(p,q);