ERC CISST - cisst software

vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > Class Template Reference

#include <vctFixedSizeConstMatrixBase.h>

Inheritance diagram for vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
class vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >

A template for a fixed size matrix with fixed spacing in memory.

The matrix can be defined over an existing memory block, or define its own memory block. The class's methods follow the STL specifications for Random Access Container. It uses vctFixedSizeMatrixTraits to define the types required by the STL interface.

This class defines a read-only memory matrix. The read/write matrix is derived from this class (compare with vctFixedStrideMatrixConstIterator). Therefore, all the methods of this class are const. The non-const matrix and methods are defined in vctFixedSizeMatrixBase.

Matrix indexing is zero-based.

The method provided for the compatibility with the STL containers start with a lower case. Other methods start with a capitalilized letter (see CISST naming convention).

Parameters:
_elementType the type of element in the matrix.
_rows the number of rows that the matrix provides access to.
_cols the number of columns that the matrix provides access to.
_rowStride the spacing between the rows in the memory block.
_colStride the spacing between the columns in the memory block.
_dataPtrType the type of object that defines the matrix. This may be an element pointer of an acutal fixed-size C-style array type.
See also:
vctFixedStrideMatrixConstIterator vctFixedSizeMatrixTraits

Definition at line 106 of file vctFixedSizeConstMatrixBase.h.

Public Types

Public Member Functions

Elementwise comparisons between a matrix and a scalar.
Returns the result of the comparison.

Elementwise comparisons between a matrix and a scalar.
Returns the result of the comparison.

Unary elementwise operations.
Returns the result of matrix.op().

Static Public Member Functions

Public Attributes

Classes


Member Typedef Documentation

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeConstMatrixBase<_rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ThisType

Type of the matrix itself.

Reimplemented in vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, _rows, _cols, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFrame4x4< _elementType, _rowMajor >, vctMatrixRotation2< _elementType >, vctMatrixRotation3< _elementType, _rowMajor >, vctMatrixRotation3ConstRef< _elementType, _rowStride, _colStride >, vctMatrixRotation3Ref< _elementType, _rowStride, _colStride >, vctFixedSizeConstMatrixRef< _elementType, 3, 3, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, 3, 3, _rowMajor >, vctFixedSizeMatrix< double, 3, 3, _rowMajor >, vctFixedSizeMatrix< _elementType, 2, 2 >, vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor >, vctFixedSizeMatrix< double, 3, 3 >, vctFixedSizeMatrix< double, 4, 4, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride >, vctFrame4x4< double >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >, vctMatrixRotation3< double >, vctMatrixRotation3Base< vctFixedSizeConstMatrixRef< _elementType, 3, 3, _rowStride, _colStride > >, vctMatrixRotation3Base< vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride > >, vctMatrixRotation3Base< vctFixedSizeMatrix< _elementType, 3, 3, _rowMajor > >, vctMatrixRotation3Base< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >, vctMatrixRotation3ConstBase< vctFixedSizeConstMatrixRef< _elementType, 3, 3, _rowStride, _colStride > >, vctMatrixRotation3ConstBase< vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride > >, vctMatrixRotation3ConstBase< vctFixedSizeMatrix< _elementType, 3, 3, _rowMajor > >, and vctMatrixRotation3ConstBase< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >.

Definition at line 119 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeMatrixTraits<_elementType, _rows, _cols, _rowStride, _colStride> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::MatrixTraits

Traits used for all useful types related to a vctFixedSizeMatrix

Definition at line 123 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef MatrixTraits::iterator vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::iterator

Iterator on the elements of the matrix.

Reimplemented in vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, _rows, _cols, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeConstMatrixRef< _elementType, 3, 3, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, 3, 3, _rowMajor >, vctFixedSizeMatrix< double, 3, 3, _rowMajor >, vctFixedSizeMatrix< _elementType, 2, 2 >, vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor >, vctFixedSizeMatrix< double, 3, 3 >, vctFixedSizeMatrix< double, 4, 4, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, and vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride >.

Definition at line 126 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef MatrixTraits::const_iterator vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::const_iterator

Const iterator on the elements of the matrix.

Reimplemented in vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, _rows, _cols, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeConstMatrixRef< _elementType, 3, 3, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, 3, 3, _rowMajor >, vctFixedSizeMatrix< double, 3, 3, _rowMajor >, vctFixedSizeMatrix< _elementType, 2, 2 >, vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor >, vctFixedSizeMatrix< double, 3, 3 >, vctFixedSizeMatrix< double, 4, 4, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, and vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride >.

Definition at line 129 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef MatrixTraits::reverse_iterator vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::reverse_iterator

Reverse iterator on the elements of the matrix.

Reimplemented in vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, _rows, _cols, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeConstMatrixRef< _elementType, 3, 3, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, 3, 3, _rowMajor >, vctFixedSizeMatrix< double, 3, 3, _rowMajor >, vctFixedSizeMatrix< _elementType, 2, 2 >, vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor >, vctFixedSizeMatrix< double, 3, 3 >, vctFixedSizeMatrix< double, 4, 4, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, and vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride >.

Definition at line 132 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef MatrixTraits::const_reverse_iterator vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::const_reverse_iterator

Const reverse iterator on the elements of the matrix.

Reimplemented in vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, _rows, _cols, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride >, vctFixedSizeConstMatrixRef< _elementType, 3, 3, _rowStride, _colStride >, vctFixedSizeMatrix< _elementType, 3, 3, _rowMajor >, vctFixedSizeMatrix< double, 3, 3, _rowMajor >, vctFixedSizeMatrix< _elementType, 2, 2 >, vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor >, vctFixedSizeMatrix< double, 3, 3 >, vctFixedSizeMatrix< double, 4, 4, _rowMajor >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, and vctFixedSizeMatrixRef< _elementType, 3, 3, _rowStride, _colStride >.

Definition at line 135 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeConstVectorRef<_elementType, COLS, COLSTRIDE> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstRowRefType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 151 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeVectorRef<_elementType, COLS, COLSTRIDE> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::RowRefType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 155 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeConstVectorRef<_elementType, ROWS, ROWSTRIDE> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstColumnRefType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 159 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeVectorRef<_elementType, ROWS, ROWSTRIDE> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ColumnRefType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 163 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeConstVectorRef<_elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstDiagonalRefType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 167 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeVectorRef<_elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::DiagonalRefType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 171 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeVector<_elementType, COLS> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::RowValueType

The type of vector object required to store a copy of a row of this matrix

Definition at line 175 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeVector<_elementType, ROWS> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ColumnValueType

The type of vector object required to store a copy of a column of this matrix

Definition at line 178 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeConstMatrixRef<_elementType, _rows, _cols, _rowStride, _colStride> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstRefType

The type of const reference to this matrix.

Definition at line 181 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeMatrixRef<_elementType, _rows, _cols, _rowStride, _colStride> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::RefType

The type of reference to this matrix.

Definition at line 184 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeConstMatrixRef<_elementType, _cols, _rows, _colStride, _rowStride> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstRefTransposeType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 190 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeMatrixRef<_elementType, _cols, _rows, _colStride, _rowStride> vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::RefTransposeType

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

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFrame4x4Base< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, vctFrame4x4Base< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >, vctFrame4x4ConstBase< vctFixedSizeMatrix< double, 4, 4, _rowMajor > >, and vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >.

Definition at line 195 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
typedef vctFixedSizeMatrix<_elementType, COLS, ROWS, COLSTRIDE <= ROWSTRIDE> TransposeValueType; typedef vctFixedSizeMatrix<_elementType, ROWS, COLS, COLSTRIDE <= ROWSTRIDE> MatrixValueType; typedef vctFixedSizeMatrix<bool, ROWS, COLS, COLSTRIDE <= ROWSTRIDE> BoolMatrixValueType; typedef _dataPtrType DataType; protected: DataType Data; inline void ThrowUnlessValidIndex(size_type index) const throw(std::out_of_range) { if (! ValidIndex(index)) { cmnThrow(std::out_of_range("vctFixedSizeMatrix: Invalid index")); } } inline void ThrowUnlessValidIndex(size_type rowIndex, size_type colIndex) const throw(std::out_of_range) { if (! ValidIndex(rowIndex, colIndex)) { cmnThrow(std::out_of_range("vctFixedSizeMatrix: Invalid indices")); } } public: const_iterator begin() const { return const_iterator(Data, 0); } const_iterator end() const { return const_iterator(Data) + LENGTH; } const_reverse_iterator rbegin() const { return const_reverse_iterator(Pointer(ROWS - 1, COLS - 1), 0); } const_reverse_iterator rend() const { return const_reverse_iterator(Data - ROWSTRIDE + COLSTRIDE * (COLS - 1), 0); } size_type size() const { return LENGTH; } const nsize_type & sizes(void) const { static nsize_type staticSizes(ROWS, COLS); return staticSizes; } size_type rows() const { return ROWS; } size_type cols() const { return COLS; } size_type max_size() const { return LENGTH; } const nstride_type & strides(void) const { static nstride_type staticStrides(ROWSTRIDE, COLSTRIDE); return staticStrides; } difference_type row_stride() const { return ROWSTRIDE; } difference_type col_stride() const { return COLSTRIDE; } bool empty() const { return (LENGTH == 0); } ConstRowRefType operator[](size_type index) const { return ConstRowRefType(Data + ROWSTRIDE * index); } const_pointer Pointer(size_type rowIndex, size_type colIndex) const { return Data + ROWSTRIDE * rowIndex + COLSTRIDE * colIndex; } const_pointer Pointer(void) const { return Data; } inline bool ValidIndex(size_type index) const { return (index < size()); } inline bool ValidIndex(size_type rowIndex, size_type colIndex) const { return ((rowIndex < rows()) && (colIndex < cols())); } inline bool ValidRowIndex(size_type rowIndex) const { return (rowIndex < rows()); } inline bool ValidColIndex(size_type colIndex) const { return (colIndex < cols()); } const_reference at(size_type index) const throw(std::out_of_range) { ThrowUnlessValidIndex(index); return (begin())[index]; } const_reference at(size_type rowIndex, size_type colIndex) const throw(std::out_of_range) { ThrowUnlessValidIndex(rowIndex, colIndex); return *(Pointer(rowIndex, colIndex)); } const_reference operator()(size_type rowIndex, size_type colIndex) const throw(std::out_of_range) { return at(rowIndex, colIndex); } const_reference Element(size_type rowIndex, size_type colIndex) const { return *(Pointer(rowIndex, colIndex)); } ConstRowRefType Row(size_type index) const { return ConstRowRefType(Data + ROWSTRIDE * index); } ConstColumnRefType Column(size_type index) const { return ConstColumnRefType(Data + COLSTRIDE * index); } ConstDiagonalRefType Diagonal() const { return ConstDiagonalRefType(Data); } inline value_type SumOfElements() const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Addition, typename vctUnaryOperations<value_type>::Identity>:: Run(*this); } inline value_type ProductOfElements() const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Multiplication, typename vctUnaryOperations<value_type>::Identity>:: Run(*this); } inline value_type Trace(void) const { return this->Diagonal().SumOfElements(); } inline value_type NormSquare(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Addition, typename vctUnaryOperations<value_type>::Square>:: Run(*this); } inline NormType Norm(void) const { return sqrt(NormType(NormSquare())); } inline value_type L1Norm(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Addition, typename vctUnaryOperations<value_type>::AbsValue>:: Run(*this); } inline value_type LinfNorm(void) const { return this->MaxAbsElement(); } inline value_type MaxElement(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Maximum, typename vctUnaryOperations<value_type>::Identity>:: Run(*this); } inline value_type MinElement(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Minimum, typename vctUnaryOperations<value_type>::Identity>:: Run(*this); } inline value_type MaxAbsElement(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Maximum, typename vctUnaryOperations<value_type>::AbsValue>:: Run(*this); } inline value_type MinAbsElement(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<value_type>::Minimum, typename vctUnaryOperations<value_type>::AbsValue>:: Run(*this); } inline void MinAndMaxElement(value_type & minElement, value_type & maxElement) const { vctFixedSizeMatrixLoopEngines::MinAndMax::Run((*this), minElement, maxElement); } inline bool IsPositive(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<bool>::And, typename vctUnaryOperations<bool, value_type>::IsPositive>:: Run(*this); } inline bool IsNonNegative(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<bool>::And, typename vctUnaryOperations<bool, value_type>::IsNonNegative>:: Run(*this); } inline bool IsNonPositive(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi<typename vctBinaryOperations<bool>::And, typename vctUnaryOperations<bool, value_type>::IsNonPositive>:: Run(*this); } inline bool IsNegative (void) const { return vctFixedSizeMatrixLoopEngines:: SoMi< typename vctBinaryOperations<bool>::And, typename vctUnaryOperations<bool, value_type>::IsNegative>:: Run(*this); } inline bool All(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi< typename vctBinaryOperations<bool>::And, typename vctUnaryOperations<bool, value_type>::IsNonzero>:: Run(*this); } inline bool Any(void) const { return vctFixedSizeMatrixLoopEngines:: SoMi< typename vctBinaryOperations<bool>::Or, typename vctUnaryOperations<bool, value_type>::IsNonzero>:: Run(*this); } inline bool IsColMajor(void) const { return (row_stride() <= col_stride()); } inline bool IsRowMajor(void) const { return (col_stride() <= row_stride()); } inline bool IsCompact(void) const { return (((row_stride() == 1) && (col_stride() == static_cast<stride_type>rows()))) || ((col_stride() == 1) && (row_stride() == static_cast<stride_type>cols())))); } inline bool IsFortran(void) const { return (IsColMajor() && (row_stride() == 1) && (col_stride() == static_cast<stride_type>rows()))); } inline bool StorageOrder(void) const { return this->IsRowMajor(); } inline bool IsSquare(void) const { return (this->rows() == this->cols()); } inline bool IsSquare(size_type size) const { return ((this->rows() == size) && (this->cols() == size)); } template <size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool FastCopyCompatible(const vctFixedSizeConstMatrixBase<__rows, __cols, __rowStride, __colStride, value_type, __dataPtrType> & source) const { return vctFastCopy::MatrixCopyCompatible(*this, source); } template<class __matrixOwnerType> inline bool FastCopyCompatible(const vctDynamicConstMatrixBase<__matrixOwnerType, value_type> & source) const { return vctFastCopy::MatrixCopyCompatible(*this, source); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool Equal(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return vctFixedSizeMatrixLoopEngines:: SoMiMi<typename vctBinaryOperations<bool>::And, typename vctBinaryOperations<bool, value_type, value_type>::Equal>:: Run(*this, otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool operator == (const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return Equal(otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool AlmostEqual(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix, value_type tolerance) const { return ((*this - otherMatrix).LinfNorm() <= tolerance); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool AlmostEqual(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return ((*this - otherMatrix).LinfNorm() <= cmnTypeTraits<_elementType>::Tolerance()); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool NotEqual(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return vctFixedSizeMatrixLoopEngines:: SoMiMi<typename vctBinaryOperations<bool>::Or, typename vctBinaryOperations<bool, value_type, value_type>::NotEqual>:: Run(*this, otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool operator != (const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return NotEqual(otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool Lesser(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return vctFixedSizeMatrixLoopEngines:: SoMiMi<typename vctBinaryOperations<bool>::And, typename vctBinaryOperations<bool, value_type, value_type>::Lesser>:: Run(*this, otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool LesserOrEqual(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return vctFixedSizeMatrixLoopEngines:: SoMiMi<typename vctBinaryOperations<bool>::And, typename vctBinaryOperations<bool, value_type, value_type>::LesserOrEqual>:: Run(*this, otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool Greater(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return vctFixedSizeMatrixLoopEngines:: SoMiMi<typename vctBinaryOperations<bool>::And, typename vctBinaryOperations<bool, value_type, value_type>::Greater>:: Run(*this, otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline bool GreaterOrEqual(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return vctFixedSizeMatrixLoopEngines:: SoMiMi<typename vctBinaryOperations<bool>::And, typename vctBinaryOperations<bool, value_type, value_type>::GreaterOrEqual>:: Run(*this, otherMatrix); } template <stride_type __rowStride, stride_type __colStride, class __dataPtrType> inline BoolMatrixValueType ElementwiseEqual(const vctFixedSizeConstMatrixBase<_rows, _cols, __rowStride, __colStride, value_type, __dataPtrType> & otherMatrix) const { return vctFixedSizeMatrixElementwiseCompareMatrix< _rows, _cols, _rowStride, _colStride, _dataPtrType, __rowStride, __colStride, __dataPtrType, value_type, typename vctBinaryOperations<bool, value_type, value_type>::Equal>* vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::this

The type of object required to store a transposed copy of this matrix. The storage order is determined by comparing the strides.

Definition at line 795 of file vctFixedSizeConstMatrixBase.h.


Member Enumeration Documentation

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
anonymous enum

Define the dimensions of the matrix

Definition at line 138 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
anonymous enum

Define the strides between rows and columns of the matrix

Definition at line 141 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
anonymous enum

Define properties of the main diagonal of the matrix

Definition at line 145 of file vctFixedSizeConstMatrixBase.h.


Member Function Documentation

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Equal ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 878 of file vctFixedSizeConstMatrixBase.h.

Referenced by vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::operator==().

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::operator== ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 886 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::NotEqual ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 891 of file vctFixedSizeConstMatrixBase.h.

Referenced by vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::operator!=().

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::operator!= ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 899 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Lesser ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 904 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::LesserOrEqual ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 912 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Greater ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 920 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
bool vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::GreaterOrEqual ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for Equal(), NotEqual(), Lesser(), LesserOrEqual(), Greater() or GreaterOrEqual() is performed elementwise between the matrix and the scalar. A logical "and" is performed (except for NotEqual which uses a logical "or") to accumulate the elementwise results.. The only operators provided are "==" and "!=" since the semantic is not ambiguous.

Returns:
A boolean.

Definition at line 928 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
BoolMatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ElementwiseEqual ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for ElementwiseEqual(), ElementwiseNotEqual(), ElementwiseLesser(), ElementwiseLesserOrEqual(), ElementwiseGreater() or ElementwiseGreaterOrEqual() is performed elementwise between the matrix and the scalar and stored in a newly created matrix. There is no operator provided since the semantic would be ambiguous.

Returns:
A matrix of booleans.

Definition at line 952 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
BoolMatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ElementwiseNotEqual ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for ElementwiseEqual(), ElementwiseNotEqual(), ElementwiseLesser(), ElementwiseLesserOrEqual(), ElementwiseGreater() or ElementwiseGreaterOrEqual() is performed elementwise between the matrix and the scalar and stored in a newly created matrix. There is no operator provided since the semantic would be ambiguous.

Returns:
A matrix of booleans.

Definition at line 961 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
BoolMatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ElementwiseLesser ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for ElementwiseEqual(), ElementwiseNotEqual(), ElementwiseLesser(), ElementwiseLesserOrEqual(), ElementwiseGreater() or ElementwiseGreaterOrEqual() is performed elementwise between the matrix and the scalar and stored in a newly created matrix. There is no operator provided since the semantic would be ambiguous.

Returns:
A matrix of booleans.

Definition at line 970 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
BoolMatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ElementwiseLesserOrEqual ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for ElementwiseEqual(), ElementwiseNotEqual(), ElementwiseLesser(), ElementwiseLesserOrEqual(), ElementwiseGreater() or ElementwiseGreaterOrEqual() is performed elementwise between the matrix and the scalar and stored in a newly created matrix. There is no operator provided since the semantic would be ambiguous.

Returns:
A matrix of booleans.

Definition at line 979 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
BoolMatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ElementwiseGreater ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for ElementwiseEqual(), ElementwiseNotEqual(), ElementwiseLesser(), ElementwiseLesserOrEqual(), ElementwiseGreater() or ElementwiseGreaterOrEqual() is performed elementwise between the matrix and the scalar and stored in a newly created matrix. There is no operator provided since the semantic would be ambiguous.

Returns:
A matrix of booleans.

Definition at line 988 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
BoolMatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ElementwiseGreaterOrEqual ( const value_type &  scalar  )  const [inline]

Comparison between a matrix and a scalar, containing the same type of elements. The comparaison ($ = \neq < \leq > \geq $) for ElementwiseEqual(), ElementwiseNotEqual(), ElementwiseLesser(), ElementwiseLesserOrEqual(), ElementwiseGreater() or ElementwiseGreaterOrEqual() is performed elementwise between the matrix and the scalar and stored in a newly created matrix. There is no operator provided since the semantic would be ambiguous.

Returns:
A matrix of booleans.

Definition at line 997 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
MatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Abs ( void   )  const [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 (Abs) or the opposite (Negation).

Returns:
A new matrix.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
MatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Negation ( void   )  const [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 (Abs) or the opposite (Negation).

Returns:
A new matrix.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
MatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Floor ( void   )  const [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 (Abs) or the opposite (Negation).

Returns:
A new matrix.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
MatrixValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Ceil ( void   )  const [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 (Abs) or the opposite (Negation).

Returns:
A new matrix.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
vctFixedSizeConstMatrixRef< _elementType, _cols, _rows, _colStride, _rowStride > vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::TransposeRef ( void   )  const [inline]

Return a transposed reference to this matrix. The actual definition of this method follows the declaration of class vctFixedSizeConstMatrixRef.

Reimplemented in vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >, vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >, vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride >::pointer >, and vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >.

Definition at line 173 of file vctFixedSizeConstMatrixRef.h.

Referenced by nmrIsOrthonormal(), vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::SelectColsFrom(), vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::Transpose(), vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::TransposeOf(), and vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::TransposeRef().

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
TransposeValueType vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Transpose (  )  const [inline]

Return a transposed copy of this matrix.

Definition at line 1038 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
static const MatrixValueType& vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Eye ( void   )  [static]

Return the identity matrix for the size and type of elements of this matrix class. For example:

      vct4x4 m = vct4x4::Eye();
      vctInt3x3 m2 = vctInt3x3::Eye();
      typedef vctFixedSizeMatrix<float, 6, 6> MatrixType;
      MatrixType m3 = MatrixType::Eye();

Note:
Eye is the spelling of "I".

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
std::string vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ToString ( void   )  const [inline]

Return a string representation of the matrix elements

Definition at line 1078 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
void vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ToStream ( std::ostream &  outputStream  )  const [inline]

Print the matrix in a human readable format

Definition at line 1085 of file vctFixedSizeConstMatrixBase.h.

Referenced by operator<<(), and vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::ToString().

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
void vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ToStreamRaw ( std::ostream &  outputStream,
const char  delimiter = ' ',
bool  headerOnly = false,
const std::string &  headerPrefix = "" 
) const [inline]

Print data only with optional separator

Definition at line 1114 of file vctFixedSizeConstMatrixBase.h.

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType>
void vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::SerializeRaw ( std::ostream &  outputStream  )  const [inline]

Binary serialization

Definition at line 1153 of file vctFixedSizeConstMatrixBase.h.


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