cisst-saw
|
Define a rotation matrix for a space of dimension 3. More...
#include <vctForwardDeclarations.h>
Public Types | |
enum | { ROWS = 3, COLS = 3 } |
enum | { DIMENSION = 3 } |
typedef vctFixedSizeMatrixRef < value_type, ROWS, COLS, _rowStride, _colStride > | ContainerType |
typedef vctMatrixRotation3Base < ContainerType > | BaseType |
typedef vctMatrixRotation3Ref < value_type, _rowStride, _colStride > | ThisType |
typedef cmnTypeTraits< value_type > | TypeTraits |
![]() | |
enum | |
enum | |
typedef vctFixedSizeMatrixRef < _elementType, 3, 3, _rowStride, _colStride > | ContainerType |
typedef vctMatrixRotation3ConstBase < ContainerType > | BaseType |
typedef vctMatrixRotation3Base < ContainerType > | ThisType |
typedef vctMatrixRotation3Base < typename ContainerType::MatrixValueType > | RotationValueType |
typedef cmnTypeTraits< value_type > | TypeTraits |
![]() | |
enum | |
enum | |
typedef vctFixedSizeMatrixRef < _elementType, 3, 3, _rowStride, _colStride > | BaseType |
typedef vctFixedSizeMatrixRef < _elementType, 3, 3, _rowStride, _colStride > | ContainerType |
typedef vctMatrixRotation3ConstBase < ContainerType > | ThisType |
typedef vctMatrixRotation3 < value_type > | RotationValueType |
typedef cmnTypeTraits< value_type > | TypeTraits |
![]() | |
typedef vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > | MatrixTraits |
typedef MatrixTraits::iterator | iterator |
typedef MatrixTraits::const_iterator | const_iterator |
typedef MatrixTraits::reverse_iterator | reverse_iterator |
typedef MatrixTraits::const_reverse_iterator | const_reverse_iterator |
typedef vctFixedSizeMatrixRef < value_type, _rows, _cols, _rowStride, _colStride > | ThisType |
typedef vctFixedSizeMatrixBase < _rows, _cols, _rowStride, _colStride, value_type, typename MatrixTraits::pointer > | BaseType |
![]() | |
enum | |
enum | |
typedef vctFixedSizeMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > ::pointer > | ThisType |
typedef vctFixedSizeConstMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > ::pointer > | BaseType |
typedef vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > | MatrixTraits |
typedef MatrixTraits::iterator | iterator |
typedef MatrixTraits::const_iterator | const_iterator |
typedef MatrixTraits::reverse_iterator | reverse_iterator |
typedef MatrixTraits::const_reverse_iterator | const_reverse_iterator |
typedef BaseType::RowRefType | RowRefType |
typedef BaseType::ColumnRefType | ColumnRefType |
typedef BaseType::ConstRowRefType | ConstRowRefType |
typedef BaseType::ConstColumnRefType | ConstColumnRefType |
typedef BaseType::DiagonalRefType | DiagonalRefType |
typedef BaseType::ConstDiagonalRefType | ConstDiagonalRefType |
typedef BaseType::RefTransposeType | RefTransposeType |
typedef BaseType::ConstRefTransposeType | ConstRefTransposeType |
typedef BaseType::RowValueType | RowValueType |
typedef BaseType::ColumnValueType | ColumnValueType |
![]() | |
enum | |
enum | |
enum | |
enum | |
typedef vctFixedSizeConstMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > ::pointer > | ThisType |
typedef vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > | MatrixTraits |
typedef MatrixTraits::iterator | iterator |
typedef MatrixTraits::const_iterator | const_iterator |
typedef MatrixTraits::reverse_iterator | reverse_iterator |
typedef MatrixTraits::const_reverse_iterator | const_reverse_iterator |
typedef vctFixedSizeConstVectorRef < _elementType, COLS, COLSTRIDE > | ConstRowRefType |
typedef vctFixedSizeVectorRef < _elementType, COLS, COLSTRIDE > | RowRefType |
typedef vctFixedSizeConstVectorRef < _elementType, ROWS, ROWSTRIDE > | ConstColumnRefType |
typedef vctFixedSizeVectorRef < _elementType, ROWS, ROWSTRIDE > | ColumnRefType |
typedef vctFixedSizeConstVectorRef < _elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE > | ConstDiagonalRefType |
typedef vctFixedSizeVectorRef < _elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE > | DiagonalRefType |
typedef vctFixedSizeVector < _elementType, COLS > | RowValueType |
typedef vctFixedSizeVector < _elementType, ROWS > | ColumnValueType |
typedef vctFixedSizeConstMatrixRef < _elementType, _rows, _cols, _rowStride, _colStride > | ConstRefType |
typedef vctFixedSizeMatrixRef < _elementType, _rows, _cols, _rowStride, _colStride > | RefType |
typedef vctFixedSizeConstMatrixRef < _elementType, _cols, _rows, _colStride, _rowStride > | ConstRefTransposeType |
typedef vctFixedSizeMatrixRef < _elementType, _cols, _rows, _colStride, _rowStride > | RefTransposeType |
typedef vctFixedSizeMatrix < _elementType, COLS, ROWS, COLSTRIDE<=ROWSTRIDE > TransposeValueType;typedef vctFixedSizeMatrix < _elementType, ROWS, COLS, COLSTRIDE<=ROWSTRIDE > MatrixValueType;typedef vctFixedSizeMatrix< bool, ROWS, COLS, COLSTRIDE<=ROWSTRIDE > BoolMatrixValueType;typedef vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > ::pointerDataType;protected:DataType Data;inline void ThrowUnlessValidIndex(size_type index) const throw(std::out_of_range){if(!ValidIndex(index)){cmnThrow(std::out_of_range("vctFixedSizeMatrix: Invalid index"));}}inline void ThrowUnlessValidIndex(size_type rowIndex, size_type colIndex) const throw(std::out_of_range){if(!ValidIndex(rowIndex, colIndex)){cmnThrow(std::out_of_range("vctFixedSizeMatrix: Invalid indices"));}}public:const_iterator begin() const {return const_iterator(Data, 0);}const_iterator end() const {return const_iterator(Data)+LENGTH;}const_reverse_iterator rbegin() const {return const_reverse_iterator(Pointer(ROWS-1, COLS-1), 0);}const_reverse_iterator rend() const {return const_reverse_iterator(Data-ROWSTRIDE+COLSTRIDE *(COLS-1), 0);}size_type size() const {return LENGTH;}const nsize_type &sizes(void) const {static nsize_type staticSizes(ROWS, COLS);return staticSizes;}size_type rows() const {return ROWS;}size_type cols() const {return COLS;}size_type max_size() const {return LENGTH;}const nstride_type &strides(void) const {static nstride_type staticStrides(ROWSTRIDE, COLSTRIDE);return staticStrides;}difference_type row_stride() const {return ROWSTRIDE;}difference_type col_stride() const {return COLSTRIDE;}bool empty() const {return(LENGTH==0);}ConstRowRefType operator[](size_type index) const {return ConstRowRefType(Data+ROWSTRIDE *index);}const_pointer Pointer(size_type rowIndex, size_type colIndex) const {return Data+ROWSTRIDE *rowIndex+COLSTRIDE *colIndex;}const_pointer Pointer(void) const {return Data;}inline bool ValidIndex(size_type index) const {return(index < size());}inline bool ValidIndex(size_type rowIndex, size_type colIndex) const {return((rowIndex< rows())&&(colIndex < cols()));}inline bool ValidRowIndex(size_type rowIndex) const {return(rowIndex < rows());}inline bool ValidColIndex(size_type colIndex) const {return(colIndex < cols());}const_reference at(size_type index) const throw(std::out_of_range){ThrowUnlessValidIndex(index);return(begin())[index];}const_reference at(size_type rowIndex, size_type colIndex) const throw(std::out_of_range){ThrowUnlessValidIndex(rowIndex, colIndex);return *(Pointer(rowIndex, colIndex));}const_reference operator()(size_type rowIndex, size_type colIndex) const throw(std::out_of_range){return at(rowIndex, colIndex);}const_reference Element(size_type rowIndex, size_type colIndex) const {return *(Pointer(rowIndex, colIndex));}ConstRowRefType Row(size_type index) const {return ConstRowRefType(Data+ROWSTRIDE *index);}ConstColumnRefType Column(size_type index) const {return ConstColumnRefType(Data+COLSTRIDE *index);}ConstDiagonalRefType Diagonal(void) const {return ConstDiagonalRefType(Data);}template < vct::size_type __subRows, vct::size_type __subCols > vctFixedSizeConstMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > Ref(const size_type startRow=0, const size_type startCol=0) const throw(std::out_of_range){vctFixedSizeConstMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > result(*this, startRow, startCol);return result;}inline value_type SumOfElements() const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Addition, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type ProductOfElements() const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Multiplication, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type Trace(void) const {return this->Diagonal().SumOfElements();}inline value_type NormSquare(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Addition, typename vctUnaryOperations < value_type >::Square >::Run(*this);}inline NormType Norm(void) const {return sqrt(NormType(NormSquare()));}inline value_type L1Norm(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Addition, typename vctUnaryOperations < value_type >::AbsValue > ::Run(*this);}inline value_type LinfNorm(void) const {return this-> MaxAbsElement();}inline value_type MaxElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Maximum, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type MinElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Minimum, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type MaxAbsElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Maximum, typename vctUnaryOperations < value_type >::AbsValue > ::Run(*this);}inline value_type MinAbsElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Minimum, typename vctUnaryOperations < value_type >::AbsValue > ::Run(*this);}inline void MinAndMaxElement(value_type &minElement, value_type &maxElement) const {vctFixedSizeMatrixLoopEngines::MinAndMax::Run((*this), minElement, maxElement);}inline bool IsPositive(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsPositive > ::Run(*this);}inline bool IsNonNegative(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNonNegative > ::Run(*this);}inline bool IsNonPositive(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNonPositive > ::Run(*this);}inline bool IsNegative(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNegative > ::Run(*this);}inline bool All(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNonzero >::Run(*this);}inline bool Any(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::Or, typename vctUnaryOperations< bool, value_type >::IsNonzero >::Run(*this);}inline bool IsFinite(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsFinite >::Run(*this);}inline bool HasNaN(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::Or, typename vctUnaryOperations< bool, value_type >::IsNaN >::Run(*this);}inline bool IsColMajor(void) const {return(row_stride() <=col_stride());}inline bool IsRowMajor(void) const {return(col_stride() <=row_stride());}inline bool IsCompact(void) const {return(((row_stride()==1)&&(col_stride()==static_cast < stride_type >rows())))||((col_stride()==1)&&(row_stride()==static_cast < stride_type >cols()))));}inline bool IsFortran(void) const {return(IsColMajor()&&(row_stride()==1)&&(col_stride()==static_cast < stride_type >rows())));}inline bool StorageOrder(void) const {return this-> | IsRowMajor () |
Public Member Functions | |
VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |
vctMatrixRotation3Ref (void) | |
vctMatrixRotation3Ref (const ThisType &other) | |
vctMatrixRotation3Ref (const BaseType &other) | |
ThisType & | operator= (const ContainerType &other) |
ThisType & | operator= (const ThisType &other) |
ThisType & | operator= (const BaseType &other) |
![]() | |
VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type) | |
vctMatrixRotation3Base () | |
ThisType & | NormalizedSelf (void) |
ThisType & | NormalizedOf (ThisType &otherMatrix) |
ThisType & | InverseSelf (void) |
ThisType & | InverseOf (const ThisType &otherRotation) |
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) |
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) |
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) |
ThisType & | From (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) throw (std::runtime_error) |
ThisType & | From (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) throw (std::runtime_error) |
ThisType & | From (const vctEulerRotation3< __order > &eulerRotation) throw (std::runtime_error) |
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) |
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) |
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) |
ThisType & | FromNormalized (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) |
ThisType & | FromNormalized (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) |
ThisType & | FromNormalized (const vctEulerRotation3< __order > &eulerRotation) |
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) |
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) |
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) |
ThisType & | FromRaw (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) |
ThisType & | FromRaw (const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) |
ThisType & | FromRaw (const vctEulerRotation3< __order > &eulerRotation) |
ThisType & | FromRaw (const ThisType &otherRotation) |
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 |
void | ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const |
vctFixedSizeVector< value_type, DIMENSION > | ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
ThisType | ApplyTo (const ThisType &input) const |
void | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const throw (std::runtime_error) |
void | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input, vctFixedSizeVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &output) const throw (std::runtime_error) |
vctFixedSizeVector< value_type, DIMENSION > | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input) const |
void | ApplyTo (const vctFixedSizeConstMatrixBase< DIMENSION, __cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &input, vctFixedSizeMatrixBase< DIMENSION, __cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &output) const |
void | ApplyTo (const vctDynamicConstMatrixBase< __matrixOwnerType1, value_type > &input, vctDynamicMatrixBase< __matrixOwnerType2, value_type > &output) const |
void | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const |
vctFixedSizeVector< value_type, DIMENSION > | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
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 |
void | ApplyInverseTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const |
void | ApplyInverseTo (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input, vctFixedSizeVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &output) const |
void | ApplyInverseTo (const vctFixedSizeConstMatrixBase< DIMENSION, __cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &input, vctFixedSizeMatrixBase< DIMENSION, __cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &output) const |
void | ApplyInverseTo (const vctDynamicConstMatrixBase< __matrixOwnerType1, value_type > &input, vctDynamicMatrixBase< __matrixOwnerType2, value_type > &output) const |
ThisType | operator* (const ThisType &input) const |
vctFixedSizeVector< value_type, DIMENSION > | operator* (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
vctFixedSizeVector< value_type, DIMENSION > | operator* (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input) const |
bool | AlmostEquivalent (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const |
![]() | |
VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |
vctFixedSizeMatrixRef () | |
vctFixedSizeMatrixRef (pointer p) | |
vctFixedSizeMatrixRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix) | |
vctFixedSizeMatrixRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, index_type startRow, index_type startCol) | |
vctFixedSizeMatrixRef (vctDynamicMatrixBase< __matrixOwnerType, _elementType > &matrix, index_type startRow, index_type startCol) | |
void | SetRef (pointer p) |
void | SetRef (const ThisType &other) |
void | SetRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, index_type startRow, index_type startCol) |
void | SetRef (vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix) |
void | SetRef (vctDynamicMatrixBase< __matrixOwnerType, _elementType > &matrix, index_type startRow, index_type startCol) |
ThisType & | operator= (const value_type &value) |
ThisType & | operator= (const ThisType &other) |
ThisType & | operator= (const vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, __rowStride, __colStride > &other) |
ThisType & | operator= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) |
ThisType & | operator= (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &other) |
![]() | |
VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
RowRefType | operator[] (size_type index) |
ConstRowRefType | operator[] (size_type index) const |
pointer | Pointer (size_type rowIndex, size_type colIndex) |
pointer | Pointer (void) |
const_pointer | Pointer (size_type rowIndex, size_type colIndex) const |
const_pointer | Pointer (void) const |
reference | at (size_type index) throw (std::out_of_range) |
const_reference | at (size_type index) const throw (std::out_of_range) |
reference | at (size_type rowIndex, size_type colIndex) throw (std::out_of_range) |
const_reference | at (size_type rowIndex, size_type colIndex) const throw (std::out_of_range) |
reference | operator() (size_type rowIndex, size_type colIndex) throw (std::out_of_range) |
const_reference | operator() (size_type rowIndex, size_type colIndex) const throw (std::out_of_range) |
reference | Element (size_type rowIndex, size_type colIndex) |
const_reference | Element (size_type rowIndex, size_type colIndex) const |
void | RowPermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedRowIndexes[]) |
void | RowInversePermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedRowIndexes[]) |
void | ColumnPermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedColumnIndexes[]) |
void | ColumnInversePermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedColumnIndexes[]) |
value_type | SetAll (const value_type value) |
bool | Zeros (void) |
ThisType & | Assign (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) |
ThisType & | Assign (const value_type element0,...) |
ThisType & | Assign (const value_type *elements, bool inputIsRowMajor=true) |
ThisType & | Assign (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &other) |
RefTransposeType | TransposeRef (void) |
ConstRefTransposeType | TransposeRef (void) const |
void | ProductOf (const vctFixedSizeConstMatrixBase< _rows, __input1Cols, __input1RowStride, __input1ColStride, _elementType, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< __input1Cols, _cols, __input2RowStride, __input2ColStride, _elementType, __input2DataPtrType > &input2Matrix) |
ThisType & | AddProductOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | AddElementwiseProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &matrix1, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &matrix2) |
ThisType & | TransposeOf (const vctFixedSizeConstMatrixBase< _cols, _rows, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
void | OuterProductOf (const vctFixedSizeConstVectorBase< _rows, __stride1, _elementType, __dataPtrType1 > &columnVector, const vctFixedSizeConstVectorBase< _cols, __stride2, _elementType, __dataPtrType2 > &rowVector) |
bool | FromStreamRaw (std::istream &inputStream, const char delimiter= ' ') |
void | DeSerializeRaw (std::istream &inputStream) |
RowRefType | Row (size_type index) |
ConstRowRefType | Row (size_type index) const |
ColumnRefType | Column (size_type index) |
ConstColumnRefType | Column (size_type index) const |
DiagonalRefType | Diagonal (void) |
ConstDiagonalRefType | Diagonal (void) const |
vctFixedSizeMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > | Ref (const size_type startRow=0, const size_type startCol=0) throw (std::out_of_range) |
vctFixedSizeConstMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > | Ref (const size_type startRow=0, const size_type startCol=0) const throw (std::out_of_range) |
void | ExchangeRows (const size_type row1Index, const size_type row2Index) |
void | ExchangeColumns (const size_type col1Index, const size_type col2Index) |
void | SelectRowsFrom (const vctFixedSizeConstMatrixBase< __rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< _rows, __indexStride, index_type, __indexDataPtrType > &rowIndexVector) |
void | SelectColsFrom (const vctFixedSizeConstMatrixBase< _rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< _cols, __indexStride, index_type, __indexDataPtrType > &colIndexVector) |
ThisType & | ForceAssign (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) |
ThisType & | ForceAssign (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &other) |
bool | FastCopyOf (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) throw (std::runtime_error) |
bool | FastCopyOf (const vctFixedSizeConstMatrixBase< ROWS, COLS, ROWSTRIDE, COLSTRIDE, value_type, __dataPtrType > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) throw (std::runtime_error) |
ThisType & | SumOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) |
ThisType & | DifferenceOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) |
ThisType & | ElementwiseProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) |
ThisType & | ElementwiseRatioOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) |
ThisType & | ElementwiseMinOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) |
ThisType & | ElementwiseMaxOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) |
ThisType & | Add (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | Subtract (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | ElementwiseMultiply (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | ElementwiseDivide (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | ElementwiseMin (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | ElementwiseMax (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | operator+= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | operator-= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | SumOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) |
ThisType & | DifferenceOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) |
ThisType & | ProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) |
ThisType & | RatioOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) |
ThisType & | ClippedAboveOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type upperBound) |
ThisType & | ClippedBelowOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type lowerBound) |
ThisType & | SumOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
ThisType & | DifferenceOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
ThisType & | ProductOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
ThisType & | RatioOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
ThisType & | ClippedAboveOf (const value_type upperBound, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
ThisType & | ClippedBelowOf (const value_type lowerBound, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) |
ThisType & | Add (const value_type scalar) |
ThisType & | Subtract (const value_type scalar) |
ThisType & | operator+= (const value_type scalar) |
ThisType & | operator-= (const value_type scalar) |
ThisType & | Multiply (const value_type scalar) |
ThisType & | Divide (const value_type scalar) |
ThisType & | ClipAbove (const value_type upperBound) |
ThisType & | ClipBelow (const value_type lowerBound) |
ThisType & | operator*= (const value_type scalar) |
ThisType & | operator/= (const value_type scalar) |
ThisType & | AbsOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | NegationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | FloorOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | CeilOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) |
ThisType & | AbsSelf (void) |
ThisType & | NegationSelf (void) |
ThisType & | FloorSelf (void) |
ThisType & | CeilSelf (void) |
![]() | |
VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |
VCT_NARRAY_TRAITS_TYPEDEFS (DIMENSION) | |
bool | IsSquare (void) const |
bool | IsSquare (size_type size) const |
bool | FastCopyCompatible (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source) const |
bool | FastCopyCompatible (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source) const |
ConstRefTransposeType | TransposeRef (void) const |
TransposeValueType | Transpose () const |
std::string | ToString (void) const |
void | ToStream (std::ostream &outputStream) const |
void | ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const |
void | SerializeRaw (std::ostream &outputStream) const |
bool | Equal (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | operator== (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix, value_type tolerance) const |
bool | AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | NotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | operator!= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | Lesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | LesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | Greater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | GreaterOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
BoolMatrixValueType | ElementwiseEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
BoolMatrixValueType | ElementwiseNotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
BoolMatrixValueType | ElementwiseLesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
BoolMatrixValueType | ElementwiseLesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
BoolMatrixValueType | ElementwiseGreater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
BoolMatrixValueType | ElementwiseGreaterOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
bool | Equal (const value_type &scalar) const |
bool | operator== (const value_type &scalar) const |
bool | NotEqual (const value_type &scalar) const |
bool | operator!= (const value_type &scalar) const |
bool | Lesser (const value_type &scalar) const |
bool | LesserOrEqual (const value_type &scalar) const |
bool | Greater (const value_type &scalar) const |
bool | GreaterOrEqual (const value_type &scalar) const |
BoolMatrixValueType | ElementwiseEqual (const value_type &scalar) const |
BoolMatrixValueType | ElementwiseNotEqual (const value_type &scalar) const |
BoolMatrixValueType | ElementwiseLesser (const value_type &scalar) const |
BoolMatrixValueType | ElementwiseLesserOrEqual (const value_type &scalar) const |
BoolMatrixValueType | ElementwiseGreater (const value_type &scalar) const |
BoolMatrixValueType | ElementwiseGreaterOrEqual (const value_type &scalar) const |
MatrixValueType | Abs (void) const |
MatrixValueType | Negation (void) const |
MatrixValueType | Floor (void) const |
MatrixValueType | Ceil (void) const |
Additional Inherited Members | |
![]() | |
static CISST_EXPORT const RotationValueType & | Identity () |
![]() | |
static const MatrixValueType & | Eye (void) |
![]() | |
void | ThrowUnlessIsNormalized (void) const throw (std::runtime_error) |
void | ThrowUnlessIsNormalized (const _inputType &input) const throw (std::runtime_error) |
Define a rotation matrix for a space of dimension 3.
This class is templated by the element type. It is derived from vctMatrixRotation3Base and uses a vctFixedSizeMatrix as underlying container. It provides a more humain interface for programmers only interested in templating by _elementType.
_elementType | The type of elements of the matrix. |
typedef vctMatrixRotation3Base<ContainerType> vctMatrixRotation3Ref< _elementType, _rowStride, _colStride >::BaseType |
typedef vctFixedSizeMatrixRef<value_type, ROWS, COLS, _rowStride, _colStride> vctMatrixRotation3Ref< _elementType, _rowStride, _colStride >::ContainerType |
typedef vctMatrixRotation3Ref<value_type, _rowStride, _colStride> vctMatrixRotation3Ref< _elementType, _rowStride, _colStride >::ThisType |
typedef cmnTypeTraits<value_type> vctMatrixRotation3Ref< _elementType, _rowStride, _colStride >::TypeTraits |
Traits used for all useful types and values related to the element type.
anonymous enum |
anonymous enum |
|
inline |
Default constructor. Sets the rotation matrix to identity.
|
inline |
|
inline |
|
inline |
The assignment from BaseType (i.e. a 3 by 3 fixed size matrix) has to be redefined for this class (C++ restriction). This operator uses the Assign() method inherited from the BaseType. This operator (as well as the Assign method) allows to set a rotation matrix to whatever value without any further validity checking. It is recommended to use it with caution.
|
inline |
|
inline |
vctMatrixRotation3Ref< _elementType, _rowStride, _colStride >::VCT_CONTAINER_TRAITS_TYPEDEFS | ( | _elementType | ) |