|
| VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type) |
|
| vctMatrixRotation2Base () |
|
ThisType & | operator= (const ContainerType &other) |
|
ThisType & | operator= (const ThisType &other) |
|
| vctMatrixRotation2Base (const ThisType &other) |
|
| vctMatrixRotation2Base (const BaseType &other) |
|
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > |
| vctMatrixRotation2Base (const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
|
CISST_EXPORT ThisType & | NormalizedSelf (void) |
|
ThisType & | NormalizedOf (const ThisType &otherMatrix) |
|
ThisType | Normalized (void) const |
|
bool | IsNormalized (value_type tolerance=TypeTraits::Tolerance()) const |
|
ThisType & | InverseSelf (void) |
|
ThisType & | InverseOf (const ThisType &otherRotation) |
|
ThisType | 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, 2 > | ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
|
void | ApplyTo (const ThisType &input, ThisType &output) 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 |
|
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, 2 > | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &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 |
|
ThisType | operator* (const ThisType &input) const |
|
template<stride_type __stride, class __dataPtrType > |
vctFixedSizeVector< value_type, 2 > | operator* (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
|
bool | AlmostEquivalent (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const |
|
|
These constructors will check that the input is valid, i.e. normalized. If the input is not normalized, an exception (of type std::runtime_error ) will be thrown. Each constructor uses the corresponding From() method based on the input type.
- Note
- See the cmnThrow() function if an
abort is better than an exception for your application.
|
| vctMatrixRotation2Base (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11) throw (std::runtime_error) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > |
| vctMatrixRotation2Base (const vctFixedSizeConstVectorBase< 2, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< 2, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) throw (std::runtime_error) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 > |
| vctMatrixRotation2Base (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) throw (std::runtime_error) |
|
| vctMatrixRotation2Base (const vctAngleRotation2 &angleRotation) throw (std::runtime_error) |
|
|
These constructors will either assume that the input is normalized or normalize the input (a copy of it, if required) based on the last parameter provided.
-
If the normalization flag is set to VCT_DO_NOT_NORMALIZE, the input is considered already normalized and the constructor will not perform any sanity check. This can lead to numerical instabilities which have to be handled by the caller.
-
If the normalization flag is set to VCT_NORMALIZE, the input will be normalized. This option should be used whenever it is important to obtain a result as "normalized" as possible.
|
| vctMatrixRotation2Base (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11, bool normalizeInput) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > |
| vctMatrixRotation2Base (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns, bool normalizeInput) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 > |
| vctMatrixRotation2Base (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns, bool normalizeInput) |
|
| vctMatrixRotation2Base (const vctAngleRotation2 &angleRotation, bool normalizeInput) |
|
|
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()).
|
ThisType & | From (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11) throw (std::runtime_error) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > |
ThisType & | From (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) throw (std::runtime_error) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 > |
ThisType & | From (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) throw (std::runtime_error) |
|
ThisType & | From (const vctAngleRotation2 &angleRotation) 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.
|
ThisType & | FromNormalized (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > |
ThisType & | FromNormalized (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) throw (std::runtime_error) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 > |
ThisType & | FromNormalized (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) |
|
ThisType & | FromNormalized (const vctAngleRotation2 &angleRotation) |
|
|
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.
|
ThisType & | FromRaw (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11) |
|
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > |
ThisType & | FromRaw (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) |
|
template<class __vectorOwnerType1 , class __vectorOwnerType2 > |
ThisType & | FromRaw (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) throw (std::runtime_error) |
|
CISST_EXPORT ThisType & | FromRaw (const vctAngleRotation2 &angleRotation) |
|
ThisType & | FromRaw (const ThisType &otherRotation) |
|
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > |
ThisType & | FromRaw (const vctFixedSizeMatrixBase< DIMENSION, DIMENSION, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
|
template<class _containerType>
class vctMatrixRotation2Base< _containerType >
Define a rotation matrix for a space of dimension 2.
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 vctMatRot2 (eventually vctMatrixRotation2<_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 vctMatrixRotation2Base<vctDynamicMatrixRef<double> >, referring to the C++ vctMatrixRotation2Base<vctFixedSizeMatrix<double, 2, 2> >.
- Parameters
-
_containerType | The type of the matrix. |
- See Also
- vctFixedSizeMatrix