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

vgl_line_3d_2_points< Type > Class Template Reference

#include <vgl_line_3d_2_points.h>

List of all members.


Detailed Description

template<class Type>
class vgl_line_3d_2_points< Type >

A class to hold a non-homogeneous representation of a 3D line.

The line is stored as a pair of non-homogeneous 3D points.

Definition at line 26 of file vgl_line_3d_2_points.h.

Public Member Functions

 vgl_line_3d_2_points (void)
 Default constructor with (0,0,0) and (1,0,0), which is the line y=z=0.
 vgl_line_3d_2_points (const vgl_line_3d_2_points< Type > &that)
 Copy constructor.
 vgl_line_3d_2_points (vgl_point_3d< Type > const &p1, vgl_point_3d< Type > const &p2)
 Construct from two points.
bool operator== (vgl_line_3d_2_points< Type > const &l) const
 comparison.
bool operator!= (vgl_line_3d_2_points< Type > const &l) const
vgl_point_3d< Type > point1 () const
 Return the first point representing this line.
vgl_point_3d< Type > point2 () const
 Return the second point representing this line.
void set (vgl_point_3d< Type > const &p1, vgl_point_3d< Type > const &p2)
 Assignment.
bool ideal (Type=(Type) 0) const
 Return true iff line is at infinity (which is always false).
vgl_vector_3d< Type > direction () const
 Return the direction vector of this line (not normalised).
vgl_point_3d< Type > point_t (const double t) const
 Return a point on the line defined by a scalar parameter t such that t=0.0 at point1 and t=1.0 at point2.

Private Attributes

vgl_point_3d< Type > point1_
 Any point on the line.
vgl_point_3d< Type > point2_
 Any other point on the line.

Related Functions

(Note that these are not member functions.)

double vgl_distance_origin (vgl_line_3d_2_points< T > const &l)
 find the shortest distance of the line to the origin.
vgl_point_3d< T > vgl_intersection (vgl_line_3d_2_points< T > const &l1, vgl_line_3d_2_points< T > const &l2)
 Return the intersection point of two concurrent lines.


Constructor & Destructor Documentation

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

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

Definition at line 41 of file vgl_line_3d_2_points.h.

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

Copy constructor.

Definition at line 45 of file vgl_line_3d_2_points.h.

template<class Type>
vgl_line_3d_2_points< Type >::vgl_line_3d_2_points vgl_point_3d< Type > const &  p1,
vgl_point_3d< Type > const &  p2
[inline]
 

Construct from two points.

Definition at line 49 of file vgl_line_3d_2_points.h.


Member Function Documentation

template<class Type>
vgl_vector_3d<Type> vgl_line_3d_2_points< Type >::direction  )  const [inline]
 

Return the direction vector of this line (not normalised).

Definition at line 74 of file vgl_line_3d_2_points.h.

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

Return true iff line is at infinity (which is always false).

Definition at line 71 of file vgl_line_3d_2_points.h.

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

Definition at line 55 of file vgl_line_3d_2_points.h.

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

comparison.

Definition at line 21 of file vgl_line_3d_2_points.txx.

template<class Type>
vgl_point_3d<Type> vgl_line_3d_2_points< Type >::point1  )  const [inline]
 

Return the first point representing this line.

Definition at line 60 of file vgl_line_3d_2_points.h.

template<class Type>
vgl_point_3d<Type> vgl_line_3d_2_points< Type >::point2  )  const [inline]
 

Return the second point representing this line.

Definition at line 62 of file vgl_line_3d_2_points.h.

template<class Type>
vgl_point_3d<Type> vgl_line_3d_2_points< Type >::point_t const double  t  )  const [inline]
 

Return a point on the line defined by a scalar parameter t such that t=0.0 at point1 and t=1.0 at point2.

Definition at line 77 of file vgl_line_3d_2_points.h.

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

Assignment.

Definition at line 65 of file vgl_line_3d_2_points.h.


Friends And Related Function Documentation

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

find the shortest distance of the line to the origin.

Definition at line 206 of file vgl_distance.txx.

template<class Type>
vgl_point_3d< T > vgl_intersection vgl_line_3d_2_points< T > const &  l1,
vgl_line_3d_2_points< T > const &  l2
[related]
 

Return the intersection point of two concurrent lines.

Definition at line 210 of file vgl_intersection.txx.


Member Data Documentation

template<class Type>
vgl_point_3d<Type> vgl_line_3d_2_points< Type >::point1_ [private]
 

Any point on the line.

Definition at line 31 of file vgl_line_3d_2_points.h.

template<class Type>
vgl_point_3d<Type> vgl_line_3d_2_points< Type >::point2_ [private]
 

Any other point on the line.

Definition at line 33 of file vgl_line_3d_2_points.h.


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