|
cisst-saw
|
#include <vctDynamicMatrixBase.h>
Classes | |
| class | Submatrix |
Public Types | |
| typedef vctDynamicMatrixBase | ThisType |
| typedef vctDynamicConstMatrixBase< _matrixOwnerType, _elementType > | BaseType |
| typedef _matrixOwnerType | OwnerType |
| typedef BaseType::iterator | iterator |
| typedef BaseType::reverse_iterator | reverse_iterator |
| typedef BaseType::const_iterator | const_iterator |
| typedef BaseType::const_reverse_iterator | const_reverse_iterator |
| typedef BaseType::ConstRowRefType | ConstRowRefType |
| typedef BaseType::RowRefType | RowRefType |
| typedef BaseType::ConstColumnRefType | ConstColumnRefType |
| typedef BaseType::ColumnRefType | ColumnRefType |
| typedef BaseType::ConstDiagonalRefType | ConstDiagonalRefType |
| typedef BaseType::DiagonalRefType | DiagonalRefType |
| typedef BaseType::ConstRefTransposeType | ConstRefTransposeType |
| typedef BaseType::RefTransposeType | RefTransposeType |
| typedef BaseType::ConstVectorPointerType | ConstVectorPointerType |
| typedef BaseType::VectorPointerType | VectorPointerType |
Public Member Functions | |||
| VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |||
| iterator | begin (void) | ||
| iterator | end (void) | ||
| reverse_iterator | rbegin (void) | ||
| reverse_iterator | rend (void) | ||
| const_iterator | begin (void) const | ||
| const_iterator | end (void) const | ||
| const_reverse_iterator | rbegin (void) const | ||
| const_reverse_iterator | rend (void) const | ||
| RowRefType | operator[] (size_type index) | ||
| ConstRowRefType | operator[] (size_type index) const | ||
| const OwnerType & | Owner (void) const | ||
| OwnerType & | Owner (void) | ||
| 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) CISST_THROW(std | ||
| const_reference | at (size_type index) const CISST_THROW(std | ||
| reference | at (size_type rowIndex, size_type colIndex) CISST_THROW(std | ||
| const_reference | at (size_type rowIndex, size_type colIndex) const CISST_THROW(std | ||
| reference | operator() (size_type rowIndex, size_type colIndex) CISST_THROW(std | ||
| const_reference | operator() (size_type rowIndex, size_type colIndex) const CISST_THROW(std | ||
| reference | Element (size_type rowIndex, size_type colIndex) | ||
| const_reference | Element (size_type rowIndex, size_type colIndex) const | ||
Row and column references. | |||
| RowRefType | Row (size_type index) CISST_THROW(std | ||
| ColumnRefType | Column (size_type index) CISST_THROW(std | ||
| DiagonalRefType | Diagonal (void) | ||
| VectorPointerType & | RowPointers (VectorPointerType &rowPointers) CISST_THROW(std | ||
| ConstRowRefType | Row (size_type index) const CISST_THROW(std | ||
| ConstColumnRefType | Column (size_type index) const CISST_THROW(std | ||
| ConstDiagonalRefType | Diagonal (void) const | ||
| ConstVectorPointerType | RowPointers (ConstVectorPointerType &rowPointers) const CISST_THROW(std | ||
| vctDynamicMatrixRef< _elementType > | Ref (const size_type rows, const size_type cols, const size_type startRow=0, const size_type startCol=0) CISST_THROW(std | ||
| vctDynamicConstMatrixRef< _elementType > | Ref (const size_type rows, const size_type cols, const size_type startRow=0, const size_type startCol=0) const CISST_THROW(std | ||
| void | ExchangeRows (const size_type row1Index, const size_type row2Index) | ||
| void | ExchangeColumns (const size_type col1Index, const size_type col2Index) | ||
| template<class __inputMatrixOwnerType, class __indexVectorOwnerType> | |||
| void | SelectRowsFrom (const vctDynamicConstMatrixBase< __inputMatrixOwnerType, _elementType > &inputMatrix, const vctDynamicConstVectorBase< __indexVectorOwnerType, index_type > &rowIndexVector) | ||
| template<class __inputMatrixOwnerType, class __indexVectorOwnerType> | |||
| void | SelectColsFrom (const vctDynamicConstMatrixBase< __inputMatrixOwnerType, _elementType > &inputMatrix, const vctDynamicConstVectorBase< __indexVectorOwnerType, index_type > &colIndexVector) | ||
| template<class __matrixOwnerType> | |||
| void | RowPermutationOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &inputMatrix, const index_type permutedRowIndexes[]) | ||
| template<class __matrixOwnerType> | |||
| void | RowInversePermutationOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &inputMatrix, const index_type permutedRowIndexes[]) | ||
| template<class __matrixOwnerType> | |||
| void | ColumnPermutationOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &inputMatrix, const index_type permutedColumnIndexes[]) | ||
| template<class __matrixOwnerType> | |||
| void | ColumnInversePermutationOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &inputMatrix, const index_type permutedColumnIndexes[]) | ||
| value_type | SetAll (const value_type value) | ||
| bool | Zeros (void) | ||
Assignment operation between matrices containing the same data type but different owners | |||
| |||
| template<class __matrixOwnerType> | |||
| ThisType & | Assign (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &other) | ||
Assignment operation between matrices of different types. | |||
| |||
| template<class __matrixOwnerType, typename __elementType> | |||
| ThisType & | Assign (const vctDynamicConstMatrixBase< __matrixOwnerType, __elementType > &other) | ||
| template<class __matrixOwnerType, typename __elementType> | |||
| ThisType & | operator= (const vctDynamicConstMatrixBase< __matrixOwnerType, __elementType > &other) | ||
| template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __elementType, class __dataPtrType> | |||
| ThisType & | Assign (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) | ||
Forced assignment operation between matrices of | |||
different types. This method will use SetSize on the destination matrix (this matrix) to make sure the assignment will work. It is important to note that if the sizes don't match, memory for this matrix will be re-allocated. If the program has previously created some references (as in vctDynamic{Const}MatrixRef) on this matrix, they will become invalid.
| |||
| template<class __matrixOwnerType, typename __elementType> | |||
| ThisType & | ForceAssign (const vctDynamicConstMatrixBase< __matrixOwnerType, __elementType > &other) | ||
| template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __elementType, class __dataPtrType> | |||
| ThisType & | ForceAssign (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) | ||
| template<class __matrixOwnerType> | |||
| bool | FastCopyOf (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) CISST_THROW(std | ||
| template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __dataPtrType> | |||
| bool | FastCopyOf (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) CISST_THROW(std | ||
| ThisType & | Assign (const value_type *elements, bool inputIsRowMajor=true) | ||
| ThisType & | Assign (const value_type element0,...) | ||
| RefTransposeType | TransposeRef (void) | ||
| ConstRefTransposeType | TransposeRef (void) const | ||
Binary elementwise operations between two matrices. | |||
Store the result of op(this, otherMatrix) back to this matrix. | |||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| ThisType & | SumOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| ThisType & | DifferenceOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| ThisType & | ElementwiseProductOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| ThisType & | ElementwiseRatioOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| ThisType & | ElementwiseMinOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| ThisType & | ElementwiseMaxOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | Add (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | Subtract (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ElementwiseMultiply (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ElementwiseDivide (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ElementwiseMin (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ElementwiseMax (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | operator+= (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | operator-= (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
Binary elementwise operations a matrix and a scalar. | |||
Store the result of op(matrix, scalar) to a third matrix. | |||
| template<class __matrixOwnerType> | |||
| ThisType & | SumOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, const value_type scalar) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | DifferenceOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, const value_type scalar) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ProductOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, const value_type scalar) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | RatioOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, const value_type scalar) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ClippedAboveOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, const value_type lowerBound) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ClippedBelowOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, const value_type upperBound) | ||
Binary elementwise operations a scalar and a matrix. | |||
Store the result of op(scalar, matrix) to a third matrix. | |||
| template<class __matrixOwnerType> | |||
| ThisType & | SumOf (const value_type scalar, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | DifferenceOf (const value_type scalar, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ProductOf (const value_type scalar, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | RatioOf (const value_type scalar, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ClippedAboveOf (const value_type upperBound, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | ClippedBelowOf (const value_type lowerBound, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix) | ||
Binary elementwise operations between a matrix and a scalar. | |||
Store the result of op(this, scalar) back to this matrix. | |||
| ThisType & | Add (const value_type scalar) | ||
| ThisType & | Subtract (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 & | operator*= (const value_type scalar) | ||
| ThisType & | operator/= (const value_type scalar) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | AddProductOf (const value_type scalar, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| ThisType & | AddElementwiseProductOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
Unary elementwise operations. | |||
Store the result of op(matrix) to another matrix. | |||
| template<class __matrixOwnerType> | |||
| ThisType & | AbsOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | NegationOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | FloorOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | CeilOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
| template<class __matrixOwnerType> | |||
| ThisType & | TransposeOf (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) | ||
Store back unary elementwise operations. | |||
Store the result of op(this) to this matrix. | |||
| ThisType & | AbsSelf (void) | ||
| ThisType & | NegationSelf (void) | ||
| ThisType & | FloorSelf (void) | ||
| ThisType & | CeilSelf (void) | ||
| template<class __matrixOwnerType1, class __matrixOwnerType2> | |||
| void | ProductOf (const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &matrix1, const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &matrix2) | ||
| template<class __vectorOwnerType1, class __vectorOwnerType2> | |||
| void | OuterProductOf (const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &colVector, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &rowVector) | ||
This class provides all the const methods inherited from vctConstMatrixBase, and extends them with non-const methods, such as SumOf.
| typedef vctDynamicConstMatrixBase<_matrixOwnerType, _elementType> vctDynamicMatrixBase< _matrixOwnerType, _elementType >::BaseType |
Type of the base class.
| typedef BaseType::ColumnRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ColumnRefType |
| typedef BaseType::const_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::const_iterator |
| typedef BaseType::const_reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::const_reverse_iterator |
| typedef BaseType::ConstColumnRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstColumnRefType |
| typedef BaseType::ConstDiagonalRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstDiagonalRefType |
| typedef BaseType::ConstRefTransposeType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstRefTransposeType |
| typedef BaseType::ConstRowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstRowRefType |
| typedef BaseType::ConstVectorPointerType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstVectorPointerType |
| typedef BaseType::DiagonalRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::DiagonalRefType |
| typedef BaseType::iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::iterator |
| typedef _matrixOwnerType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::OwnerType |
| typedef BaseType::RefTransposeType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RefTransposeType |
| typedef BaseType::reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::reverse_iterator |
| typedef BaseType::RowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RowRefType |
| typedef vctDynamicMatrixBase vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ThisType |
| typedef BaseType::VectorPointerType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::VectorPointerType |
|
inline |
Unary elementwise operations on a matrix. For each element of the matrix "this", performs \( this[i] \leftarrow op(otherMatrix[i])\) where \(op\) can calculate the absolute value (AbsOf), the opposite (NegationOf) or the transpose (TransposeOf).
| otherMatrix | The operand of the unary operation. |
|
inline |
Unary elementwise operations on a matrix. For each element of the matrix "this", performs \( this[i] \leftarrow op(this[i])\) where \(op\) can calculate the absolute value (AbsSelf) or the opposite (NegationSelf).
|
inline |
Store back binary elementwise operations between a matrix and a scalar. For each element of the matrix "this", performs \(this[i] \leftarrow op(this[i], scalar)\) where \(op\) is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).
| scalar | The second operand of the binary operation (this[i] is the first operand. |
|
inline |
Store back binary elementwise operations between two matrices. For each element of the matrices, performs \(this[i] \leftarrow op(this[i], otherMatrix[i])\) where \(op\) is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).
| otherMatrix | The second operand of the binary operation (this[i] is the first operand) |
|
inline |
|
inline |
|
inline |
Assign to this matrix values from a C array given as a pointer to value_type. The purpose of this method is to simplify the syntax by not necessitating the creation of an explicit matrix for the given array. However, we only provide this method for an array of value_type. For arrays of other types a matrix still needs to be declared.
| elements | a pointer to a C array of elements to be assigned to this matrix. |
| inputIsRowMajor | a flag indicating the storage order of the elements in the input array. |
|
inline |
Assign to this matrix a set of values provided as independent arguments, by using cstdarg macros, that is, an unspecified number of arguments. This operation assumes that all the arguments are of type value_type, and that their number is equal to the size of the matrix. The arguments are passed by value. The user may need to explicitly cast the parameters to value_type to avoid runtime bugs and errors. The order of the paramaters is row first which allows to keep the code pretty intuitive:
|
inline |
|
inline |
|
inline |
|
inline |
Access an element by index (const). Compare with std::vector::at. This method can be a handy substitute for the overloaded operator [] when operator overloading is unavailable or inconvenient.
|
inline |
|
inline |
Access an element by index. Compare with std::vector::at(). This method can be a handy substitute for the overloaded operator () when operator overloading is unavailable or inconvenient.
|
inline |
|
inline |
Returns an iterator on the first element (STL compatibility).
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Create a column reference.
|
inline |
|
inline |
Assign a permutation of the columns of the input matrix to the column of this matrix. Both matrices must have the same size.
| inputMatrix | the input matrix for the permutation. |
| permutedColumnIndexes | an array of column indices. The assignment performed is: this->Column( permutedColumnIndexes[i] ) <– inputMatrix.Column(i). |
|
inline |
Assign a permutation of the columns of the input matrix to the column of this matrix. Both matrices must have the same size.
| inputMatrix | the input matrix for the permutation. |
| permutedColumnIndexes | an array of column indices. The assignment performed is: this->Column(i) <– inputMatrix.Column( permutedColumnIndexes[i] ). |
|
inline |
Create a non-const reference to the main diagonal of this matrix
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Access an element by indices (non const). This method allows to access an element without any bounds checking. It doesn't create any temporary row reference as a matrix[][] would do.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns an iterator on the last element (STL compatibility).
|
inline |
|
inline |
Exchange two colums of the matrix
|
inline |
Exchange two rows of the matrix
|
inline |
Fast copy. This method uses memcpy whenever it is possible to perform a fast copy from another matrix to this matrix.
std::runtime_error). See cmnThrow for details.false. If both matrices are compact and use the same storage order, a single memcpy is performed and the method returns true.memcpy, i.e. one per row or column and the method returns trueperformSafetyChecks to vctFastCopy::SkipChecks (boolean defined false). This should be used only when the programmer knows for sure that the source and destination are compatible (size, storage order and compactness).The basic and safe use of this method for a matrix would be:
If the method is to be called many times (in a loop for example), it is recommended to check that the source and destination are compatible once and then use the option to turn off the different safety checks for each FastCopyOf.
Finally, this method will work on either matrices which have allocated their memory of matrix references (such as vctDynamicMatrixRef). So, to copy a part of a matrix, the programmer can do:
| source | Matrix used to set the content of this matrix. |
| performSafetyChecks | Flag set to false to avoid safety checks, use with extreme caution. To make your code more readable use vctFastCopy::SkipChecks or vctFastCopy::PerformChecks. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Overloaded operator () for simplified (non const) element access with bounds checking
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Reference a row of this matrix by index.
|
inline |
|
inline |
Compute the outer product of two vectors and store the result to this matrix. The outer product (v1*v2)[i,j] = v1[i] * v2[j]
|
inline |
|
inline |
|
inline |
Return a non const pointer to an element of the container, specified by its indices. Addition to the STL requirements.
|
inline |
|
inline |
Returns a non const pointer to the first element of the container. Addition to the STL requirements.
|
inline |
|
inline |
|
inline |
|
inline |
Product of two matrices. If the sizes of the matrices don't match, an exception is thrown.
| matrix1 | The left operand of the binary operation. |
| matrix2 | The right operand of the binary operation. |
|
inline |
|
inline |
|
inline |
Returns a reverse iterator on the last element (STL compatibility).
|
inline |
|
inline |
Create a reference to a sub matrix
|
inline |
|
inline |
Returns a reverse iterator on the element before first (STL compatibility).
|
inline |
|
inline |
Create a row reference.
|
inline |
|
inline |
Assign a permutation of the rows of the input matrix to the rows of this matrix. Both matrices must have the same size.
| inputMatrix | the input matrix for the permutation. |
| permutedRowIndexes | an array of row indices. The assignment performed is: this->Row( permutedRowIndexes[i] ) <– inputMatrix.Row(i). |
|
inline |
Assign a permutation of the rows of the input matrix to the rows of this matrix. Both matrices must have the same size.
| inputMatrix | the input matrix for the permutation. |
| permutedRowIndexes | an array of row indices. The assignment performed is: this->Row(i) <– inputMatrix.Row( permutedRowIndexes[i] ). |
|
inline |
|
inline |
Resize and fill a vector of pointers on the rows of the matrix. This method is provided to ease the interfacing with C libraries using matrices stored as value_type**.
To use this method, one must first create a dynamic vector of pointers, update it with the RowPointers method and then call the C function:
|
inline |
Select a subset of columns from another matrix
|
inline |
Select a subset of rows from another matrix
|
inline |
Assign the given value to all the elements.
| value | the value used to set all the elements of the matrix |
|
inline |
|
inline |
|
inline |
Binary elementwise operations between a scalar and a matrix. For each element of the matrix "this", performs \( this[i] \leftarrow op(scalar, matrix[i])\) where \(op\) is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).
| scalar | The first operand of the binary operation. |
| matrix | The second operand of the binary operation. |
|
inline |
Binary elementwise operations between a matrix and a scalar. For each element of the matrix "this", performs \( this[i] \leftarrow op(matrix[i], scalar)\) where \(op\) is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).
| matrix | The first operand of the binary operation. |
| scalar | The second operand of the binary operation. |
|
inline |
Binary elementwise operations between two matrices. For each element of the matrices, performs \( this[i] \leftarrow op(matrix1[i], matrix2[i])\) where \(op\) is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).
| matrix1 | The first operand of the binary operation |
| matrix2 | The second operand of the binary operation |
|
inline |
|
inline |
Return a transposed reference to this matrix.
|
inline |
| vctDynamicMatrixBase< _matrixOwnerType, _elementType >::VCT_CONTAINER_TRAITS_TYPEDEFS | ( | _elementType | ) |
|
inline |
Assign zero to all elements. This methods assumes that the element type has a zero and this zero value can be set using memset(0). If the matrix is not compact this method will use SetAll(0) and memset otherwise. This provides a slightly more efficent way to set all elements to zero.