Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

vgl_homg_line_3d_2_points< Type > Class Template Reference

#include <vgl_homg_line_3d_2_points.h>

List of all members.


Detailed Description

template<class Type>
class vgl_homg_line_3d_2_points< Type >

Represents a homogeneous 3D line using two points.

A class to hold a homogeneous representation of a 3D Line. The line is stored as a pair of homogeneous 3d points.

Definition at line 25 of file vgl_homg_line_3d_2_points.h.

Public Member Functions

 vgl_homg_line_3d_2_points (void)
 Default constructor with (0,0,0,1) and (1,0,0,0), which is the line y=z=0.
 vgl_homg_line_3d_2_points (const vgl_homg_line_3d_2_points< Type > &that)
 Copy constructor.
 vgl_homg_line_3d_2_points (vgl_homg_point_3d< Type > const &point_1, vgl_homg_point_3d< Type > const &point_2)
 Construct from two points.
bool operator== (vgl_homg_line_3d_2_points< Type > const &l) const
 comparison.
bool operator!= (vgl_homg_line_3d_2_points< Type > const &l) const
vgl_homg_point_3d< Type > point_finite () const
 Finite point (Could be an ideal point, if the whole line is at infinity.
vgl_homg_point_3d< Type > point_infinite () const
 Infinite point: the intersection of the line with the plane at infinity.
void set (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2)
 Assignment.
bool ideal (Type tol=(Type) 0) const
 Return true iff line is at infinity.

Protected Member Functions

void force_point2_infinite (void) const
 force the point point_infinite_ to infinity, without changing the line.

Private Attributes

vgl_homg_point_3d< Type > point_finite_
 Any finite point on the line.
vgl_homg_point_3d< Type > point_infinite_
 the (unique) point at infinity.

Related Functions

(Note that these are not member functions.)

double vgl_distance_origin (vgl_homg_line_3d_2_points< T > const &l)
 find the shortest distance of the line to the origin.
bool is_ideal (l const &line, Type tol=(Type) 0)
 Return true iff line is at infinity.
bool coplanar (l const &l1, l const &l2)
 Are two lines coplanar, i.e.
bool concurrent (l const &l1, l const &l2)
 Are two lines concurrent, i.e.
bool coplanar (l const &l1, l const &l2, l const &l3)
 Are three lines coplanar, i.e.
vgl_homg_point_3d< Type > intersection (l const &l1, l const &l2)
 Return the intersection point of two concurrent lines.


Constructor & Destructor Documentation

template<class Type>
vgl_homg_line_3d_2_points< Type >::vgl_homg_line_3d_2_points void   )  [inline]
 

Default constructor with (0,0,0,1) and (1,0,0,0), which is the line y=z=0.

Definition at line 40 of file vgl_homg_line_3d_2_points.h.

template<class Type>
vgl_homg_line_3d_2_points< Type >::vgl_homg_line_3d_2_points const vgl_homg_line_3d_2_points< Type > &  that  )  [inline]
 

Copy constructor.

Definition at line 44 of file vgl_homg_line_3d_2_points.h.

template<class Type>
vgl_homg_line_3d_2_points< Type >::vgl_homg_line_3d_2_points vgl_homg_point_3d< Type > const &  point_1,
vgl_homg_point_3d< Type > const &  point_2
[inline]
 

Construct from two points.

Definition at line 48 of file vgl_homg_line_3d_2_points.h.


Member Function Documentation

template<class Type>
void vgl_homg_line_3d_2_points< Type >::force_point2_infinite void   )  const [protected]
 

force the point point_infinite_ to infinity, without changing the line.

This is called by the constructors

Definition at line 40 of file vgl_homg_line_3d_2_points.txx.

template<class Type>
bool vgl_homg_line_3d_2_points< Type >::ideal Type  tol = (Type)0  )  const [inline]
 

Return true iff line is at infinity.

Definition at line 75 of file vgl_homg_line_3d_2_points.h.

template<class Type>
bool vgl_homg_line_3d_2_points< Type >::operator!= vgl_homg_line_3d_2_points< Type > const &  l  )  const [inline]
 

Definition at line 59 of file vgl_homg_line_3d_2_points.h.

template<class Type>
bool vgl_homg_line_3d_2_points< Type >::operator== vgl_homg_line_3d_2_points< Type > const &  l  )  const
 

comparison.

Definition at line 21 of file vgl_homg_line_3d_2_points.txx.

template<class Type>
vgl_homg_point_3d<Type> vgl_homg_line_3d_2_points< Type >::point_finite  )  const [inline]
 

Finite point (Could be an ideal point, if the whole line is at infinity.

).

Definition at line 64 of file vgl_homg_line_3d_2_points.h.

template<class Type>
vgl_homg_point_3d<Type> vgl_homg_line_3d_2_points< Type >::point_infinite  )  const [inline]
 

Infinite point: the intersection of the line with the plane at infinity.

Definition at line 66 of file vgl_homg_line_3d_2_points.h.

template<class Type>
void vgl_homg_line_3d_2_points< Type >::set vgl_homg_point_3d< Type > const &  p1,
vgl_homg_point_3d< Type > const &  p2
[inline]
 

Assignment.

Definition at line 69 of file vgl_homg_line_3d_2_points.h.


Friends And Related Function Documentation

template<class Type>
bool concurrent l const &  l1,
l const &  l2
[related]
 

Are two lines concurrent, i.e.

, do they intersect?.

Definition at line 107 of file vgl_homg_line_3d_2_points.h.

template<class Type>
bool coplanar l const &  l1,
l const &  l2,
l const &  l3
[related]
 

Are three lines coplanar, i.e.

, are they in a common plane?.

Definition at line 119 of file vgl_homg_line_3d_2_points.h.

template<class Type>
bool coplanar l const &  l1,
l const &  l2
[related]
 

Are two lines coplanar, i.e.

, do they intersect?.

Definition at line 101 of file vgl_homg_line_3d_2_points.h.

template<class Type>
vgl_homg_point_3d< Type > intersection l const &  l1,
l const &  l2
[related]
 

Return the intersection point of two concurrent lines.

template<class Type>
bool is_ideal l const &  line,
Type  tol = (Type)0
[related]
 

Return true iff line is at infinity.

Definition at line 88 of file vgl_homg_line_3d_2_points.h.

template<class Type>
double vgl_distance_origin vgl_homg_line_3d_2_points< T > const &  l  )  [related]
 

find the shortest distance of the line to the origin.

Definition at line 199 of file vgl_distance.txx.


Member Data Documentation

template<class Type>
vgl_homg_point_3d<Type> vgl_homg_line_3d_2_points< Type >::point_finite_ [mutable, private]
 

Any finite point on the line.

Definition at line 30 of file vgl_homg_line_3d_2_points.h.

template<class Type>
vgl_homg_point_3d<Type> vgl_homg_line_3d_2_points< Type >::point_infinite_ [mutable, private]
 

the (unique) point at infinity.

Definition at line 32 of file vgl_homg_line_3d_2_points.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 14:39:27 2008 for core/vgl by  doxygen 1.4.4