cisst-saw
|
An implementation of the ``abstract'' vctFixedSizeMatrixBase. More...
#include <vctFixedSizeMatrixRef.h>
Public Types | |
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) | |||
vctFixedSizeMatrixRef () | |||
vctFixedSizeMatrixRef (pointer p) | |||
template<size_type __rows, size_type __cols, class __dataPtrType > | |||
vctFixedSizeMatrixRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix) | |||
template<size_type __rows, size_type __cols, class __dataPtrType > | |||
vctFixedSizeMatrixRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, index_type startRow, index_type startCol) | |||
template<class __matrixOwnerType > | |||
vctFixedSizeMatrixRef (vctDynamicMatrixBase< __matrixOwnerType, _elementType > &matrix, index_type startRow, index_type startCol) | |||
void | SetRef (pointer p) | ||
void | SetRef (const ThisType &other) | ||
template<size_type __rows, size_type __cols, class __dataPtrType > | |||
void | SetRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, index_type startRow, index_type startCol) | ||
template<class __dataPtrType > | |||
void | SetRef (vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix) | ||
template<class __matrixOwnerType > | |||
void | SetRef (vctDynamicMatrixBase< __matrixOwnerType, _elementType > &matrix, index_type startRow, index_type startCol) | ||
ThisType & | operator= (const value_type &value) | ||
Assignment operation into a matrix reference | |||
| |||
ThisType & | operator= (const ThisType &other) | ||
template<stride_type __rowStride, stride_type __colStride> | |||
ThisType & | operator= (const vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, __rowStride, __colStride > &other) | ||
template<stride_type __rowStride, stride_type __colStride, class __elementType , class __dataPtrType > | |||
ThisType & | operator= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) | ||
template<class __matrixOwnerType > | |||
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 const MatrixValueType & | Eye (void) |
An implementation of the ``abstract'' vctFixedSizeMatrixBase.
This implementations uses a pointer to the matrix beginning as the matrix defining data member. An instantiation of this type can be used as a matrix reference with TransposeRef().
See the base class (vctFixedSizeMatrixBase) for template parameter details.
typedef vctFixedSizeMatrixBase<_rows, _cols, _rowStride, _colStride, value_type, typename MatrixTraits::pointer> vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::BaseType |
typedef MatrixTraits::const_iterator vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::const_iterator |
typedef MatrixTraits::const_reverse_iterator vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::const_reverse_iterator |
typedef MatrixTraits::iterator vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::iterator |
typedef vctFixedSizeMatrixTraits<_elementType, _rows, _cols, _rowStride, _colStride> vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::MatrixTraits |
typedef MatrixTraits::reverse_iterator vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::reverse_iterator |
typedef vctFixedSizeMatrixRef<value_type, _rows, _cols, _rowStride, _colStride> vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::ThisType |
|
inline |
Default constructor: create an uninitialized matrix
|
inline |
Initialize the matrix with a (non-const) pointer
|
inlineexplicit |
Convenience constructor to initialize a reference to a fixed-size matrix object. The constructor is declared as explicit, and care must be taken when a matrix object is passed as a function argument.
|
inline |
Convenience constructor to initialize a reference to a fixed-size matrix object.
|
inline |
Convenience constructor to initialize a fixed-size reference to a dynamic matrix. The constructor involves assertion that the sizes and strides match
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Assignement of a scalar to all elements. See also SetAll.
|
inline |
Assign the matrix start with a (non-const) pointer
|
inline |
|
inline |
Convenience method to set a reference to a fixed-size matrix object.
matrix | the fixed size matrix to be referenced |
startRow | the row index from which reference will start |
startCol | the column index from which reference will start The strides of this matrix must be identical to the strides of the other matrix (this is enforced by the template parameters). |
|
inline |
|
inline |
Convenience method to set a reference to a dynamic matrix object.
matrix | the fixed size matrix to be referenced |
startRow | the row index from which reference will start |
startCol | the column index from which reference will start The strides of this matrix must be identical to the strides of the other matrix (otherwise cmnThrow is used to throw std::runtime_error). |
vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >::VCT_CONTAINER_TRAITS_TYPEDEFS | ( | _elementType | ) |