cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
vctMatrixRotation3Base< _containerType > Class Template Reference

Define a rotation matrix for a space of dimension 3. More...

#include <vctForwardDeclarations.h>

Inheritance diagram for vctMatrixRotation3Base< _containerType >:
vctMatrixRotation3ConstBase< _containerType >

Public Types

enum  { ROWS = 3, COLS = 3 }
 
enum  { DIMENSION = 3 }
 
typedef _containerType ContainerType
 
typedef
vctMatrixRotation3ConstBase
< ContainerType
BaseType
 
typedef vctMatrixRotation3Base
< ContainerType
ThisType
 
typedef vctMatrixRotation3Base
< typename
ContainerType::MatrixValueType > 
RotationValueType
 
typedef cmnTypeTraits< value_type > TypeTraits
 
- Public Types inherited from vctMatrixRotation3ConstBase< _containerType >
enum  { ROWS = 3, COLS = 3 }
 
enum  { DIMENSION = 3 }
 
typedef _containerType BaseType
 
typedef _containerType ContainerType
 
typedef
vctMatrixRotation3ConstBase
< ContainerType
ThisType
 
typedef vctMatrixRotation3
< value_type > 
RotationValueType
 
typedef cmnTypeTraits< value_type > TypeTraits
 

Public Member Functions

 VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type)
 
 vctMatrixRotation3Base ()
 
ThisTypeNormalizedSelf (void)
 
ThisTypeNormalizedOf (ThisType &otherMatrix)
 
ThisTypeInverseSelf (void)
 
ThisTypeInverseOf (const ThisType &otherRotation)
 
template<class _containerType >
vctMatrixRotation3Base
< _containerType > & 
FromRaw (const vctAxisAngleRotation3< typename _containerType::value_type > &axisAngleRotation)
 
Conversion from normalized input.

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 >
ThisTypeFrom (const vctMatrixRotation3Base< __containerType > &other) throw (std::runtime_error)
 
ThisTypeFrom (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 >
ThisTypeFrom (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 >
ThisTypeFrom (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)
 
ThisTypeFrom (const vctAxisAngleRotation3< value_type > &axisAngleRotation) throw (std::runtime_error)
 
template<class __containerType >
ThisTypeFrom (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) throw (std::runtime_error)
 
template<class __containerType >
ThisTypeFrom (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) throw (std::runtime_error)
 
template<vctEulerRotation3Order::OrderType __order>
ThisTypeFrom (const vctEulerRotation3< __order > &eulerRotation) throw (std::runtime_error)
 
Conversion and normalization.

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 >
ThisTypeFromNormalized (const vctMatrixRotation3Base< __containerType > &other) throw (std::runtime_error)
 
ThisTypeFromNormalized (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 >
ThisTypeFromNormalized (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 >
ThisTypeFromNormalized (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, const vctDynamicConstVectorBase< __vectorOwnerType3, value_type > &v3, bool vectorsAreColumns=true)
 
ThisTypeFromNormalized (const vctAxisAngleRotation3< value_type > &axisAngleRotation)
 
template<class __containerType >
ThisTypeFromNormalized (const vctQuaternionRotation3Base< __containerType > &quaternionRotation)
 
template<class __containerType >
ThisTypeFromNormalized (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation)
 
template<vctEulerRotation3Order::OrderType __order>
ThisTypeFromNormalized (const vctEulerRotation3< __order > &eulerRotation)
 
Conversion.

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 >
ThisTypeFromRaw (const vctMatrixRotation3Base< __containerType > &other) throw (std::runtime_error)
 
ThisTypeFromRaw (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 >
ThisTypeFromRaw (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 >
ThisTypeFromRaw (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)
 
ThisTypeFromRaw (const vctAxisAngleRotation3< value_type > &axisAngleRotation)
 
template<class __containerType >
ThisTypeFromRaw (const vctQuaternionRotation3Base< __containerType > &quaternionRotation)
 
template<class __containerType >
ThisTypeFromRaw (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation)
 
template<vctEulerRotation3Order::OrderType __order>
ThisTypeFromRaw (const vctEulerRotation3< __order > &eulerRotation)
 
ThisTypeFromRaw (const ThisType &otherRotation)
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
ThisTypeFromRaw (const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
- Public Member Functions inherited from vctMatrixRotation3ConstBase< _containerType >
 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
 

Additional Inherited Members

- Static Public Member Functions inherited from vctMatrixRotation3ConstBase< _containerType >
static CISST_EXPORT const
RotationValueType
Identity ()
 
- Protected Member Functions inherited from vctMatrixRotation3ConstBase< _containerType >
void ThrowUnlessIsNormalized (void) const throw (std::runtime_error)
 
template<class _inputType >
void ThrowUnlessIsNormalized (const _inputType &input) const throw (std::runtime_error)
 

Detailed Description

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
_containerTypeThe type of the matrix.
See Also
vctFixedSizeMatrix

Member Typedef Documentation

template<class _containerType>
typedef vctMatrixRotation3ConstBase<ContainerType> vctMatrixRotation3Base< _containerType >::BaseType
template<class _containerType>
typedef _containerType vctMatrixRotation3Base< _containerType >::ContainerType
template<class _containerType>
typedef vctMatrixRotation3Base<typename ContainerType::MatrixValueType> vctMatrixRotation3Base< _containerType >::RotationValueType
template<class _containerType>
typedef vctMatrixRotation3Base<ContainerType> vctMatrixRotation3Base< _containerType >::ThisType
template<class _containerType>
typedef cmnTypeTraits<value_type> vctMatrixRotation3Base< _containerType >::TypeTraits

Traits used for all useful types and values related to the element type.

Member Enumeration Documentation

template<class _containerType>
anonymous enum
Enumerator
ROWS 
COLS 
template<class _containerType>
anonymous enum
Enumerator
DIMENSION 

Constructor & Destructor Documentation

template<class _containerType>
vctMatrixRotation3Base< _containerType >::vctMatrixRotation3Base ( )
inline

Member Function Documentation

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::From ( const vctMatrixRotation3Base< __containerType > &  other)
throw (std::runtime_error
)
inline

Conversion from another rotation matrix.

template<class _containerType>
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.

template<class _containerType>
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 , stride_type __stride3, class __dataPtrType3 >
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.

template<class _containerType>
template<class __vectorOwnerType1 , class __vectorOwnerType2 , class __vectorOwnerType3 >
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.

template<class _containerType>
ThisType& vctMatrixRotation3Base< _containerType >::From ( const vctAxisAngleRotation3< value_type > &  axisAngleRotation)
throw (std::runtime_error
)
inline

Conversion from an axis/angle rotation.

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::From ( const vctQuaternionRotation3Base< __containerType > &  quaternionRotation)
throw (std::runtime_error
)
inline

Conversion from a rotation quaternion.

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::From ( const vctRodriguezRotation3Base< __containerType > &  rodriguezRotation)
throw (std::runtime_error
)
inline

Conversion from a Rodriguez rotation.

template<class _containerType>
template<vctEulerRotation3Order::OrderType __order>
ThisType& vctMatrixRotation3Base< _containerType >::From ( const vctEulerRotation3< __order > &  eulerRotation)
throw (std::runtime_error
)
inline

Conversion from an Euler rotation.

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized ( const vctMatrixRotation3Base< __containerType > &  other)
throw (std::runtime_error
)
inline

Conversion from another rotation matrix.

template<class _containerType>
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.

template<class _containerType>
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 , stride_type __stride3, class __dataPtrType3 >
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.

template<class _containerType>
template<class __vectorOwnerType1 , class __vectorOwnerType2 , class __vectorOwnerType3 >
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.

template<class _containerType>
ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized ( const vctAxisAngleRotation3< value_type > &  axisAngleRotation)
inline

Conversion from an axis/angle rotation.

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized ( const vctQuaternionRotation3Base< __containerType > &  quaternionRotation)
inline

Conversion from a rotation quaternion.

Parameters
quaternionRotationA rotation quaternion
template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized ( const vctRodriguezRotation3Base< __containerType > &  rodriguezRotation)
inline

Conversion from a Rodriguez rotation.

template<class _containerType>
template<vctEulerRotation3Order::OrderType __order>
ThisType& vctMatrixRotation3Base< _containerType >::FromNormalized ( const vctEulerRotation3< __order > &  eulerRotation)
inline

Conversion from an Euler rotation.

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::FromRaw ( const vctMatrixRotation3Base< __containerType > &  other)
throw (std::runtime_error
)
inline

Conversion from another rotation matrix.

template<class _containerType>
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.

template<class _containerType>
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 , stride_type __stride3, class __dataPtrType3 >
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.

template<class _containerType>
template<class __vectorOwnerType1 , class __vectorOwnerType2 , class __vectorOwnerType3 >
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.

template<class _containerType>
ThisType& vctMatrixRotation3Base< _containerType >::FromRaw ( const vctAxisAngleRotation3< value_type > &  axisAngleRotation)

Conversion from an axis/angle rotation

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::FromRaw ( const vctQuaternionRotation3Base< __containerType > &  quaternionRotation)
inline

Conversion from a quaternion rotation.

template<class _containerType>
template<class __containerType >
ThisType& vctMatrixRotation3Base< _containerType >::FromRaw ( const vctRodriguezRotation3Base< __containerType > &  rodriguezRotation)
inline

Conversion from a Rodriguez rotation.

template<class _containerType>
template<vctEulerRotation3Order::OrderType __order>
ThisType& vctMatrixRotation3Base< _containerType >::FromRaw ( const vctEulerRotation3< __order > &  eulerRotation)
inline

Conversion from an Euler angle rotation

template<class _containerType>
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

template<class _containerType>
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
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.

Note
This method does not verify normalization. It is introduced to allow using results of matrix operations and assign them to a rotation matrix.
template<class _containerType>
template<class _containerType >
vctMatrixRotation3Base<_containerType>& vctMatrixRotation3Base< _containerType >::FromRaw ( const vctAxisAngleRotation3< typename _containerType::value_type > &  axisAngleRotation)
template<class _containerType>
ThisType& vctMatrixRotation3Base< _containerType >::InverseOf ( const ThisType otherRotation)
inline

Set this rotation as the inverse of another one. See also InverseSelf().

template<class _containerType>
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.

template<class _containerType>
ThisType& vctMatrixRotation3Base< _containerType >::NormalizedOf ( ThisType otherMatrix)
inline

Set this rotation matrix as the normalized version of another one.

Parameters
otherMatrixMatrix used to compute the normalized matrix.
template<class _containerType>
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.

template<class _containerType>
vctMatrixRotation3Base< _containerType >::VCT_CONTAINER_TRAITS_TYPEDEFS ( typename ContainerType::value_type  )

The documentation for this class was generated from the following files: