#include <vgl_rotation_3d.h>
Public Member Functions | |
vgl_rotation_3d () | |
Construct the identity rotation. | |
vgl_rotation_3d (vnl_quaternion< T > const &q) | |
Construct from a quaternion. | |
vgl_rotation_3d (T const &rx, T const &ry, T const &rz) | |
Construct from Euler angles. | |
vgl_rotation_3d (vnl_vector_fixed< T, 3 > const &rvector) | |
Construct from a Rodrigues vector. | |
vgl_rotation_3d & | operator= (vnl_vector_fixed< T, 3 > const &rvector) |
Construct from a Rodrigues vector. | |
vgl_rotation_3d (vnl_matrix_fixed< T, 3, 3 > const &matrix) | |
Construct from a 3x3 rotation matrix. | |
vgl_rotation_3d & | operator= (vnl_matrix_fixed< T, 3, 3 > const &matrix) |
Construct from a 3x3 rotation matrix. | |
vgl_rotation_3d (vgl_h_matrix_3d< T > const &h) | |
Construct from a vgl_h_matrix_3d. | |
vgl_rotation_3d & | operator= (vgl_h_matrix_3d< T > const &h) |
Construct from a vgl_h_matrix_3d. | |
vgl_rotation_3d (vnl_vector_fixed< T, 3 > const &a, vnl_vector_fixed< T, 3 > const &b) | |
Construct to rotate (direction of) vector a to vector b. | |
vgl_rotation_3d (vgl_vector_3d< T > const &a, vgl_vector_3d< T > const &b) | |
Construct to rotate (direction of) 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). | |
double | angle () const |
Returns the magnitude of the angle of rotation. | |
vgl_rotation_3d & | set_identity () |
Make the rotation the identity (i.e. no rotation). | |
vgl_rotation_3d< T > | inverse () const |
The inverse rotation. | |
vgl_rotation_3d< T > | transpose () const |
The transpose or conjugate of the rotation. | |
vgl_rotation_3d< T > | operator* (vgl_rotation_3d< T > const &first_rotation) const |
Composition of two rotations. | |
vgl_homg_point_3d< T > | operator* (vgl_homg_point_3d< T > const &p) const |
Rotate a homogeneous point. | |
vgl_homg_plane_3d< T > | operator* (vgl_homg_plane_3d< T > const &p) const |
Rotate a homogeneous plane. | |
vgl_homg_line_3d_2_points< T > | operator* (vgl_homg_line_3d_2_points< T > const &l) const |
Rotate a homogeneous line. | |
vgl_point_3d< T > | operator* (vgl_point_3d< T > const &p) const |
Rotate a point. | |
vgl_plane_3d< T > | operator* (vgl_plane_3d< T > const &p) const |
Rotate a plane. | |
vgl_line_3d_2_points< T > | operator* (vgl_line_3d_2_points< T > const &l) const |
Rotate a line. | |
vgl_line_segment_3d< T > | operator* (vgl_line_segment_3d< T > const &l) const |
Rotate a line segment. | |
vgl_vector_3d< T > | operator* (vgl_vector_3d< T > const &v) const |
Rotate a vgl vector. | |
vnl_vector_fixed< T, 3 > | operator* (vnl_vector_fixed< T, 3 > const &v) const |
Rotate a vnl vector. | |
bool | operator== (vgl_rotation_3d< T > const &r) const |
comparison operator. | |
Protected Attributes | |
vnl_quaternion< T > | q_ |
The internal representation of the rotation is a quaternion. |
Definition at line 37 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | ) | [inline] |
Construct the identity rotation.
Definition at line 43 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | vnl_quaternion< T > const & | q | ) | [inline] |
Construct from a quaternion.
Definition at line 46 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | T const & | rx, |
T const & | ry, | ||
T const & | rz | ||
) | [inline] |
Construct from Euler angles.
Definition at line 49 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | vnl_vector_fixed< T, 3 > const & | rvector | ) | [inline, explicit] |
Construct from a Rodrigues vector.
Definition at line 52 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | vnl_matrix_fixed< T, 3, 3 > const & | matrix | ) | [inline, explicit] |
Construct from a 3x3 rotation matrix.
Definition at line 73 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | vgl_h_matrix_3d< T > const & | h | ) | [inline, explicit] |
Construct from a vgl_h_matrix_3d.
Definition at line 81 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | vnl_vector_fixed< T, 3 > const & | a, |
vnl_vector_fixed< T, 3 > const & | b | ||
) | [inline] |
Construct to rotate (direction of) vector a to vector b.
The input vectors need not be of unit length
Definition at line 90 of file vgl_rotation_3d.h.
vgl_rotation_3d< T >::vgl_rotation_3d | ( | vgl_vector_3d< T > const & | a, |
vgl_vector_3d< T > const & | b | ||
) | [inline] |
Construct to rotate (direction of) vector a to vector b.
The input vectors need not be of unit length
Definition at line 127 of file vgl_rotation_3d.h.
double vgl_rotation_3d< T >::angle | ( | ) | const [inline] |
Returns the magnitude of the angle of rotation.
Definition at line 180 of file vgl_rotation_3d.h.
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 148 of file vgl_rotation_3d.h.
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 171 of file vgl_rotation_3d.h.
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 165 of file vgl_rotation_3d.h.
vnl_quaternion<T> vgl_rotation_3d< T >::as_quaternion | ( | ) | const [inline] |
Output unit quaternion.
Definition at line 138 of file vgl_rotation_3d.h.
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 156 of file vgl_rotation_3d.h.
vnl_vector_fixed<T,3> vgl_rotation_3d< T >::axis | ( | ) | const [inline] |
Returns the axis of rotation (unit vector).
Definition at line 177 of file vgl_rotation_3d.h.
vgl_rotation_3d<T> vgl_rotation_3d< T >::inverse | ( | ) | const [inline] |
The inverse rotation.
Definition at line 188 of file vgl_rotation_3d.h.
vgl_rotation_3d<T> vgl_rotation_3d< T >::operator* | ( | vgl_rotation_3d< T > const & | first_rotation | ) | const [inline] |
Composition of two rotations.
Definition at line 194 of file vgl_rotation_3d.h.
vgl_homg_point_3d<T> vgl_rotation_3d< T >::operator* | ( | vgl_homg_point_3d< T > const & | p | ) | const [inline] |
Rotate a homogeneous point.
Definition at line 200 of file vgl_rotation_3d.h.
vgl_homg_plane_3d<T> vgl_rotation_3d< T >::operator* | ( | vgl_homg_plane_3d< T > const & | p | ) | const [inline] |
Rotate a homogeneous plane.
Definition at line 207 of file vgl_rotation_3d.h.
vgl_homg_line_3d_2_points<T> vgl_rotation_3d< T >::operator* | ( | vgl_homg_line_3d_2_points< T > const & | l | ) | const [inline] |
Rotate a homogeneous line.
Definition at line 214 of file vgl_rotation_3d.h.
vgl_point_3d<T> vgl_rotation_3d< T >::operator* | ( | vgl_point_3d< T > const & | p | ) | const [inline] |
Rotate a point.
Definition at line 221 of file vgl_rotation_3d.h.
vgl_plane_3d<T> vgl_rotation_3d< T >::operator* | ( | vgl_plane_3d< T > const & | p | ) | const [inline] |
Rotate a plane.
Definition at line 228 of file vgl_rotation_3d.h.
vgl_line_3d_2_points<T> vgl_rotation_3d< T >::operator* | ( | vgl_line_3d_2_points< T > const & | l | ) | const [inline] |
Rotate a line.
Definition at line 235 of file vgl_rotation_3d.h.
vgl_line_segment_3d<T> vgl_rotation_3d< T >::operator* | ( | vgl_line_segment_3d< T > const & | l | ) | const [inline] |
Rotate a line segment.
Definition at line 242 of file vgl_rotation_3d.h.
vgl_vector_3d<T> vgl_rotation_3d< T >::operator* | ( | vgl_vector_3d< T > const & | v | ) | const [inline] |
Rotate a vgl vector.
Definition at line 249 of file vgl_rotation_3d.h.
vnl_vector_fixed<T, 3> vgl_rotation_3d< T >::operator* | ( | vnl_vector_fixed< T, 3 > const & | v | ) | const [inline] |
Rotate a vnl vector.
Definition at line 256 of file vgl_rotation_3d.h.
vgl_rotation_3d& vgl_rotation_3d< T >::operator= | ( | vnl_vector_fixed< T, 3 > const & | rvector | ) | [inline] |
Construct from a Rodrigues vector.
Definition at line 62 of file vgl_rotation_3d.h.
vgl_rotation_3d& vgl_rotation_3d< T >::operator= | ( | vnl_matrix_fixed< T, 3, 3 > const & | matrix | ) | [inline] |
Construct from a 3x3 rotation matrix.
Definition at line 77 of file vgl_rotation_3d.h.
vgl_rotation_3d& vgl_rotation_3d< T >::operator= | ( | vgl_h_matrix_3d< T > const & | h | ) | [inline] |
Construct from a vgl_h_matrix_3d.
Definition at line 85 of file vgl_rotation_3d.h.
bool vgl_rotation_3d< T >::operator== | ( | vgl_rotation_3d< T > const & | r | ) | const [inline] |
comparison operator.
Definition at line 262 of file vgl_rotation_3d.h.
vgl_rotation_3d& vgl_rotation_3d< T >::set_identity | ( | ) | [inline] |
Make the rotation the identity (i.e. no rotation).
Definition at line 185 of file vgl_rotation_3d.h.
vgl_rotation_3d<T> vgl_rotation_3d< T >::transpose | ( | ) | const [inline] |
The transpose or conjugate of the rotation.
Definition at line 191 of file vgl_rotation_3d.h.
vnl_quaternion<T> vgl_rotation_3d< T >::q_ [protected] |
The internal representation of the rotation is a quaternion.
Definition at line 266 of file vgl_rotation_3d.h.