|
| VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) |
|
| VCT_NARRAY_TRAITS_TYPEDEFS (DIMENSION) |
|
| vctDynamicConstMatrixRef () |
|
| vctDynamicConstMatrixRef (const ThisType &other) |
|
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType > |
| vctDynamicConstMatrixRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix) |
|
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType > |
| vctDynamicConstMatrixRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols) |
|
template<class __ownerType > |
| vctDynamicConstMatrixRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix) |
|
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType > |
void | SetRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix) |
|
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, typename __dataPtrType > |
void | SetRef (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols) |
|
template<class __ownerType > |
void | SetRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix) |
|
|
| vctDynamicConstMatrixRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, pointer dataPointer) |
|
| vctDynamicConstMatrixRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, const_pointer dataPointer) |
|
| vctDynamicConstMatrixRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, pointer dataPointer) |
|
| vctDynamicConstMatrixRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, const_pointer dataPointer) |
|
| vctDynamicConstMatrixRef (const nsize_type &matrixSize, const nstride_type &matrixStride, pointer dataPointer) |
|
| vctDynamicConstMatrixRef (const nsize_type &matrixSize, const nstride_type &matrixStride, const_pointer dataPointer) |
|
|
| vctDynamicConstMatrixRef (size_type rows, size_type cols, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
| vctDynamicConstMatrixRef (size_type rows, size_type cols, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
| vctDynamicConstMatrixRef (const nsize_type &matrixSize, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
| vctDynamicConstMatrixRef (const nsize_type &matrixSize, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
|
template<class __ownerType > |
| vctDynamicConstMatrixRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols) |
|
template<class __ownerType > |
| vctDynamicConstMatrixRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, const nsize_type &start, const nsize_type &matrixSize) |
|
|
void | SetRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, pointer dataPointer) |
|
void | SetRef (size_type rows, size_type cols, stride_type rowStride, stride_type colStride, const_pointer dataPointer) |
|
void | SetRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, pointer dataPointer) |
|
void | SetRef (const nsize_type &matrixSize, stride_type rowStride, stride_type colStride, const_pointer dataPointer) |
|
void | SetRef (const nsize_type &matrixSize, const nstride_type &matrixStride, pointer dataPointer) |
|
void | SetRef (const nsize_type &matrixSize, const nstride_type &matrixStride, const_pointer dataPointer) |
|
|
void | SetRef (size_type rows, size_type cols, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
void | SetRef (size_type rows, size_type cols, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
void | SetRef (const nsize_type &sizes, pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
void | SetRef (const nsize_type &sizes, const_pointer dataPointer, bool storageOrder=VCT_DEFAULT_STORAGE) |
|
|
template<class __ownerType > |
void | SetRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, size_type startRow, size_type startCol, size_type rows, size_type cols) |
|
template<class __ownerType > |
void | SetRef (const vctDynamicConstMatrixBase< __ownerType, _elementType > &otherMatrix, const nsize_type &start, const nsize_type &matrixSize) |
|
| VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) |
|
| VCT_NARRAY_TRAITS_TYPEDEFS (DIMENSION) |
|
const_iterator | begin (void) const |
|
const_iterator | end (void) const |
|
const_reverse_iterator | rbegin (void) const |
|
const_reverse_iterator | rend (void) const |
|
size_type | size (void) const |
|
const nsize_type & | sizes (void) const |
|
size_type | rows () const |
|
size_type | cols () const |
|
size_type | height () const |
|
size_type | width () const |
|
const nstride_type & | strides (void) const |
|
difference_type | row_stride () const |
|
difference_type | col_stride () const |
|
bool | empty () const |
|
ConstRowRefType | operator[] (size_type index) const |
|
const_reference | at (size_type index) const throw (std::out_of_range) |
|
const_reference | at (size_type rowIndex, size_type colIndex) const throw (std::out_of_range) |
|
const OwnerType & | Owner (void) const |
|
const_pointer | Pointer (index_type rowIndex, index_type colIndex) const |
|
const_pointer | Pointer (void) const |
|
bool | ValidIndex (size_type index) const |
|
bool | ValidIndex (size_type rowIndex, size_type colIndex) const |
|
bool | ValidRowIndex (size_type rowIndex) const |
|
bool | ValidColIndex (size_type colIndex) const |
|
const_reference | operator() (size_type rowIndex, size_type colIndex) const throw (std::out_of_range) |
|
const_reference | Element (size_type rowIndex, size_type colIndex) const |
|
ConstRowRefType | Row (size_type index) const throw (std::out_of_range) |
|
ConstColumnRefType | Column (size_type index) const throw (std::out_of_range) |
|
ConstDiagonalRefType | Diagonal () const |
|
ConstVectorPointerType & | RowPointers (ConstVectorPointerType &rowPointers) const throw (std::runtime_error) |
|
vctDynamicConstMatrixRef
< _elementType > | Ref (const size_type rows, const size_type cols, const size_type startRow=0, const size_type startCol=0) const throw (std::out_of_range) |
|
ConstRefTransposeType | TransposeRef (void) const |
|
MatrixReturnType | Transpose () const |
|
std::string | ToString (void) |
|
void | ToStream (std::ostream &outputStream) const |
|
void | ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const |
|
void | SerializeRaw (std::ostream &outputStream) const |
|
value_type | SumOfElements (void) const |
|
value_type | ProductOfElements (void) const |
|
value_type | Trace (void) const |
|
value_type | NormSquare (void) const |
|
NormType | Norm (void) const |
|
value_type | L1Norm (void) const |
|
value_type | LinfNorm (void) const |
|
value_type | MaxElement (void) const |
|
value_type | MinElement (void) const |
|
value_type | MaxAbsElement (void) const |
|
value_type | MinAbsElement (void) const |
|
void | MinAndMaxElement (value_type &minElement, value_type &maxElement) const |
|
bool | IsPositive (void) const |
|
bool | IsNonNegative (void) const |
|
bool | IsNonPositive (void) const |
|
bool | IsNegative (void) const |
|
bool | All (void) const |
|
bool | Any (void) const |
|
bool | IsFinite (void) const |
|
bool | HasNaN (void) const |
|
bool | IsColMajor (void) const |
|
bool | IsRowMajor (void) const |
|
bool | IsCompact (void) const |
|
bool | IsFortran (void) const |
|
bool | StorageOrder (void) const |
|
bool | IsSquare (void) const |
|
bool | IsSquare (size_type size) const |
|
bool | FastCopyCompatible (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source) const |
|
bool | FastCopyCompatible (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source) const |
|
bool | Equal (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | operator== (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | AlmostEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix, value_type tolerance) const |
|
bool | AlmostEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | NotEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | operator!= (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | Lesser (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | LesserOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | Greater (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | GreaterOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
BoolMatrixReturnType | ElementwiseEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
BoolMatrixReturnType | ElementwiseNotEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
BoolMatrixReturnType | ElementwiseLesser (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
BoolMatrixReturnType | ElementwiseLesserOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
BoolMatrixReturnType | ElementwiseGreater (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
BoolMatrixReturnType | ElementwiseGreaterOrEqual (const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const |
|
bool | Equal (const value_type &scalar) const |
|
bool | operator== (const value_type &scalar) const |
|
bool | NotEqual (const value_type &scalar) const |
|
bool | operator!= (const value_type &scalar) const |
|
bool | Lesser (const value_type &scalar) const |
|
bool | LesserOrEqual (const value_type &scalar) const |
|
bool | Greater (const value_type &scalar) const |
|
bool | GreaterOrEqual (const value_type &scalar) const |
|
BoolMatrixReturnType | ElementwiseEqual (const value_type &scalar) const |
|
BoolMatrixReturnType | ElementwiseNotEqual (const value_type &scalar) const |
|
BoolMatrixReturnType | ElementwiseLesser (const value_type &scalar) const |
|
BoolMatrixReturnType | ElementwiseLesserOrEqual (const value_type &scalar) const |
|
BoolMatrixReturnType | ElementwiseGreater (const value_type &scalar) const |
|
BoolMatrixReturnType | ElementwiseGreaterOrEqual (const value_type &scalar) const |
|
MatrixReturnType | Abs (void) const |
|
MatrixReturnType | Negation (void) const |
|
MatrixReturnType | Floor (void) const |
|
MatrixReturnType | Ceil (void) const |
|
template<class _elementType>
class vctDynamicConstMatrixRef< _elementType >
Dynamic matrix referencing existing memory (const)
The class vctDynamicConstMatrixRef allows to create a matrix overlaying an existing block of memory. It can be used to manipulate a container created by another toolkit (i.e. OpenGL, vtk, ...) or a cisstVector container using different parameters (different size, storage order or stride).
To setup the overlay, one can use either the constructors or the SetRef methods. When used with a cisst container, the SetRef methods can infer some of the memory layout information (pointer on first element, sizes, strides). When used to overlay existing memory referenced by a pointer, the user has to provide all the required information. In any case, the Ref object doesn't allocate nor free memory.
Finally, as this overlay is const, it can be used to make sure the referenced content is not modified.
For example to manipulate the first five by five elements of a matrix, one can do:
first5x5.
SetRef(wholeMatrix, 0, 0, 5, 5);
std::cout << first5x5 <<
" " << first5x5.
SumOfElements() << std::endl;
- Note
- Make sure the underlying memory is not freed after the Ref object is created and before it is used. This would lead to faulty memory access and potential bugs.
-
vctDynamicConstMatrixRef only performs const operations even if it stores a non-const
value_type *
. It can be initialized with either value_type *
or const value_type *
. For a non-const Ref, see vctDynamicMatrixRef.
- See Also
- vctDynamicMatrix, vctDynamicMatrixRef
- Parameters
-
_elementType | Type of elements referenced. Also defined as value_type . |