#include <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 (direction of) vector a to vector b. | |
| vgl_rotation_3d (const vgl_vector_3d< T > &a, const vgl_vector_3d< T > &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. | |
| 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 > | transpose () const |
| the transpose or congugate of the 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. | |
| 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 36 of file vgl_rotation_3d.h.
| vgl_rotation_3d< T >::vgl_rotation_3d | ( | ) | [inline] |
Construct the identity rotation.
Definition at line 42 of file vgl_rotation_3d.h.
| vgl_rotation_3d< T >::vgl_rotation_3d | ( | const vnl_quaternion< T > & | q | ) | [inline] |
Construct from a quaternion.
Definition at line 45 of file vgl_rotation_3d.h.
| vgl_rotation_3d< T >::vgl_rotation_3d | ( | const T & | rx, |
| const T & | ry, | ||
| const T & | rz | ||
| ) | [inline] |
Construct from Euler angles.
Definition at line 48 of file vgl_rotation_3d.h.
| vgl_rotation_3d< T >::vgl_rotation_3d | ( | const vnl_vector_fixed< T, 3 > & | rvector | ) | [inline, explicit] |
Construct from a Rodrigues vector.
Definition at line 51 of file vgl_rotation_3d.h.
| 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 61 of file vgl_rotation_3d.h.
| 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 65 of file vgl_rotation_3d.h.
| vgl_rotation_3d< T >::vgl_rotation_3d | ( | const vnl_vector_fixed< T, 3 > & | a, |
| const vnl_vector_fixed< T, 3 > & | b | ||
| ) | [inline] |
Construct to rotate (direction of) vector a to vector b.
The input vectors need not be of unit length
Definition at line 70 of file vgl_rotation_3d.h.
| vgl_rotation_3d< T >::vgl_rotation_3d | ( | const vgl_vector_3d< T > & | a, |
| const vgl_vector_3d< T > & | b | ||
| ) | [inline, explicit] |
Construct to rotate (direction of) vector a to vector b.
The input vectors need not be of unit length
Definition at line 107 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 160 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 128 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 151 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 145 of file vgl_rotation_3d.h.
| vnl_quaternion<T> vgl_rotation_3d< T >::as_quaternion | ( | ) | const [inline] |
Output unit quaternion.
Definition at line 118 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 136 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 157 of file vgl_rotation_3d.h.
| vgl_rotation_3d<T> vgl_rotation_3d< T >::inverse | ( | ) | const [inline] |
The inverse rotation.
Definition at line 168 of file vgl_rotation_3d.h.
| 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 174 of file vgl_rotation_3d.h.
| 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 180 of file vgl_rotation_3d.h.
| 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 187 of file vgl_rotation_3d.h.
| 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 194 of file vgl_rotation_3d.h.
| vgl_point_3d<T> vgl_rotation_3d< T >::operator* | ( | const vgl_point_3d< T > & | p | ) | const [inline] |
Rotate a point.
Definition at line 201 of file vgl_rotation_3d.h.
| vgl_plane_3d<T> vgl_rotation_3d< T >::operator* | ( | const vgl_plane_3d< T > & | p | ) | const [inline] |
Rotate a plane.
Definition at line 208 of file vgl_rotation_3d.h.
| 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 215 of file vgl_rotation_3d.h.
| 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 222 of file vgl_rotation_3d.h.
| vgl_vector_3d<T> vgl_rotation_3d< T >::operator* | ( | const vgl_vector_3d< T > & | v | ) | const [inline] |
Rotate a vgl vector.
Definition at line 229 of file vgl_rotation_3d.h.
| 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 236 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 242 of file vgl_rotation_3d.h.
| void vgl_rotation_3d< T >::set_identity | ( | ) | [inline] |
Make the rotation the identity (i.e. no rotation).
Definition at line 165 of file vgl_rotation_3d.h.
| vgl_rotation_3d<T> vgl_rotation_3d< T >::transpose | ( | ) | const [inline] |
the transpose or congugate of the rotation.
Definition at line 170 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 246 of file vgl_rotation_3d.h.
1.7.5.1