|
| VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type) |
|
| vctMatrixRotation3Base () |
|
ThisType & | NormalizedSelf (void) |
|
ThisType & | NormalizedOf (ThisType &otherMatrix) |
|
ThisType & | InverseSelf (void) |
|
ThisType & | InverseOf (const ThisType &otherRotation) |
|
template<class _containerType > |
vctMatrixRotation3Base
< _containerType > & | FromRaw (const vctAxisAngleRotation3< typename _containerType::value_type > &axisAngleRotation) |
|
|
These methods will check that the input is normalized. If the input is not normalized, an exception (std::runtime_error ) will be thrown using cmnThrow().
- Note
- Since all exceptions are thrown using cmnThrow(), it is possible to configure these methods to use
abort() if the normalization requirements are not met (see cmnThrow()).
|
template<class __containerType > |
ThisType & | From (const vctMatrixRotation3Base< __containerType > &other) throw (std::runtime_error) |
|
ThisType & | 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) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 , stride_type __stride3, class __dataPtrType3 > |
ThisType & | 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) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 , class __vectorOwnerType3 > |
ThisType & | 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) |
|
ThisType & | From (const vctAxisAngleRotation3< value_type > &axisAngleRotation) throw (std::runtime_error) |
|
template<class __containerType > |
ThisType & | From (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) throw (std::runtime_error) |
|
template<class __containerType > |
ThisType & | From (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) throw (std::runtime_error) |
|
template<vctEulerRotation3Order::OrderType __order> |
ThisType & | From (const vctEulerRotation3< __order > &eulerRotation) throw (std::runtime_error) |
|
|
These method will accept any input and attempt to either normalize the input and then convert or convert and then normalize the quaternion itself.
The order depends on the type of input.
|
template<class __containerType > |
ThisType & | FromNormalized (const vctMatrixRotation3Base< __containerType > &other) throw (std::runtime_error) |
|
ThisType & | 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) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 , stride_type __stride3, class __dataPtrType3 > |
ThisType & | 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) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 , class __vectorOwnerType3 > |
ThisType & | FromNormalized (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, const vctDynamicConstVectorBase< __vectorOwnerType3, value_type > &v3, bool vectorsAreColumns=true) |
|
ThisType & | FromNormalized (const vctAxisAngleRotation3< value_type > &axisAngleRotation) |
|
template<class __containerType > |
ThisType & | FromNormalized (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) |
|
template<class __containerType > |
ThisType & | FromNormalized (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) |
|
template<vctEulerRotation3Order::OrderType __order> |
ThisType & | FromNormalized (const vctEulerRotation3< __order > &eulerRotation) |
|
|
These method don't check if the input is normalized nor try to normalize the results. They should be used with caution since the resulting rotation (in this case a quaternion) might not be normalized.
|
template<class __containerType > |
ThisType & | FromRaw (const vctMatrixRotation3Base< __containerType > &other) throw (std::runtime_error) |
|
ThisType & | 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) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 , stride_type __stride3, class __dataPtrType3 > |
ThisType & | 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) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 , class __vectorOwnerType3 > |
ThisType & | 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) |
|
ThisType & | FromRaw (const vctAxisAngleRotation3< value_type > &axisAngleRotation) |
|
template<class __containerType > |
ThisType & | FromRaw (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) |
|
template<class __containerType > |
ThisType & | FromRaw (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) |
|
template<vctEulerRotation3Order::OrderType __order> |
ThisType & | FromRaw (const vctEulerRotation3< __order > &eulerRotation) |
|
ThisType & | FromRaw (const ThisType &otherRotation) |
|
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > |
ThisType & | FromRaw (const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
|
| VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type) |
|
RotationValueType | Normalized (void) const |
|
bool | IsNormalized (value_type tolerance=TypeTraits::Tolerance()) const |
|
RotationValueType | Inverse (void) const |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > |
void | ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const |
|
template<stride_type __stride, class __dataPtrType > |
vctFixedSizeVector< value_type,
DIMENSION > | ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
|
ThisType | ApplyTo (const ThisType &input) const |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 > |
void | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const throw (std::runtime_error) |
|
template<class __vectorOwnerType , stride_type __stride, class __dataPtrType > |
void | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input, vctFixedSizeVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &output) const throw (std::runtime_error) |
|
template<class __vectorOwnerType > |
vctFixedSizeVector< value_type,
DIMENSION > | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input) const |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > |
void | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const |
|
template<stride_type __stride, class __dataPtrType > |
vctFixedSizeVector< value_type,
DIMENSION > | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
|
template<class __vectorOwnerType > |
vctFixedSizeVector< value_type,
DIMENSION > | ApplyInverseTo (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input) const |
|
void | ApplyInverseTo (const ThisType &input, ThisType &output) const |
|
ThisType | ApplyInverseTo (const ThisType &input) const |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 > |
void | ApplyInverseTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const |
|
template<class __vectorOwnerType , stride_type __stride, class __dataPtrType > |
void | ApplyInverseTo (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input, vctFixedSizeVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &output) const |
|
template<size_type __cols, stride_type __rowStride1, stride_type __colStride1, class __dataPtrType1 , stride_type __rowStride2, stride_type __colStride2, class __dataPtrType2 > |
void | ApplyTo (const vctFixedSizeConstMatrixBase< DIMENSION, __cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &input, vctFixedSizeMatrixBase< DIMENSION, __cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &output) const |
|
template<class __matrixOwnerType1 , class __matrixOwnerType2 > |
void | ApplyTo (const vctDynamicConstMatrixBase< __matrixOwnerType1, value_type > &input, vctDynamicMatrixBase< __matrixOwnerType2, value_type > &output) const |
|
template<size_type __cols, stride_type __rowStride1, stride_type __colStride1, class __dataPtrType1 , stride_type __rowStride2, stride_type __colStride2, class __dataPtrType2 > |
void | ApplyInverseTo (const vctFixedSizeConstMatrixBase< DIMENSION, __cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &input, vctFixedSizeMatrixBase< DIMENSION, __cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &output) const |
|
template<class __matrixOwnerType1 , class __matrixOwnerType2 > |
void | ApplyInverseTo (const vctDynamicConstMatrixBase< __matrixOwnerType1, value_type > &input, vctDynamicMatrixBase< __matrixOwnerType2, value_type > &output) const |
|
ThisType | operator* (const ThisType &input) const |
|
template<stride_type __stride, class __dataPtrType > |
vctFixedSizeVector< value_type,
DIMENSION > | operator* (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
|
template<class __vectorOwnerType1 > |
vctFixedSizeVector< value_type,
DIMENSION > | operator* (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input) const |
|
bool | AlmostEquivalent (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const |
|
template<class _containerType>
class vctMatrixRotation3Base< _containerType >
Define a rotation matrix for a space of dimension 3.
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> >.
- Parameters
-
_containerType | The type of the matrix. |
- See Also
- vctFixedSizeMatrix