cisst-saw
|
Template base class for a 4x4 frame. More...
#include <vctForwardDeclarations.h>
Public Types | |
enum | { ROWS = 4, COLS = 4 } |
enum | { DIMENSION = 3 } |
typedef vctFixedSizeMatrix < value_type, ROWS, COLS, _rowMajor > | ContainerType |
typedef vctFrame4x4Base < ContainerType > | BaseType |
typedef vctFrame4x4 < value_type, _rowMajor > | ThisType |
typedef cmnTypeTraits< value_type > | TypeTraits |
![]() | |
enum | |
enum | |
typedef vctFixedSizeMatrix < _elementType, 4, 4, _rowMajor > | ContainerType |
typedef vctFrame4x4ConstBase < ContainerType > | BaseType |
typedef vctFrame4x4Base < ContainerType > | ThisType |
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::MatrixValueType | MatrixValueType |
typedef BaseType::TranslationRefType | TranslationRefType |
typedef BaseType::ConstTranslationRefType | ConstTranslationRefType |
typedef BaseType::PerspectiveRefType | PerspectiveRefType |
typedef BaseType::ConstPerspectiveRefType | ConstPerspectiveRefType |
typedef BaseType::RotationRefType | RotationRefType |
typedef BaseType::ConstRotationRefType | ConstRotationRefType |
typedef cmnTypeTraits< value_type > | TypeTraits |
![]() | |
enum | |
enum | |
enum | |
typedef vctFixedSizeMatrix < _elementType, 4, 4, _rowMajor > | BaseType |
typedef vctFixedSizeMatrix < _elementType, 4, 4, _rowMajor > | ContainerType |
typedef vctFrame4x4ConstBase < ContainerType > | ThisType |
typedef BaseType::RowValueType | RowValueType |
typedef BaseType::ColumnValueType | ColumnValueType |
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 vctFrame4x4 < value_type, COLSTRIDE <=ROWSTRIDE > FrameValueType;typedef cmnTypeTraits< value_type > TypeTraits;typedef vctFixedSizeVectorRef < value_type, DIMENSION, ROWSTRIDE > TranslationRefType;typedef vctFixedSizeConstVectorRef < value_type, DIMENSION, ROWSTRIDE > ConstTranslationRefType;typedef vctFixedSizeVectorRef < value_type, DIMENSION, COLSTRIDE > PerspectiveRefType;typedef vctFixedSizeConstVectorRef < value_type, DIMENSION, COLSTRIDE > ConstPerspectiveRefType;typedef vctMatrixRotation3Ref < value_type, ROWSTRIDE, COLSTRIDE > RotationRefType;typedef vctMatrixRotation3ConstRef < value_type, ROWSTRIDE, COLSTRIDE > ConstRotationRefType;protected:RotationRefType RotationRef;TranslationRefType TranslationRef;PerspectiveRefType PerspectiveRef;inline void UpdateReferences(void){RotationRef.SetRef(this-> Pointer(0, 0));TranslationRef.SetRef(this-> Pointer(0, DIMENSION));PerspectiveRef.SetRef(this-> Pointer(DIMENSION, 0));}public:vctFrame4x4ConstBase(void){this-> | UpdateReferences () |
![]() | |
typedef vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows > | MatrixTraits |
typedef vctFixedSizeMatrixBase < _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, typename vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows > ::array > | BaseType |
typedef vctFixedSizeMatrix < _elementType, _rows, _cols, _rowMajor > | ThisType |
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 class cmnTypeTraits < value_type > | TypeTraits |
typedef TypeTraits::VaArgPromotion | ElementVaArgPromotion |
![]() | |
enum | |
enum | |
typedef vctFixedSizeMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows > ::array > | ThisType |
typedef vctFixedSizeConstMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows > ::array > | 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 | { DIMENSION = 2 } |
enum | { ROWS = MatrixTraits::ROWS, COLS = MatrixTraits::COLS, LENGTH = MatrixTraits::LENGTH } |
enum | { ROWSTRIDE = MatrixTraits::ROWSTRIDE, COLSTRIDE = MatrixTraits::COLSTRIDE } |
enum | { DIAGONAL_LENGTH = (ROWS <= COLS) ? ROWS : COLS, DIAGONAL_STRIDE = ROWSTRIDE + COLSTRIDE } |
typedef vctFixedSizeConstMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > | 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 _dataPtrType DataType;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) | |
vctFrame4x4 (void) | |
vctFrame4x4 (const ThisType &other) | |
ThisType & | operator= (const ThisType &other) |
template<bool __rowMajor> | |
vctFrame4x4 (const vctFrame4x4< value_type, __rowMajor > &other) | |
template<bool __rowMajor> | |
ThisType & | operator= (const vctFrame4x4< value_type, __rowMajor > &other) |
template<class __containerType > | |
vctFrame4x4 (const vctFrame4x4ConstBase< __containerType > &other) | |
template<class __containerType > | |
ThisType & | operator= (const vctFrame4x4ConstBase< __containerType > &other) |
vctFrame4x4 (const ContainerType &other) | |
ThisType & | operator= (const ContainerType &other) |
template<class _rotationType , class _translationType > | |
vctFrame4x4 (const _rotationType &rotation, const _translationType &translation) | |
template<class __containerType > | |
vctFrame4x4 (const vctFrameBase< __containerType > &other) | |
template<class __containerType > | |
vctFrame4x4 (const vctFrameBase< __containerType > &other, bool normalizeInput) | |
![]() | |
VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type) | |
vctFrame4x4Base (void) | |
ConstTranslationRefType | Translation (void) const |
TranslationRefType | Translation (void) |
ConstRotationRefType | Rotation (void) const |
RotationRefType | Rotation (void) |
ConstPerspectiveRefType | Perspective (void) const |
PerspectiveRefType | Perspective (void) |
ThisType & | NormalizedSelf (void) |
ThisType & | InverseSelf (void) |
ThisType & | InverseOf (const vctFrame4x4ConstBase< __containerType > &otherFrame) |
ThisType & | From (const __rotationType &rotation, const __translationType &translation) throw (std::runtime_error) |
ThisType & | FromNormalized (const __rotationType &rotation, const __translationType &translation) |
ThisType & | FromRaw (const __rotationType &rotation, const __translationType &translation) |
ThisType & | From (const vctFrameBase< __rotationType > &frame) throw (std::runtime_error) |
ThisType & | FromNormalized (const vctFrameBase< __rotationType > &frame) |
ThisType & | FromRaw (const vctFrameBase< __rotationType > &frame) |
![]() | |
VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type) | |
ConstTranslationRefType | Translation (void) const |
ConstRotationRefType | Rotation (void) const |
ConstPerspectiveRefType | Perspective (void) const |
FrameValueType | Inverse (void) const |
bool | IsNormalized (value_type tolerance=TypeTraits::Tolerance()) 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 |
void | ApplyTo (const vctFrame4x4ConstBase< __containerType1 > &input, vctFrame4x4Base< __containerType2 > &output) const |
FrameValueType | ApplyTo (const vctFrame4x4ConstBase< __containerType > &input) const |
void | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) 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 (size_type inputSize, const vctFixedSizeVector< value_type, DIMENSION > *input, vctFixedSizeVector< value_type, DIMENSION > *output) const |
void | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const |
void | ApplyInverseTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const |
vctFixedSizeVector< value_type, DIMENSION > | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
void | ApplyInverseTo (const vctFrame4x4ConstBase< __containerType1 > &input, vctFrame4x4Base< __containerType2 > &output) const |
FrameValueType | ApplyInverseTo (const vctFrame4x4ConstBase< __containerType > &input) const |
bool | AlmostEqual (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const |
bool | AlmostEquivalent (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const |
bool | Equal (const ThisType &other) const |
bool | operator== (const ThisType &other) const |
![]() | |
VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |
vctFixedSizeMatrix () | |
vctFixedSizeMatrix (const value_type &value) | |
vctFixedSizeMatrix (const value_type element0, const value_type element1,...) | |
vctFixedSizeMatrix (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &matrix) | |
vctFixedSizeMatrix (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &matrix) | |
ThisType & | operator= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) |
ThisType & | operator= (const ThisType &other) |
ThisType & | operator= (const vctFixedSizeConstMatrixRef< value_type, _rows, _cols, __rowStride, __colStride > &other) |
ThisType & | operator= (const vctFixedSizeConstMatrixRef< __elementType, _rows, _cols, __rowStride, __colStride > &other) |
ThisType & | operator= (const value_type &value) |
![]() | |
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 |
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | FastCopyCompatible (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source) const |
template<class __matrixOwnerType > | |
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 |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | Equal (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | operator== (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix, value_type tolerance) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | NotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | operator!= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | Lesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | LesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | Greater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
bool | GreaterOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
BoolMatrixValueType | ElementwiseEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
BoolMatrixValueType | ElementwiseNotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
BoolMatrixValueType | ElementwiseLesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
BoolMatrixValueType | ElementwiseLesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
BoolMatrixValueType | ElementwiseGreater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const |
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |
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 FrameValueType & | Identity (void) |
![]() | |
static const MatrixValueType & | Eye (void) |
Template base class for a 4x4 frame.
This class allows to use a 4 by 4 matrix as a frame in 3D. This is a limited case of the so called homegenous transformations as this class is intended to support only the translation and rotation parts of the transformation. It is not intended to support perspective or scaling operations. The different constructors and normalization methods provided will set the last row to [0 0 0 1].
_matrixType | The type of matrix used to store the elements |
typedef vctFrame4x4Base<ContainerType> vctFrame4x4< _elementType, _rowMajor >::BaseType |
typedef vctFixedSizeMatrix<value_type, ROWS, COLS, _rowMajor> vctFrame4x4< _elementType, _rowMajor >::ContainerType |
typedef vctFrame4x4<value_type, _rowMajor> vctFrame4x4< _elementType, _rowMajor >::ThisType |
typedef cmnTypeTraits<value_type> vctFrame4x4< _elementType, _rowMajor >::TypeTraits |
Traits used for all useful types and values related to the element type.
|
inline |
Default constructor. Sets the matrix to identity.
|
inline |
Copy constructor. Uses Assign.
|
inline |
Copy constructor with different storage order, uses Assign
|
inline |
Copy constructor from vctFrame4x4ConstBase with a different container type. Uses Assign.
|
inline |
Copy constructor from ContainerType. Uses Assign.
|
inline |
Constructor from a translation and a rotation.
|
inlineexplicit |
Constructor from a vctFrameBase. This constructor uses the method From which will test if the input is normalized. If the input is not normalized it will throw an exception of type std::runtime_error.
|
inline |
Constructor from a vctFrameBase. This constructor uses the method FromNormalized or FromRaw based on the second argument (use VCT_NORMALIZE or VCT_DO_NOT_NORMALIZE).
|
inline |
|
inline |
|
inline |
|
inline |
vctFrame4x4< _elementType, _rowMajor >::VCT_CONTAINER_TRAITS_TYPEDEFS | ( | _elementType | ) |