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

vgl_rotation_3d< T > Class Template Reference

#include <vgl_rotation_3d.h>

List of all members.


Detailed Description

template<class T>
class vgl_rotation_3d< T >

Definition at line 34 of file vgl_rotation_3d.h.

Public Member Functions

 vgl_rotation_3d ()
 Construct the identity rotation.
 vgl_rotation_3d (const vnl_quaternion< T > &q)
 Construct from a quaternion.
 vgl_rotation_3d (const T &rx, const T &ry, const T &rz)
 Construct from Euler angles.
 vgl_rotation_3d (const vnl_vector_fixed< T, 3 > &rvector)
 Construct from a Rodrigues vector.
 vgl_rotation_3d (const vnl_matrix_fixed< T, 3, 3 > &matrix)
 Construct from a 3x3 rotation matrix.
 vgl_rotation_3d (const vgl_h_matrix_3d< T > &h)
 Construct from a vgl_h_matrix_3d.
 vgl_rotation_3d (const vnl_vector_fixed< T, 3 > &a, const vnl_vector_fixed< T, 3 > &b)
 Construct to rotate vector a to vector b.
 vgl_rotation_3d (const vgl_vector_3d< T > &a, const vgl_vector_3d< T > &b)
 Construct to rotate vector a to vector b.
vnl_quaternion< T > as_quaternion () const
 Output unit quaternion.
vnl_vector_fixed< T, 3 > as_euler_angles () const
 Output Euler angles.
vnl_vector_fixed< T, 3 > as_rodrigues () const
 Output Rodrigues vector.
vnl_matrix_fixed< T, 3, 3 > as_matrix () const
 Output the matrix representation of this rotation in 3x3 form.
vgl_h_matrix_3d< T > as_h_matrix_3d () const
 Output the matrix representation of this rotation in 4x4 form.
vnl_vector_fixed< T, 3 > axis () const
 Returns the axis of rotation (unit vector).
angle () const
 Returns the magnitude of the angle of rotation.
void set_identity ()
 Make the rotation the identity (i.e. no rotation).
vgl_rotation_3d< T > inverse () const
 The inverse rotation.
vgl_rotation_3d< T > operator * (const vgl_rotation_3d< T > &first_rotation) const
 Composition of two rotations.
vgl_homg_point_3d< T > operator * (const vgl_homg_point_3d< T > &p) const
 Rotate a homogeneous point.
vgl_homg_plane_3d< T > operator * (const vgl_homg_plane_3d< T > &p) const
 Rotate a homogeneous plane.
vgl_homg_line_3d_2_points< T > operator * (const vgl_homg_line_3d_2_points< T > &l) const
 Rotate a homogeneous line.
vgl_point_3d< T > operator * (const vgl_point_3d< T > &p) const
 Rotate a point.
vgl_plane_3d< T > operator * (const vgl_plane_3d< T > &p) const
 Rotate a plane.
vgl_line_3d_2_points< T > operator * (const vgl_line_3d_2_points< T > &l) const
 Rotate a line.
vgl_line_segment_3d< T > operator * (const vgl_line_segment_3d< T > &l) const
 Rotate a line segment.
vgl_vector_3d< T > operator * (const vgl_vector_3d< T > &v) const
 Rotate a vgl vector.
vnl_vector_fixed< T, 3 > operator * (const vnl_vector_fixed< T, 3 > &v) const
 Rotate a vnl vector.

Protected Attributes

vnl_quaternion< T > q_
 The internal representation of the rotation is a quaternion.


Constructor & Destructor Documentation

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d  )  [inline]
 

Construct the identity rotation.

Definition at line 40 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d const vnl_quaternion< T > &  q  )  [inline]
 

Construct from a quaternion.

Definition at line 43 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d const T &  rx,
const T &  ry,
const T &  rz
[inline]
 

Construct from Euler angles.

Definition at line 46 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d const vnl_vector_fixed< T, 3 > &  rvector  )  [inline, explicit]
 

Construct from a Rodrigues vector.

Definition at line 49 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d const vnl_matrix_fixed< T, 3, 3 > &  matrix  )  [inline, explicit]
 

Construct from a 3x3 rotation matrix.

Definition at line 53 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d const vgl_h_matrix_3d< T > &  h  )  [inline, explicit]
 

Construct from a vgl_h_matrix_3d.

Definition at line 57 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d const vnl_vector_fixed< T, 3 > &  a,
const vnl_vector_fixed< T, 3 > &  b
[inline, explicit]
 

Construct to rotate vector a to vector b.

Definition at line 61 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d< T >::vgl_rotation_3d const vgl_vector_3d< T > &  a,
const vgl_vector_3d< T > &  b
[inline, explicit]
 

Construct to rotate vector a to vector b.

Definition at line 75 of file vgl_rotation_3d.h.


Member Function Documentation

template<class T>
T vgl_rotation_3d< T >::angle  )  const [inline]
 

Returns the magnitude of the angle of rotation.

Definition at line 129 of file vgl_rotation_3d.h.

template<class T>
vnl_vector_fixed<T,3> vgl_rotation_3d< T >::as_euler_angles  )  const [inline]
 

Output Euler angles.

The first element is the rotation about the x-axis The second element is the rotation about the y-axis The third element is the rotation about the z-axis The total rotation is a composition of these rotations in this order

Definition at line 97 of file vgl_rotation_3d.h.

template<class T>
vgl_h_matrix_3d<T> vgl_rotation_3d< T >::as_h_matrix_3d  )  const [inline]
 

Output the matrix representation of this rotation in 4x4 form.

Definition at line 117 of file vgl_rotation_3d.h.

template<class T>
vnl_matrix_fixed<T,3,3> vgl_rotation_3d< T >::as_matrix  )  const [inline]
 

Output the matrix representation of this rotation in 3x3 form.

Definition at line 111 of file vgl_rotation_3d.h.

template<class T>
vnl_quaternion<T> vgl_rotation_3d< T >::as_quaternion  )  const [inline]
 

Output unit quaternion.

Definition at line 87 of file vgl_rotation_3d.h.

template<class T>
vnl_vector_fixed<T,3> vgl_rotation_3d< T >::as_rodrigues  )  const [inline]
 

Output Rodrigues vector.

The direction of this vector is the axis of rotation The length of this vector is the angle of rotation in radians

Definition at line 105 of file vgl_rotation_3d.h.

template<class T>
vnl_vector_fixed<T,3> vgl_rotation_3d< T >::axis  )  const [inline]
 

Returns the axis of rotation (unit vector).

Definition at line 123 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d<T> vgl_rotation_3d< T >::inverse  )  const [inline]
 

The inverse rotation.

Definition at line 140 of file vgl_rotation_3d.h.

template<class T>
vnl_vector_fixed<T, 3> vgl_rotation_3d< T >::operator * const vnl_vector_fixed< T, 3 > &  v  )  const [inline]
 

Rotate a vnl vector.

Definition at line 205 of file vgl_rotation_3d.h.

template<class T>
vgl_vector_3d<T> vgl_rotation_3d< T >::operator * const vgl_vector_3d< T > &  v  )  const [inline]
 

Rotate a vgl vector.

Definition at line 198 of file vgl_rotation_3d.h.

template<class T>
vgl_line_segment_3d<T> vgl_rotation_3d< T >::operator * const vgl_line_segment_3d< T > &  l  )  const [inline]
 

Rotate a line segment.

Definition at line 191 of file vgl_rotation_3d.h.

template<class T>
vgl_line_3d_2_points<T> vgl_rotation_3d< T >::operator * const vgl_line_3d_2_points< T > &  l  )  const [inline]
 

Rotate a line.

Definition at line 184 of file vgl_rotation_3d.h.

template<class T>
vgl_plane_3d<T> vgl_rotation_3d< T >::operator * const vgl_plane_3d< T > &  p  )  const [inline]
 

Rotate a plane.

Definition at line 177 of file vgl_rotation_3d.h.

template<class T>
vgl_point_3d<T> vgl_rotation_3d< T >::operator * const vgl_point_3d< T > &  p  )  const [inline]
 

Rotate a point.

Definition at line 170 of file vgl_rotation_3d.h.

template<class T>
vgl_homg_line_3d_2_points<T> vgl_rotation_3d< T >::operator * const vgl_homg_line_3d_2_points< T > &  l  )  const [inline]
 

Rotate a homogeneous line.

Definition at line 163 of file vgl_rotation_3d.h.

template<class T>
vgl_homg_plane_3d<T> vgl_rotation_3d< T >::operator * const vgl_homg_plane_3d< T > &  p  )  const [inline]
 

Rotate a homogeneous plane.

Definition at line 156 of file vgl_rotation_3d.h.

template<class T>
vgl_homg_point_3d<T> vgl_rotation_3d< T >::operator * const vgl_homg_point_3d< T > &  p  )  const [inline]
 

Rotate a homogeneous point.

Definition at line 149 of file vgl_rotation_3d.h.

template<class T>
vgl_rotation_3d<T> vgl_rotation_3d< T >::operator * const vgl_rotation_3d< T > &  first_rotation  )  const [inline]
 

Composition of two rotations.

Definition at line 143 of file vgl_rotation_3d.h.

template<class T>
void vgl_rotation_3d< T >::set_identity  )  [inline]
 

Make the rotation the identity (i.e. no rotation).

Definition at line 137 of file vgl_rotation_3d.h.


Member Data Documentation

template<class T>
vnl_quaternion<T> vgl_rotation_3d< T >::q_ [protected]
 

The internal representation of the rotation is a quaternion.

Definition at line 213 of file vgl_rotation_3d.h.


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