Classes | Macros | Functions
vgl_line_2d.h File Reference
#include <iosfwd>
#include <cassert>
#include <vgl/vgl_fwd.h>
#include <vgl/vgl_vector_2d.h>

Go to the source code of this file.

Classes

class  vgl_line_2d< Type >
 Represents a Euclidean 2D line. More...
 

Macros

#define l   vgl_line_2d<Type>
 
#define VGL_LINE_2D_INSTANTIATE(T)   extern "please include vgl/vgl_line_2d.hxx first"
 

Functions

template<class Type >
bool is_ideal (l const &, Type=(Type) 0)
 Return true iff line is the line at infinity. More...
 
template<class Type >
bool concurrent (l const &l1, l const &l2, l const &l3)
 Are three lines concurrent, i.e., do they pass through a common point?. More...
 
template<class Type >
std::ostream & operator<< (std::ostream &s, l const &line)
 Write line description to stream: "<vgl_line_2d ax+by+c>". More...
 
template<class Type >
std::istream & operator>> (std::istream &s, l &line)
 Read in three line parameters from stream. More...
 

Detailed Description

Author
Don Hamilton, Peter Tu, Peter Vanroose, Francois BERTEL, Franck Bettinger
Date
2000-02-16 Don HAMILTON, Peter TU - Creation
  Modifications
   2000-02-29 Peter Vanroose    Several minor fixes
   2000-05-05 Francois BERTEL   Several minor bugs fixed
   2000-05-09 Peter Vanroose    dist_origin() re-implemented
   2000-12-01 Peter Vanroose    moved dist_origin() to vgl_distance.h
   2001-03-19 Franck Bettinger  added Manchester binary IO code
   2001-06-27 Peter Vanroose    Added operator==
   2001-07-05 Peter Vanroose    direction, normal in terms of vgl_vector_2d
   2001-07-06 Peter Vanroose    Added concurrent(), added assertions
   2009-05-21 Peter Vanroose    istream operator>> re-implemented

Definition in file vgl_line_2d.h.

Macro Definition Documentation

◆ l

#define l   vgl_line_2d<Type>

Definition at line 130 of file vgl_line_2d.h.

◆ VGL_LINE_2D_INSTANTIATE

#define VGL_LINE_2D_INSTANTIATE (   T)    extern "please include vgl/vgl_line_2d.hxx first"

Definition at line 163 of file vgl_line_2d.h.

Function Documentation

◆ concurrent()

template<class Type >
bool concurrent ( l const &  l1,
l const &  l2,
l const &  l3 
)
inline

Are three lines concurrent, i.e., do they pass through a common point?.

Definition at line 140 of file vgl_line_2d.h.

◆ is_ideal()

template<class Type >
bool is_ideal ( l const &  ,
Type  = (Type)0 
)
inline

Return true iff line is the line at infinity.

Definition at line 135 of file vgl_line_2d.h.

◆ operator<<()

template<class Type >
std::ostream& operator<< ( std::ostream &  s,
l const &  line 
)

Write line description to stream: "<vgl_line_2d ax+by+c>".

◆ operator>>()

template<class Type >
std::istream& operator>> ( std::istream &  s,
l line 
)

Read in three line parameters from stream.

Either just reads three blank-separated numbers, or reads three comma-separated numbers, or reads three numbers in parenthesized form "(123, 321, -456)" or reads a formatted line equation "123x+321y-456=0"