ERC CISST - cisst software

vctDynamicMatrixBase< _matrixOwnerType, _elementType > Class Template Reference

#include <vctDynamicMatrixBase.h>

Inheritance diagram for vctDynamicMatrixBase< _matrixOwnerType, _elementType >:

Inheritance graph
[legend]
Collaboration diagram for vctDynamicMatrixBase< _matrixOwnerType, _elementType >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class _matrixOwnerType, typename _elementType>
class vctDynamicMatrixBase< _matrixOwnerType, _elementType >

This class provides all the const methods inherited from vctConstMatrixBase, and extends them with non-const methods, such as SumOf.

See also:
vctDynamicConstMatrixBase

Definition at line 45 of file vctDynamicMatrixBase.h.

Public Types

Public Member Functions

Row and column references.
Assignment operation between matrices containing the same data type but different owners
Parameters:
other The matrix to be copied.


Assignment operation between matrices of different types.
Parameters:
other The matrix to be copied.


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.

Note:
For a non-reallocating Assign, it is recommended to use the Assign() methods.

If the destination matrix doesn't have the same size as the source and can not be resized, an exception will be thrown by the Assign method called internally.

This method is provided for both fixed size and dynamic matrices for API consistency (usable in templated code). There is obviously not resize involved on fixed size matrices.

Parameters:
other The matrix to be copied.


Binary elementwise operations between two matrices.
Store the result of op(matrix1, matrix2) to a third matrix.

Binary elementwise operations between two matrices.
Store the result of op(this, otherMatrix) back to this matrix.

Binary elementwise operations a matrix and a scalar.
Store the result of op(matrix, scalar) to a third matrix.

Binary elementwise operations a scalar and a matrix.
Store the result of op(scalar, matrix) to a third matrix.

Binary elementwise operations between a matrix and a scalar.
Store the result of op(this, scalar) back to this matrix.

Unary elementwise operations.
Store the result of op(matrix) to another matrix.

Store back unary elementwise operations.
Store the result of op(this) to this matrix.

Public Attributes

Classes


Member Typedef Documentation

template<class _matrixOwnerType, typename _elementType>
typedef vctDynamicMatrixBase vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ThisType

Type of the matrix itself.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Reimplemented in mtsMatrix< _elementType >, vctDynamicMatrix< _elementType >, vctDynamicMatrixRef< _elementType >, vctDynamicMatrix< double >, vctDynamicMatrix< float >, vctDynamicMatrix< int >, vctDynamicMatrix< unsigned char >, vctDynamicMatrix< _ValueType >, vctDynamicMatrix< CISSTNETLIB_INTEGER >, vctDynamicMatrix< CISSTNETLIB_DOUBLE >, vctDynamicMatrix< svlTarget2D >, vctDynamicMatrixRef< _ValueType >, and vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >.

Definition at line 51 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef vctDynamicConstMatrixBase<_matrixOwnerType, _elementType> vctDynamicMatrixBase< _matrixOwnerType, _elementType >::BaseType

Type of the base class.

Reimplemented in vctDynamicMatrix< _elementType >, vctReturnDynamicMatrix< _elementType >, vctDynamicMatrixRef< _elementType >, vctDynamicMatrix< double >, vctDynamicMatrix< float >, vctDynamicMatrix< int >, vctDynamicMatrix< unsigned char >, vctDynamicMatrix< _ValueType >, vctDynamicMatrix< CISSTNETLIB_INTEGER >, vctDynamicMatrix< CISSTNETLIB_DOUBLE >, vctDynamicMatrix< svlTarget2D >, vctDynamicMatrixRef< _ValueType >, and vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >.

Definition at line 53 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef _matrixOwnerType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::OwnerType

Type of the data owner (dynamic array or pointer)

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 55 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::iterator

Iterator on the elements of the matrix.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Reimplemented in vctDynamicMatrixRef< _elementType >, vctDynamicMatrixRef< _ValueType >, and vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >.

Definition at line 57 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::reverse_iterator

Reverse iterator on the elements of the matrix.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Reimplemented in vctDynamicMatrixRef< _elementType >, vctDynamicMatrixRef< _ValueType >, and vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >.

Definition at line 58 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::const_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::const_iterator

Const iterator on the elements of the matrix.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Reimplemented in vctDynamicMatrixRef< _elementType >, vctDynamicMatrixRef< _ValueType >, and vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >.

Definition at line 59 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::const_reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::const_reverse_iterator

Const reverse iterator on the elements of the matrix.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Reimplemented in vctDynamicMatrixRef< _elementType >, vctDynamicMatrixRef< _ValueType >, and vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >.

Definition at line 60 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::ConstRowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstRowRefType

The type indicating a row of this matrix accessed by (const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 62 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::RowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RowRefType

The type indicating a row of this matrix accessed by (non-const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 63 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::ConstColumnRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstColumnRefType

The type indicating a column of this matrix accessed by (const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 65 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::ColumnRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ColumnRefType

The type indicating a column of this matrix accessed by (non-const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 66 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::ConstDiagonalRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstDiagonalRefType

The type indicating the main diagonal of this matrix accessed by (const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 68 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::DiagonalRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::DiagonalRefType

The type indicating the main diagonal of this matrix accessed by (non-const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 69 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::ConstRefTransposeType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstRefTransposeType

The type of object representing this matrix accessed in transposed order. Access is by (const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 71 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::RefTransposeType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RefTransposeType

The type of object representing this matrix accessed in transposed order. Access is by (non-const) reference

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 72 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::ConstVectorPointerType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ConstVectorPointerType

The type of vector used to store const pointers on the rows or columns

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 74 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
typedef BaseType::VectorPointerType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::VectorPointerType

The type of vector used to store pointers on the rows or columns

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 75 of file vctDynamicMatrixBase.h.


Member Function Documentation

template<class _matrixOwnerType, typename _elementType>
iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::begin ( void   )  [inline]

Returns an iterator on the first element (STL compatibility).

Definition at line 80 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Assign(), and vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::at().

template<class _matrixOwnerType, typename _elementType>
iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::end ( void   )  [inline]

Returns an iterator on the last element (STL compatibility).

Definition at line 86 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Assign().

template<class _matrixOwnerType, typename _elementType>
reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::rbegin ( void   )  [inline]

Returns a reverse iterator on the last element (STL compatibility).

Definition at line 92 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::rend ( void   )  [inline]

Returns a reverse iterator on the element before first (STL compatibility).

Definition at line 98 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::begin ( void   )  const [inline]

Returns a const iterator on the first element (STL compatibility).

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 103 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::end ( void   )  const [inline]

Returns a const iterator on the last element (STL compatibility).

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 108 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const_reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::rbegin ( void   )  const [inline]

Returns a reverse const iterator on the last element (STL compatibility).

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 113 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const_reverse_iterator vctDynamicMatrixBase< _matrixOwnerType, _elementType >::rend ( void   )  const [inline]

Returns a reverse const iterator on the element before first (STL compatibility).

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 118 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
RowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator[] ( size_type  index  )  [inline]

Reference a row of this matrix by index.

Returns:
a reference to the element[index]

Definition at line 124 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ConstRowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator[] ( size_type  index  )  const [inline]

Reference a row of this matrix by index (const).

Returns:
a const reference to the element[index]

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 129 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const OwnerType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Owner ( void   )  const [inline]

Access the matrix owner. This method should be used only to access some extra information related to the memory layout. It is used by the engines (vctDynamicMatrixLoopEngines).

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 135 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
pointer vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Pointer ( size_type  rowIndex,
size_type  colIndex 
) [inline]

Return a non const pointer to an element of the container, specified by its indices. Addition to the STL requirements.

Definition at line 146 of file vctDynamicMatrixBase.h.

Referenced by vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::ApplyInverseTo(), vctMatrixRotation3ConstBase< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >::ApplyInverseTo(), vctFrameBase< _rotationType >::ApplyInverseTo(), vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::ApplyTo(), vctMatrixRotation3ConstBase< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >::ApplyTo(), vctFrameBase< _rotationType >::ApplyTo(), nmrLSqLin(), vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride >::SetRef(), vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >::SetRef(), nmrSVDSolver::Solve(), nmrSVDRSSolver::Solve(), nmrNNLSSolver::Solve(), nmrLSSolver::Solve(), nmrLSEISolver::Solve(), and nmrHFTISolver::Solve().

template<class _matrixOwnerType, typename _elementType>
pointer vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Pointer ( void   )  [inline]

Returns a non const pointer to the first element of the container. Addition to the STL requirements.

Definition at line 153 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::at(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Column(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Diagonal(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Element(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::operator[](), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Row(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::TransposeRef(), and vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Zeros().

template<class _matrixOwnerType, typename _elementType>
const_pointer vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Pointer ( size_type  rowIndex,
size_type  colIndex 
) const [inline]

Returns a const pointer to an element of the container, specified by its indices. Addition to the STL requirements.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 158 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const_pointer vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Pointer ( void   )  const [inline]

Returns a const pointer to the first element of the container. Addition to the STL requirements.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 163 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::at ( size_type  index  )  throw (std::out_of_range) [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.

Returns:
a non-const reference to element[index]

Definition at line 174 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::operator()(), and nmrPInverseSolver::Solve().

template<class _matrixOwnerType, typename _elementType>
const_reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::at ( size_type  index  )  const throw (std::out_of_range) [inline]

Access an element by index (const). Compare with std::matrix::at(). This method can be a handy substitute for the overloaded operator [] when operator overloading is unavailable or inconvenient.

Returns:
a const reference to element[index]

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 181 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::at ( size_type  rowIndex,
size_type  colIndex 
) throw (std::out_of_range) [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.

Returns:
a reference to the element at rowIndex, colIndex

Definition at line 190 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const_reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::at ( size_type  rowIndex,
size_type  colIndex 
) const throw (std::out_of_range) [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.

Returns:
a const reference to the element at rowIndex, colIndex

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 196 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator() ( size_type  rowIndex,
size_type  colIndex 
) throw (std::out_of_range) [inline]

Overloaded operator () for simplified (non const) element access with bounds checking

Definition at line 202 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
const_reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator() ( size_type  rowIndex,
size_type  colIndex 
) const throw (std::out_of_range) [inline]

Overloaded operator () for simplified (const) element access with bounds checking

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 207 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Element ( size_type  rowIndex,
size_type  colIndex 
) [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.

Returns:
a reference to the element at rowIndex, colIndex

Definition at line 217 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixRef< CISSTNETLIB_DOUBLE >::SetRef(), nmrLUSolver::UpdateLU(), and vctRandom().

template<class _matrixOwnerType, typename _elementType>
const_reference vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Element ( size_type  rowIndex,
size_type  colIndex 
) const [inline]

Access an element by indices (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.

Returns:
a reference to the element at rowIndex, colIndex

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 222 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
RowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Row ( size_type  index  )  throw (std::out_of_range) [inline]

Create a row reference.

Definition at line 230 of file vctDynamicMatrixBase.h.

Referenced by vctFrameBase< _rotationType >::ApplyInverseTo(), vctFrameBase< _rotationType >::ApplyTo(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::ExchangeRows(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::RowInversePermutationOf(), and vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::RowPermutationOf().

template<class _matrixOwnerType, typename _elementType>
ColumnRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Column ( size_type  index  )  throw (std::out_of_range) [inline]

Create a column reference.

Definition at line 236 of file vctDynamicMatrixBase.h.

Referenced by vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::ApplyInverseTo(), vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::ApplyTo(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::ColumnInversePermutationOf(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::ColumnPermutationOf(), vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::ExchangeColumns(), and nmrLSqLinSolutionDynamic::SetRef().

template<class _matrixOwnerType, typename _elementType>
DiagonalRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Diagonal ( void   )  [inline]

Create a non-const reference to the main diagonal of this matrix

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 242 of file vctDynamicMatrixBase.h.

Referenced by nmrLUSolver::AllocateLU(), and nmrLUSolver::UpdateP().

template<class _matrixOwnerType, typename _elementType>
VectorPointerType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RowPointers ( VectorPointerType rowPointers  )  throw (std::runtime_error) [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:

      vctDynamicMatrix<double> myMatrix = ...;
      vctDynamicVector<double *> rowPointers;
      myMatrix.RowPointers(rowPointers);
      c_function(rowPointers.Pointer());

Note:
This method will throw an exception if the rows are not compact, i.e. if the column stride is not equal to 1.

Definition at line 264 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ConstRowRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Row ( size_type  index  )  const throw (std::out_of_range) [inline]

Create a row reference.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 280 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ConstColumnRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Column ( size_type  index  )  const throw (std::out_of_range) [inline]

Create a row reference.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 285 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ConstDiagonalRefType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Diagonal ( void   )  const [inline]

Create a row reference.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 290 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ConstVectorPointerType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RowPointers ( ConstVectorPointerType rowPointers  )  const throw (std::runtime_error) [inline]

Create a row reference.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 295 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ExchangeRows ( const size_type  row1Index,
const size_type  row2Index 
) [inline]

Exchange two rows of the matrix

Definition at line 303 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ExchangeColumns ( const size_type  col1Index,
const size_type  col2Index 
) [inline]

Exchange two colums of the matrix

Definition at line 310 of file vctDynamicMatrixBase.h.

Referenced by nmrLUSolver::UpdateP().

template<class _matrixOwnerType, typename _elementType>
template<class __inputMatrixOwnerType, class __indexVectorOwnerType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::SelectRowsFrom ( const vctDynamicConstMatrixBase< __inputMatrixOwnerType, _elementType > &  inputMatrix,
const vctDynamicConstVectorBase< __indexVectorOwnerType, index_type > &  rowIndexVector 
) [inline]

Select a subset of rows from another matrix

Definition at line 319 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::SelectColsFrom().

template<class _matrixOwnerType, typename _elementType>
template<class __inputMatrixOwnerType, class __indexVectorOwnerType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::SelectColsFrom ( const vctDynamicConstMatrixBase< __inputMatrixOwnerType, _elementType > &  inputMatrix,
const vctDynamicConstVectorBase< __indexVectorOwnerType, index_type > &  colIndexVector 
) [inline]

Select a subset of columns from another matrix

Definition at line 328 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RowPermutationOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  inputMatrix,
const index_type  permutedRowIndexes[] 
) [inline]

Assign a permutation of the rows of the input matrix to the rows of this matrix. Both matrices must have the same size.

Parameters:
inputMatrix the input matrix for the permutation.
permutedRowIndexes an array of row indices. The assignment performed is: this->Row(i) <-- inputMatrix.Row( permutedRowIndexes[i] ).
Note:
The current implementation does not validate that the input permuted indexes is an actual permutation of the numbers 0..(ROWS-1). Nor does it assure that the input permutation array has the right size. Both are the caller's responsibility.

Do not use this method for an in-place permutation of the input matrix.

Definition at line 349 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RowInversePermutationOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  inputMatrix,
const index_type  permutedRowIndexes[] 
) [inline]

Assign a permutation of the rows of the input matrix to the rows of this matrix. Both matrices must have the same size.

Parameters:
inputMatrix the input matrix for the permutation.
permutedRowIndexes an array of row indices. The assignment performed is: this->Row( permutedRowIndexes[i] ) <-- inputMatrix.Row(i).
Note:
The current implementation does not validate that the input permuted indexes is an actual permutation of the numbers 0..(ROWS-1). Nor does it assure that the input permutation array has the right size. Both are the caller's responsibility.

Do not use this method for an in-place permutation of the input matrix.

Definition at line 373 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ColumnPermutationOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  inputMatrix,
const index_type  permutedColumnIndexes[] 
) [inline]

Assign a permutation of the columns of the input matrix to the column of this matrix. Both matrices must have the same size.

Parameters:
inputMatrix the input matrix for the permutation.
permutedColumnIndexes an array of column indices. The assignment performed is: this->Column(i) <-- inputMatrix.Column( permutedColumnIndexes[i] ).
Note:
The current implementation does not validate that the input permuted indexes is an actual permutation of the numbers 0..(COLS-1). Nor does it assure that the input permutation array has the right size. Both are the caller's responsibility.

Do not use this method for an in-place permutation of the input matrix.

Definition at line 396 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ColumnInversePermutationOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  inputMatrix,
const index_type  permutedColumnIndexes[] 
) [inline]

Assign a permutation of the columns of the input matrix to the column of this matrix. Both matrices must have the same size.

Parameters:
inputMatrix the input matrix for the permutation.
permutedColumnIndexes an array of column indices. The assignment performed is: this->Column( permutedColumnIndexes[i] ) <-- inputMatrix.Column(i).
Note:
The current implementation does not validate that the input permuted indexes is an actual permutation of the numbers 0..(COLS-1). Nor does it assure that the input permutation array has the right size. Both are the caller's responsibility.

Do not use this method for an in-place permutation of the input matrix.

Definition at line 419 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
value_type vctDynamicMatrixBase< _matrixOwnerType, _elementType >::SetAll ( const value_type  value  )  [inline]

Assign the given value to all the elements.

Parameters:
value the value used to set all the elements of the matrix
Returns:
The value used to set all the elements

Definition at line 434 of file vctDynamicMatrixBase.h.

Referenced by nmrLUSolver::AllocateLU(), nmrPInverseSolver::Solve(), nmrLUSolver::UpdateP(), and vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Zeros().

template<class _matrixOwnerType, typename _elementType>
bool vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Zeros ( void   )  [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.

Returns:
true if the matrix is compact and memset was used, false otherwise.

Definition at line 450 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
bool vctDynamicMatrixBase< _matrixOwnerType, _elementType >::FastCopyOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &  source,
bool  performSafetyChecks = vctFastCopy::PerformChecks 
) throw (std::runtime_error) [inline]

Fast copy. This method uses memcpy whenever it is possible to perform a fast copy from another matrix to this matrix.

The basic and safe use of this method for a matrix would be:

        if (!destination.FastCopyOf(source)) {
            destination.Assign(source);
        }

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.

        bool canUseFastCopy = destination.FastCopyCompatible(source);
        vct::index_type index;
        for (index = 0; index < 1000; index++) {
            DoSomethingUseful(source);
            if (canUseFastCopy) {
                destination.FastCopyOf(source, vctFastCopy::SkipChecks); // Do not check again
            } else {
                destination.Assign(source);
            }
        }

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:

        typedef unsigned short PixelType;
        vctDynamicMatrix<PixelType> image(640, 480, VCT_ROW_MAJOR);
        vctDynamicMatrixRef<PixelType> upperLeftRef(image, 0, 0, 320, 240);
        vctDynamicMatrix<PixelType> working(320, 240, VCT_ROW_MAJOR);
        // use FastCopyCompatible to make sure the sizes and strides match
        // and then use FastCopyOf without the safety checks
        working.FastCopyOf(upperLeft, vctFastCopy::SkipChecks);

Parameters:
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.

Definition at line 660 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::Assign().

template<class _matrixOwnerType, typename _elementType>
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __dataPtrType>
bool vctDynamicMatrixBase< _matrixOwnerType, _elementType >::FastCopyOf ( const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &  source,
bool  performSafetyChecks = vctFastCopy::PerformChecks 
) throw (std::runtime_error) [inline]

Fast copy. This method uses memcpy whenever it is possible to perform a fast copy from another matrix to this matrix.

The basic and safe use of this method for a matrix would be:

        if (!destination.FastCopyOf(source)) {
            destination.Assign(source);
        }

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.

        bool canUseFastCopy = destination.FastCopyCompatible(source);
        vct::index_type index;
        for (index = 0; index < 1000; index++) {
            DoSomethingUseful(source);
            if (canUseFastCopy) {
                destination.FastCopyOf(source, vctFastCopy::SkipChecks); // Do not check again
            } else {
                destination.Assign(source);
            }
        }

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:

        typedef unsigned short PixelType;
        vctDynamicMatrix<PixelType> image(640, 480, VCT_ROW_MAJOR);
        vctDynamicMatrixRef<PixelType> upperLeftRef(image, 0, 0, 320, 240);
        vctDynamicMatrix<PixelType> working(320, 240, VCT_ROW_MAJOR);
        // use FastCopyCompatible to make sure the sizes and strides match
        // and then use FastCopyOf without the safety checks
        working.FastCopyOf(upperLeft, vctFastCopy::SkipChecks);

Parameters:
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.

Definition at line 668 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Assign ( const value_type *  elements,
bool  inputIsRowMajor = true 
) [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.

Parameters:
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.
Note:
For lack of better knowledge, this method assumes that the input array is _packed_, that is, that all the elements are stored in a contiguous memory block with no gaps. The only existing options now relate to the storage order of the input elements. If the input is not packed, you should create a MatrixRef explicitly, with stride specifications, or use other tricks.
Returns:
a reference to this object.

Definition at line 698 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Assign ( const value_type  element0,
  ... 
) [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:

      matrix.Assign( 0.0, 1.0,
                    -1.0, 0.0);

Returns:
a reference to this matrix.

Definition at line 728 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
RefTransposeType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::TransposeRef ( void   )  [inline]

Return a transposed reference to this matrix.

Definition at line 746 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::SelectColsFrom().

template<class _matrixOwnerType, typename _elementType>
ConstRefTransposeType vctDynamicMatrixBase< _matrixOwnerType, _elementType >::TransposeRef ( void   )  const [inline]

Return a transposed reference to this matrix. This allows access to elements of this matrix in transposed order.

Reimplemented from vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >.

Definition at line 752 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType1, class __matrixOwnerType2>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::SumOf ( const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &  matrix1,
const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &  matrix2 
) [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).

Parameters:
matrix1 The first operand of the binary operation
matrix2 The second operand of the binary operation
Returns:
The matrix "this" modified.

Definition at line 773 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType1, class __matrixOwnerType2>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::DifferenceOf ( const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &  matrix1,
const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &  matrix2 
) [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).

Parameters:
matrix1 The first operand of the binary operation
matrix2 The second operand of the binary operation
Returns:
The matrix "this" modified.

Definition at line 783 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType1, class __matrixOwnerType2>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseProductOf ( const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &  matrix1,
const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &  matrix2 
) [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).

Parameters:
matrix1 The first operand of the binary operation
matrix2 The second operand of the binary operation
Returns:
The matrix "this" modified.

Definition at line 793 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType1, class __matrixOwnerType2>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseRatioOf ( const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &  matrix1,
const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &  matrix2 
) [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).

Parameters:
matrix1 The first operand of the binary operation
matrix2 The second operand of the binary operation
Returns:
The matrix "this" modified.

Definition at line 803 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType1, class __matrixOwnerType2>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseMinOf ( const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &  matrix1,
const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &  matrix2 
) [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).

Parameters:
matrix1 The first operand of the binary operation
matrix2 The second operand of the binary operation
Returns:
The matrix "this" modified.

Definition at line 813 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType1, class __matrixOwnerType2>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseMaxOf ( const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &  matrix1,
const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &  matrix2 
) [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).

Parameters:
matrix1 The first operand of the binary operation
matrix2 The second operand of the binary operation
Returns:
The matrix "this" modified.

Definition at line 823 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Add ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 851 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::operator+=().

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Subtract ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 860 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::operator-=().

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseMultiply ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 869 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseDivide ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 878 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseMin ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 887 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ElementwiseMax ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 896 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator+= ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 905 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator-= ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The second operand of the binary operation (this[i] is the first operand)
Returns:
The matrix "this" modified.

Definition at line 911 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::SumOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix,
const value_type  scalar 
) [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).

Parameters:
matrix The first operand of the binary operation.
scalar The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 933 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::DifferenceOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix,
const value_type  scalar 
) [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).

Parameters:
matrix The first operand of the binary operation.
scalar The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 943 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ProductOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix,
const value_type  scalar 
) [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).

Parameters:
matrix The first operand of the binary operation.
scalar The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 953 of file vctDynamicMatrixBase.h.

Referenced by vctMatrixRotation3ConstBase< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >::ApplyInverseTo(), vctMatrixRotation3ConstBase< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >::ApplyTo(), and vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::OuterProductOf().

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RatioOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix,
const value_type  scalar 
) [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).

Parameters:
matrix The first operand of the binary operation.
scalar The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 963 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ClippedAboveOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix,
const value_type  lowerBound 
) [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).

Parameters:
matrix The first operand of the binary operation.
scalar The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 973 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ClippedBelowOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix,
const value_type  upperBound 
) [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).

Parameters:
matrix The first operand of the binary operation.
scalar The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 983 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::SumOf ( const value_type  scalar,
const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix 
) [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).

Parameters:
scalar The first operand of the binary operation.
matrix The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 1010 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::DifferenceOf ( const value_type  scalar,
const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix 
) [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).

Parameters:
scalar The first operand of the binary operation.
matrix The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 1020 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ProductOf ( const value_type  scalar,
const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix 
) [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).

Parameters:
scalar The first operand of the binary operation.
matrix The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 1030 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::RatioOf ( const value_type  scalar,
const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix 
) [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).

Parameters:
scalar The first operand of the binary operation.
matrix The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 1040 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ClippedAboveOf ( const value_type  upperBound,
const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix 
) [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).

Parameters:
scalar The first operand of the binary operation.
matrix The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 1050 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ClippedBelowOf ( const value_type  lowerBound,
const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  matrix 
) [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).

Parameters:
scalar The first operand of the binary operation.
matrix The second operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 1060 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Add ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1086 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Subtract ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1094 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Multiply ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1102 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::operator *=().

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Divide ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1110 of file vctDynamicMatrixBase.h.

Referenced by vctDynamicMatrixBase< vctDynamicMatrixOwner< float >, float >::operator/=().

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ClipAbove ( const value_type  upperBound  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1118 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ClipBelow ( const value_type  lowerBound  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1126 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator+= ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1134 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator-= ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1139 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator *= ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1144 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::operator/= ( const value_type  scalar  )  [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).

Parameters:
scalar The second operand of the binary operation (this[i] is the first operand.
Returns:
The matrix "this" modified.

Definition at line 1149 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::AbsOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The operand of the unary operation.
Returns:
The matrix "this" modified.

Definition at line 1182 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::NegationOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The operand of the unary operation.
Returns:
The matrix "this" modified.

Definition at line 1191 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::FloorOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The operand of the unary operation.
Returns:
The matrix "this" modified.

Definition at line 1200 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::CeilOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The operand of the unary operation.
Returns:
The matrix "this" modified.

Definition at line 1209 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::TransposeOf ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &  otherMatrix  )  [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).

Parameters:
otherMatrix The operand of the unary operation.
Returns:
The matrix "this" modified.

Definition at line 1217 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::AbsSelf ( void   )  [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).

Returns:
The matrix "this" modified.

Definition at line 1234 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::NegationSelf ( void   )  [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).

Returns:
The matrix "this" modified.

Definition at line 1242 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::FloorSelf ( void   )  [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).

Returns:
The matrix "this" modified.

Definition at line 1250 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
ThisType& vctDynamicMatrixBase< _matrixOwnerType, _elementType >::CeilSelf ( void   )  [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).

Returns:
The matrix "this" modified.

Definition at line 1258 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __matrixOwnerType1, class __matrixOwnerType2>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::ProductOf ( const vctDynamicConstMatrixBase< __matrixOwnerType1, _elementType > &  matrix1,
const vctDynamicConstMatrixBase< __matrixOwnerType2, _elementType > &  matrix2 
) [inline]

Product of two matrices. If the sizes of the matrices don't match, an exception is thrown.

Parameters:
matrix1 The left operand of the binary operation.
matrix2 The right operand of the binary operation.
Returns:
The matrix "this" modified.

Definition at line 1276 of file vctDynamicMatrixBase.h.

template<class _matrixOwnerType, typename _elementType>
template<class __vectorOwnerType1, class __vectorOwnerType2>
void vctDynamicMatrixBase< _matrixOwnerType, _elementType >::OuterProductOf ( const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &  colVector,
const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &  rowVector 
) [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]

Definition at line 1291 of file vctDynamicMatrixBase.h.


The documentation for this class was generated from the following file:
erc-cisst-devel<at>lists.johnshopkins.edu