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

vgl_homg_plane_3d< Type > Class Template Reference

#include <vgl_homg_plane_3d.h>

Inheritance diagram for vgl_homg_plane_3d< Type >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class Type>
class vgl_homg_plane_3d< Type >

Represents a homogeneous 3D plane.

Definition at line 28 of file vgl_homg_plane_3d.h.

Public Member Functions

 vgl_homg_plane_3d ()
 vgl_homg_plane_3d (Type nx, Type ny, Type nz, Type d)
 Construct from four Types.
 vgl_homg_plane_3d (const Type v[4])
 Construct from 4-vector.
 vgl_homg_plane_3d (vgl_plane_3d< Type > const &pl)
 Construct from non-homogeneous plane.
 vgl_homg_plane_3d (vgl_vector_3d< Type > const &n, vgl_homg_point_3d< Type > const &p)
 Construct from normal and a point.
 vgl_homg_plane_3d (vgl_homg_point_3d< Type > const &p1, vgl_homg_point_3d< Type > const &p2, vgl_homg_point_3d< Type > const &p3)
 Construct from three non-collinear points.
 vgl_homg_plane_3d (vgl_homg_line_3d_2_points< Type > const &l1, vgl_homg_line_3d_2_points< Type > const &l2)
 Construct from two concurrent lines.
Type a () const
 Return x coefficient.
Type nx () const
Type b () const
 Return y coefficient.
Type ny () const
Type c () const
 Return z coefficient.
Type nz () const
Type d () const
 Return homogeneous scaling coefficient.
void set (Type a, Type b, Type c, Type d)
 Set equation a*x+b*y+c*z+d*w=0.
bool operator== (vgl_homg_plane_3d< Type > const &pl) const
 the comparison operator.
bool operator!= (vgl_homg_plane_3d< Type >const &pl) const
bool ideal (Type tol=(Type) 0) const
 Return true iff the plane is the plane at infinity.
vgl_vector_3d< double > normal () const

Private Attributes

Type a_
Type b_
Type c_
Type d_

Related Functions

(Note that these are not member functions.)

vgl_homg_point_3d< T > vgl_closest_point (vgl_homg_plane_3d< T > const &pl, vgl_homg_point_3d< T > const &p)
 Return the point on the given plane closest to the given point.
double vgl_distance_origin (vgl_homg_plane_3d< T > const &pl)
 find the shortest distance of the plane to the origin.
double vgl_distance (vgl_homg_plane_3d< T > const &l, vgl_homg_point_3d< T > const &p)
 return the perpendicular distance from a point to a plane in 3D.
bool is_ideal (vgl_homg_plane_3d< Type > const &p, Type tol=(Type) 0)
 Return true iff p is the plane at infinity.


Constructor & Destructor Documentation

template<class Type>
vgl_homg_plane_3d< Type >::vgl_homg_plane_3d  )  [inline]
 

Definition at line 37 of file vgl_homg_plane_3d.h.

template<class Type>
vgl_homg_plane_3d< Type >::vgl_homg_plane_3d Type  nx,
Type  ny,
Type  nz,
Type  d
[inline]
 

Construct from four Types.

Definition at line 40 of file vgl_homg_plane_3d.h.

template<class Type>
vgl_homg_plane_3d< Type >::vgl_homg_plane_3d const Type  v[4]  )  [inline]
 

Construct from 4-vector.

Definition at line 43 of file vgl_homg_plane_3d.h.

template<class Type>
vgl_homg_plane_3d< Type >::vgl_homg_plane_3d vgl_plane_3d< Type > const &  pl  ) 
 

Construct from non-homogeneous plane.

Definition at line 16 of file vgl_homg_plane_3d.txx.

template<class Type>
vgl_homg_plane_3d< Type >::vgl_homg_plane_3d vgl_vector_3d< Type > const &  n,
vgl_homg_point_3d< Type > const &  p
 

Construct from normal and a point.

The given point must not be at infinity.

Definition at line 56 of file vgl_homg_plane_3d.txx.

template<class Type>
vgl_homg_plane_3d< Type >::vgl_homg_plane_3d vgl_homg_point_3d< Type > const &  p1,
vgl_homg_point_3d< Type > const &  p2,
vgl_homg_point_3d< Type > const &  p3
 

Construct from three non-collinear points.

Definition at line 21 of file vgl_homg_plane_3d.txx.

template<class Type>
vgl_homg_plane_3d< Type >::vgl_homg_plane_3d vgl_homg_line_3d_2_points< Type > const &  l1,
vgl_homg_line_3d_2_points< Type > const &  l2
 

Construct from two concurrent lines.

Definition at line 42 of file vgl_homg_plane_3d.txx.


Member Function Documentation

template<class Type>
Type vgl_homg_plane_3d< Type >::a  )  const [inline]
 

Return x coefficient.

Definition at line 64 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::b  )  const [inline]
 

Return y coefficient.

Definition at line 67 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::c  )  const [inline]
 

Return z coefficient.

Definition at line 70 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::d  )  const [inline]
 

Return homogeneous scaling coefficient.

Definition at line 73 of file vgl_homg_plane_3d.h.

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

Return true iff the plane is the plane at infinity.

The method checks that max(|a|,|b|,|c|) <= tol * |d| If called without an argument, tol=0, i.e., a, b and c must be 0.

Definition at line 85 of file vgl_homg_plane_3d.h.

template<class Type>
vgl_vector_3d<double> vgl_homg_plane_3d< Type >::normal  )  const [inline]
 

Definition at line 94 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::nx  )  const [inline]
 

Definition at line 65 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::ny  )  const [inline]
 

Definition at line 68 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::nz  )  const [inline]
 

Definition at line 71 of file vgl_homg_plane_3d.h.

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

Definition at line 80 of file vgl_homg_plane_3d.h.

template<class Type>
bool vgl_homg_plane_3d< Type >::operator== vgl_homg_plane_3d< Type > const &  pl  )  const
 

the comparison operator.

Definition at line 62 of file vgl_homg_plane_3d.txx.

template<class Type>
void vgl_homg_plane_3d< Type >::set Type  a,
Type  b,
Type  c,
Type  d
[inline]
 

Set equation a*x+b*y+c*z+d*w=0.

Definition at line 76 of file vgl_homg_plane_3d.h.


Friends And Related Function Documentation

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

Return true iff p is the plane at infinity.

The method checks that max(|a|,|b|,|c|) <= tol * |d|

Definition at line 101 of file vgl_homg_plane_3d.h.

template<class Type>
vgl_homg_point_3d< T > vgl_closest_point vgl_homg_plane_3d< T > const &  pl,
vgl_homg_point_3d< T > const &  p
[related]
 

Return the point on the given plane closest to the given point.

template<class Type>
double vgl_distance vgl_homg_plane_3d< T > const &  l,
vgl_homg_point_3d< T > const &  p
[related]
 

return the perpendicular distance from a point to a plane in 3D.

template<class Type>
double vgl_distance_origin vgl_homg_plane_3d< T > const &  pl  )  [related]
 

find the shortest distance of the plane to the origin.


Member Data Documentation

template<class Type>
Type vgl_homg_plane_3d< Type >::a_ [private]
 

Definition at line 31 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::b_ [private]
 

Definition at line 32 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::c_ [private]
 

Definition at line 33 of file vgl_homg_plane_3d.h.

template<class Type>
Type vgl_homg_plane_3d< Type >::d_ [private]
 

Definition at line 34 of file vgl_homg_plane_3d.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