#include <vctMatrixRotation3Base.h>
Inheritance diagram for vctMatrixRotation3Base< _containerType >:


This class is templated by the type of container used to store the rotation matrix. This class is an internal class, i.e. it is not intended for the end-user. The class which should be used by most is vctMatRot3 (eventually vctMatrixRotation3<_elementType>).
The main goal of this meta rotation matrix class is to ease the interface with Python. For a native Python object, a matrix rotation can be defined based on a vctDynamicMatrix which is much easier to wrap than a vctFixedSizeMatrix. For a C++ object accessed from Python, the rotation matrix will be defined using vctMatrixRotation3Base<vctDynamicMatrixRef<double> >, referring to the C++ vctMatrixRotation3Base<vctFixedSizeMatrix<double, 3, 3> >.
| _containerType | The type of the matrix. |
Definition at line 87 of file vctMatrixRotation3Base.h.
std::runtime_error) will be thrown using cmnThrow().
abort() if the normalization requirements are not met (see cmnThrow()). | typedef vctMatrixRotation3Base<typename ContainerType::MatrixValueType> vctMatrixRotation3Base< _containerType >::RotationValueType |
Type used to return by copy
Reimplemented from vctMatrixRotation3ConstBase< _containerType >.
Definition at line 95 of file vctMatrixRotation3Base.h.
| typedef cmnTypeTraits<value_type> vctMatrixRotation3Base< _containerType >::TypeTraits |
Traits used for all useful types and values related to the element type.
Reimplemented from vctMatrixRotation3ConstBase< _containerType >.
Definition at line 101 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::From | ( | const value_type & | element00, | |
| const value_type & | element01, | |||
| const value_type & | element02, | |||
| const value_type & | element10, | |||
| const value_type & | element11, | |||
| const value_type & | element12, | |||
| const value_type & | element20, | |||
| const value_type & | element21, | |||
| const value_type & | element22 | |||
| ) | throw (std::runtime_error) [inline] |
Conversion from 9 elements.
Definition at line 119 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::From | ( | const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > & | v1, | |
| const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > & | v2, | |||
| const vctFixedSizeConstVectorBase< DIMENSION, __stride3, value_type, __dataPtrType3 > & | v3, | |||
| bool | vectorsAreColumns = true | |||
| ) | throw (std::runtime_error) [inline] |
Conversion from 3 fixed size vectors.
By default the vectors represents the columns of the matrix. If the parameter vectorsAreColumns is set to false, the vectors provided will be used to set the matrix row by row.
Definition at line 141 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::From | ( | const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > & | v1, | |
| const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > & | v2, | |||
| const vctDynamicConstVectorBase< __vectorOwnerType3, value_type > & | v3, | |||
| bool | vectorsAreColumns = true | |||
| ) | throw (std::runtime_error) [inline] |
Conversion from 3 dynamic vectors.
By default the vectors represents the columns of the matrix. If the parameter vectorsAreColumns is set to false, the vectors provided will be used to set the matrix row by row.
Definition at line 163 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::From | ( | const vctAxisAngleRotation3< value_type > & | axisAngleRotation | ) | throw (std::runtime_error) [inline] |
Conversion from an axis/angle rotation.
Definition at line 176 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::From | ( | const vctQuaternionRotation3Base< __containerType > & | quaternionRotation | ) | throw (std::runtime_error) [inline] |
Conversion from a rotation quaternion.
Definition at line 186 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::From | ( | const vctRodriguezRotation3Base< __containerType > & | rodriguezRotation | ) | throw (std::runtime_error) [inline] |
Conversion from a Rodriguez rotation.
Definition at line 197 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized | ( | const value_type & | element00, | |
| const value_type & | element01, | |||
| const value_type & | element02, | |||
| const value_type & | element10, | |||
| const value_type & | element11, | |||
| const value_type & | element12, | |||
| const value_type & | element20, | |||
| const value_type & | element21, | |||
| const value_type & | element22 | |||
| ) | [inline] |
Conversion from 9 elements.
Definition at line 223 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized | ( | const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > & | v1, | |
| const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > & | v2, | |||
| const vctFixedSizeConstVectorBase< DIMENSION, __stride3, value_type, __dataPtrType3 > & | v3, | |||
| bool | vectorsAreColumns = true | |||
| ) | throw (std::runtime_error) [inline] |
Conversion from 3 fixed size vectors.
By default the vectors represents the columns of the matrix. If the parameter vectorsAreColumns is set to false, the vectors provided will be used to set the matrix row by row.
Definition at line 244 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized | ( | const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > & | v1, | |
| const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > & | v2, | |||
| const vctDynamicConstVectorBase< __vectorOwnerType3, value_type > & | v3, | |||
| bool | vectorsAreColumns = true | |||
| ) | [inline] |
Conversion from 3 dynamic vectors.
By default the vectors represents the columns of the matrix. If the parameter vectorsAreColumns is set to false, the vectors provided will be used to set the matrix row by row.
Definition at line 266 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized | ( | const vctAxisAngleRotation3< value_type > & | axisAngleRotation | ) | [inline] |
Conversion from an axis/angle rotation.
Definition at line 278 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized | ( | const vctQuaternionRotation3Base< __containerType > & | quaternionRotation | ) | [inline] |
Conversion from a rotation quaternion.
| quaternionRotation | A rotation quaternion |
Definition at line 290 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized | ( | const vctRodriguezRotation3Base< __containerType > & | rodriguezRotation | ) | [inline] |
Conversion from a Rodriguez rotation.
Definition at line 299 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const value_type & | element00, | |
| const value_type & | element01, | |||
| const value_type & | element02, | |||
| const value_type & | element10, | |||
| const value_type & | element11, | |||
| const value_type & | element12, | |||
| const value_type & | element20, | |||
| const value_type & | element21, | |||
| const value_type & | element22 | |||
| ) | [inline] |
Conversion from 9 elements.
Definition at line 323 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > & | v1, | |
| const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > & | v2, | |||
| const vctFixedSizeConstVectorBase< DIMENSION, __stride3, value_type, __dataPtrType3 > & | v3, | |||
| bool | vectorsAreColumns = true | |||
| ) | [inline] |
Conversion from 3 fixed size vectors.
By default the vectors represents the columns of the matrix. If the parameter vectorsAreColumns is set to false, the vectors provided will be used to set the matrix row by row.
Definition at line 344 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > & | v1, | |
| const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > & | v2, | |||
| const vctDynamicConstVectorBase< __vectorOwnerType3, value_type > & | v3, | |||
| bool | vectorsAreColumns = true | |||
| ) | throw (std::runtime_error) [inline] |
Conversion from 3 dynamic vectors.
By default the vectors represents the columns of the matrix. If the parameter vectorsAreColumns is set to false, the vectors provided will be used to set the matrix row by row.
Definition at line 372 of file vctMatrixRotation3Base.h.
| CISST_EXPORT ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const vctAxisAngleRotation3< value_type > & | axisAngleRotation | ) |
Conversion from an axis/angle rotation
| ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const vctQuaternionRotation3Base< __containerType > & | quaternionRotation | ) | [inline] |
Conversion from a quaternion rotation.
Definition at line 402 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const vctRodriguezRotation3Base< __containerType > & | rodriguezRotation | ) | [inline] |
Conversion from a Rodriguez rotation.
Definition at line 411 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const ThisType & | otherRotation | ) | [inline] |
A complementary form of assigning one matrix rotation to another. The method is provided mostly for generic programming interfaces and for testing various operations on rotations
Definition at line 419 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::FromRaw | ( | const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > & | matrix | ) | [inline] |
Assign a 3x3 matrix to this rotation matrix. This method does not substitute the Assign() method. Assign() may perform type conversion, while From() only takes a matrix of the same element type.
Definition at line 435 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::NormalizedSelf | ( | void | ) | [inline] |
Normalizes this matrix. This method converts the matrix to a quaternion, normalizes it and convert back to a matrix.
Definition at line 444 of file vctMatrixRotation3Base.h.
Referenced by vctMatrixRotation3ConstBase< _containerType >::Normalized().
| ThisType& vctMatrixRotation3Base< _containerType >::NormalizedOf | ( | ThisType & | otherMatrix | ) | [inline] |
Set this rotation matrix as the normalized version of another one.
| otherMatrix | Matrix used to compute the normalized matrix. |
Definition at line 455 of file vctMatrixRotation3Base.h.
| ThisType& vctMatrixRotation3Base< _containerType >::InverseSelf | ( | void | ) | [inline] |
Inverse this rotation matrix. This methods assumes that the matrix is normalized and sets this matrix as its transposed.
Definition at line 466 of file vctMatrixRotation3Base.h.
Referenced by vctMatrixRotation3ConstBase< _containerType >::Inverse().
| ThisType& vctMatrixRotation3Base< _containerType >::InverseOf | ( | const ThisType & | otherRotation | ) | [inline] |
Set this rotation as the inverse of another one. See also InverseSelf().
Definition at line 479 of file vctMatrixRotation3Base.h.