cisst-saw
Loading...
Searching...
No Matches
vctFixedSizeMatrixRef.h File Reference

Declaration of vctFixedSizeMatrixRef. More...

Go to the source code of this file.

Macros

#define _vctFixedSizeMatrixRef_h

Typedefs

typedef vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride > MatrixTraits
typedef vctFixedSizeMatrixRef< value_type, _rows, _cols, _rowStride, _colStride > ThisType
typedef vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, value_type, typename MatrixTraits::pointer > BaseType

Functions

 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 An nArray object of dynamic size.
 vctFixedSizeMatrixRef ()
 vctFixedSizeMatrixRef (pointer p)
template<size_type __rows, size_type __cols, class __dataPtrType>
 vctFixedSizeMatrixRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix)
template<size_type __rows, size_type __cols, class __dataPtrType>
 vctFixedSizeMatrixRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, index_type startRow, index_type startCol)
template<class __matrixOwnerType>
 vctFixedSizeMatrixRef (vctDynamicMatrixBase< __matrixOwnerType, _elementType > &matrix, index_type startRow, index_type startCol)
void SetRef (pointer p)
void SetRef (const ThisType &other)
template<size_type __rows, size_type __cols, class __dataPtrType>
void SetRef (vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix, index_type startRow, index_type startCol)
template<class __dataPtrType>
void SetRef (vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, __dataPtrType > &matrix)
template<class __matrixOwnerType>
void SetRef (vctDynamicMatrixBase< __matrixOwnerType, _elementType > &matrix, index_type startRow, index_type startCol)
Assignment operation into a matrix reference
Parameters
otherThe matrix to be copied.
ThisTypeoperator= (const ThisType &other)
template<stride_type __rowStride, stride_type __colStride>
ThisTypeoperator= (const vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, __rowStride, __colStride > &other)
template<stride_type __rowStride, stride_type __colStride, class __elementType, class __dataPtrType>
ThisTypeoperator= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other)
template<class __matrixOwnerType>
ThisTypeoperator= (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &other)
ThisTypeoperator= (const value_type &value)
template<vct::size_type _resultSize, vct::stride_type _resultStride, class _resultElementType, class _resultDataPtrType, vct::size_type _matrixCols, vct::stride_type _matrixRowStride, vct::stride_type _matrixColStride, class _matrixDataPtrType, vct::stride_type _vectorStride, class _vectorDataPtrType>
void MultiplyMatrixVector (vctFixedSizeVectorBase< _resultSize, _resultStride, _resultElementType, _resultDataPtrType > &result, const vctFixedSizeConstMatrixBase< _resultSize, _matrixCols, _matrixRowStride, _matrixColStride, _resultElementType, _matrixDataPtrType > &matrix, const vctFixedSizeConstVectorBase< _matrixCols, _vectorStride, _resultElementType, _vectorDataPtrType > &vector)
template<vct::size_type _resultSize, vct::stride_type _resultStride, class _resultElementType, class _resultDataPtrType, vct::size_type _vectorSize, vct::stride_type _vectorStride, class _vectorDataPtrType, vct::stride_type _matrixRowStride, vct::stride_type _matrixColStride, class _matrixDataPtrType>
void MultiplyVectorMatrix (vctFixedSizeVectorBase< _resultSize, _resultStride, _resultElementType, _resultDataPtrType > &result, const vctFixedSizeConstVectorBase< _vectorSize, _vectorStride, _resultElementType, _vectorDataPtrType > &vector, const vctFixedSizeConstMatrixBase< _vectorSize, _resultSize, _matrixRowStride, _matrixColStride, _resultElementType, _matrixDataPtrType > &matrix)

Detailed Description

Declaration of vctFixedSizeMatrixRef.

Macro Definition Documentation

◆ _vctFixedSizeMatrixRef_h

#define _vctFixedSizeMatrixRef_h

Typedef Documentation

◆ BaseType

typedef vctFixedSizeMatrixBase<_rows, _cols, _rowStride, _colStride, value_type, typename MatrixTraits::pointer> BaseType

◆ MatrixTraits

typedef vctFixedSizeMatrixTraits<_elementType, _rows, _cols, _rowStride, _colStride> MatrixTraits

◆ ThisType

typedef vctFixedSizeMatrixRef<value_type, _rows, _cols, _rowStride, _colStride> ThisType

Function Documentation

◆ MultiplyMatrixVector()

template<vct::size_type _resultSize, vct::stride_type _resultStride, class _resultElementType, class _resultDataPtrType, vct::size_type _matrixCols, vct::stride_type _matrixRowStride, vct::stride_type _matrixColStride, class _matrixDataPtrType, vct::stride_type _vectorStride, class _vectorDataPtrType>
void MultiplyMatrixVector ( vctFixedSizeVectorBase< _resultSize, _resultStride, _resultElementType, _resultDataPtrType > & result,
const vctFixedSizeConstMatrixBase< _resultSize, _matrixCols, _matrixRowStride, _matrixColStride, _resultElementType, _matrixDataPtrType > & matrix,
const vctFixedSizeConstVectorBase< _matrixCols, _vectorStride, _resultElementType, _vectorDataPtrType > & vector )
inline

◆ MultiplyVectorMatrix()

template<vct::size_type _resultSize, vct::stride_type _resultStride, class _resultElementType, class _resultDataPtrType, vct::size_type _vectorSize, vct::stride_type _vectorStride, class _vectorDataPtrType, vct::stride_type _matrixRowStride, vct::stride_type _matrixColStride, class _matrixDataPtrType>
void MultiplyVectorMatrix ( vctFixedSizeVectorBase< _resultSize, _resultStride, _resultElementType, _resultDataPtrType > & result,
const vctFixedSizeConstVectorBase< _vectorSize, _vectorStride, _resultElementType, _vectorDataPtrType > & vector,
const vctFixedSizeConstMatrixBase< _vectorSize, _resultSize, _matrixRowStride, _matrixColStride, _resultElementType, _matrixDataPtrType > & matrix )
inline

◆ operator=() [1/5]

ThisType & operator= ( const ThisType & other)
inline

◆ operator=() [2/5]

ThisType & operator= ( const value_type & value)
inline

Assignement of a scalar to all elements. See also SetAll.

◆ operator=() [3/5]

template<class __matrixOwnerType>
ThisType & operator= ( const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > & other)
inline

◆ operator=() [4/5]

template<stride_type __rowStride, stride_type __colStride, class __elementType, class __dataPtrType>
ThisType & operator= ( const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > & other)
inline

◆ operator=() [5/5]

template<stride_type __rowStride, stride_type __colStride>
ThisType & operator= ( const vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, __rowStride, __colStride > & other)
inline

◆ SetRef() [1/5]

void SetRef ( const ThisType & other)

◆ SetRef() [2/5]

void SetRef ( pointer p)

Assign the matrix start with a (non-const) pointer

◆ SetRef() [3/5]

template<class __matrixOwnerType>
void SetRef ( vctDynamicMatrixBase< __matrixOwnerType, _elementType > & matrix,
index_type startRow,
index_type startCol )
inline

Convenience method to set a reference to a dynamic matrix object.

Parameters
matrixthe fixed size matrix to be referenced
startRowthe row index from which reference will start
startColthe column index from which reference will start The strides of this matrix must be identical to the strides of the other matrix (otherwise cmnThrow is used to throw std::runtime_error).
Note
This method verifies that the size of this matrix does not exceed the size of the input matrix (otherwise cmnThrow is used to throw std::out_of_range).

◆ SetRef() [4/5]

template<size_type __rows, size_type __cols, class __dataPtrType>
void SetRef ( vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > & matrix,
index_type startRow,
index_type startCol )
inline

Convenience method to set a reference to a fixed-size matrix object.

Parameters
matrixthe fixed size matrix to be referenced
startRowthe row index from which reference will start
startColthe column index from which reference will start The strides of this matrix must be identical to the strides of the other matrix (this is enforced by the template parameters).
Note
This method verifies that the size of this matrix does not exceed the size of the input matrix (otherwise cmnThrow is used to throw std::out_of_range).

◆ SetRef() [5/5]

template<class __dataPtrType>
void SetRef ( vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, __dataPtrType > & matrix)
inline

◆ vctFixedSizeMatrixRef() [1/5]

vctFixedSizeMatrixRef ( )

Default constructor: create an uninitialized matrix

◆ vctFixedSizeMatrixRef() [2/5]

vctFixedSizeMatrixRef ( pointer p)

Initialize the matrix with a (non-const) pointer

◆ vctFixedSizeMatrixRef() [3/5]

template<class __matrixOwnerType>
vctFixedSizeMatrixRef ( vctDynamicMatrixBase< __matrixOwnerType, _elementType > & matrix,
index_type startRow,
index_type startCol )
inline

Convenience constructor to initialize a fixed-size reference to a dynamic matrix. The constructor involves assertion that the sizes and strides match

◆ vctFixedSizeMatrixRef() [4/5]

template<size_type __rows, size_type __cols, class __dataPtrType>
vctFixedSizeMatrixRef ( vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > & matrix)
inlineexplicit

Convenience constructor to initialize a reference to a fixed-size matrix object. The constructor is declared as explicit, and care must be taken when a matrix object is passed as a function argument.

◆ vctFixedSizeMatrixRef() [5/5]

template<size_type __rows, size_type __cols, class __dataPtrType>
vctFixedSizeMatrixRef ( vctFixedSizeMatrixBase< __rows, __cols, _rowStride, _colStride, _elementType, __dataPtrType > & matrix,
index_type startRow,
index_type startCol )
inline

Convenience constructor to initialize a reference to a fixed-size matrix object.