|
cisst-saw
|
Files | |
| file | tmp/cisst-saw/cisst/cisstVector/vctContainerTraits.h |
| Basic traits for the cisstVector containers. | |
| file | tmp/cisst-saw/cisst/cisstVector/vctForwardDeclarations.h |
| Forward declarations and #define for cisstVector. | |
Classes | |
| class | vctAngleRotation2 |
| Define a rotation based on an angle for a space of dimension 2. More... | |
| class | vctAxisAngleRotation3< _elementType > |
| Define a rotation based on an axis and an angle for a space of dimension 3. More... | |
| class | vctBarycentricVector< _elementType, _size > |
| class | vctDynamicConstMatrixRef< _elementType > |
| Dynamic matrix referencing existing memory (const). More... | |
| class | vctDynamicConstNArrayRef< _elementType, _dimension > |
| Dynamic nArray referencing existing memory (const). More... | |
| class | vctDynamicConstVectorRef< _elementType > |
| Dynamic vector referencing existing memory (const). More... | |
| class | vctDynamicMatrixRef< _elementType > |
| Dynamic matrix referencing existing memory. More... | |
| class | vctDynamicNArrayRef< _elementType, _dimension > |
| Dynamic nArray referencing existing memory. More... | |
| class | vctReturnDynamicVector< _elementType > |
| class | vctDynamicVectorRef< _elementType > |
| Dynamic vector referencing existing memory. More... | |
| class | vctDynamicVectorRefOwner< _elementType > |
| class | vctFixedSizeMatrix< _elementType, _rows, _cols, _rowMajor > |
| Implementation of a fixed-size matrix using template metaprogramming. More... | |
| class | vctFixedSizeVector< _elementType, _size > |
| Implementation of a fixed-size vector using template metaprogramming. More... | |
| class | vctMatrixRotation2< _elementType > |
| Define a rotation matrix for a space of dimension 2. More... | |
| class | vctMatrixRotation3< _elementType, _rowMajor > |
| Define a rotation matrix for a space of dimension 3. More... | |
| class | vctMatrixRotation3ConstRef< _elementType, _rowStride, _colStride > |
| Define a rotation matrix for a space of dimension 3. More... | |
| class | vctMatrixRotation3Ref< _elementType, _rowStride, _colStride > |
| Define a rotation matrix for a space of dimension 3. More... | |
| class | vctQuaternion< _elementType > |
| Define a quaternion container. More... | |
| class | vctQuaternionRotation3< _elementType > |
| Define a rotation quaternion for a space of dimension 3. More... | |
| class | vctRodriguezRotation3< _elementType > |
| Define a rotation based on the rodriguez representation for a space of dimension 3. This representation is based on a vector. The direction of the vector determines the axis of rotation and its norm defines the amplitude of the rotation. More... | |
Functions | |
| vctDynamicMatrix () | |
| A matrix object of dynamic size. | |
| VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |
| An nArray object of dynamic size. | |
| vctDynamicVector () | |
| A vector object of dynamic size. | |
| vctFixedSizeConstVectorRef () | |
| An implementation of the ``abstract'' vctFixedSizeConstVectorBase. | |
| vctFixedSizeVectorRef () | |
| An implementation of the ``abstract'' vctFixedSizeVectorBase. | |
| template<class _matrixOwnerType, typename _elementType> | |
| void | vctRandom (vctDynamicMatrixBase< _matrixOwnerType, _elementType > &matrix, const typename vctDynamicMatrixBase< _matrixOwnerType, _elementType >::value_type min, const typename vctDynamicMatrixBase< _matrixOwnerType, _elementType >::value_type max) |
| template<class _nArrayOwnerType, typename _elementType, vct::size_type _dimension> | |
| void | vctRandom (vctDynamicNArrayBase< _nArrayOwnerType, _elementType, _dimension > &nArray, const typename vctDynamicNArrayBase< _nArrayOwnerType, _elementType, _dimension >::value_type min, const typename vctDynamicNArrayBase< _nArrayOwnerType, _elementType, _dimension >::value_type max) |
| template<class _vectorOwnerType, typename _elementType> | |
| void | vctRandom (vctDynamicVectorBase< _vectorOwnerType, _elementType > &vector, const typename vctDynamicVectorBase< _vectorOwnerType, _elementType >::value_type min, const typename vctDynamicVectorBase< _vectorOwnerType, _elementType >::value_type max) |
| template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType, class _dataPtrType> | |
| void | vctRandom (vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix, const _elementType min, const _elementType max) |
| template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType> | |
| void | vctRandom (vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType > &vector, const _elementType min, const _elementType max) |
| template<class _containerType> | |
| void | vctRandom (vctMatrixRotation3Base< _containerType > &matrixRotation) |
Vectors and matrices, including all the tools for simple 3D computations. The main features of cisstVector are:
| VCT_CONTAINER_TRAITS_TYPEDEFS | ( | _elementType | ) |
An nArray object of dynamic size.
An implementation of the ``abstract'' vctFixedSizeMatrixBase.
An implementation of the ``abstract'' vctFixedSizeConstMatrixBase.
This class defines a nArray object of dynamic size with memory allocation.
The algebraic operations are mostly inherited from the base classes vctDynamicNArrayBase and vctDynamicConstNArrayBase. Here, we will briefly describe the specific properties of vctDynamicNArray, with a few usage examples.
nsize_type, nindex_type and nstride_type are defined within the scope of the nArray classes and used in their interfaces to set the sizes, access elements or manipulate the layout. A few more notes.
| _elementType | the type of an element in the nArray. |
| _dimension | the dimension the multi-dimensional array. |
friend class vctReturnDynamicNArray<_elementType, _dimension>;
public: /* define most types from vctContainerTraits and vctNArrayTraits
This implementations uses a pointer to the matrix beginning as the matrix defining data member. An instantiation of this type can be used as a matrix reference with TransposeRef().
Note that the class provides only const operations, except for assigning the matrix start, which does not affect the matrix. This is despite the fact that the stored pointer is non-const.
See the base class (vctFixedSizeConstMatrixBase) for template parameter details. */ template <class _elementType, vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride> class vctFixedSizeConstMatrixRef : public vctFixedSizeConstMatrixBase <_rows, _cols,_rowStride, _colStride, _elementType, typename vctFixedSizeMatrixTraits<_elementType, _rows, _cols, _rowStride, _colStride>::pointer> { public: /* define most types from vctContainerTraits
This implementations uses a pointer to the matrix beginning as the matrix defining data member. An instantiation of this type can be used as a matrix reference with TransposeRef().
See the base class (vctFixedSizeMatrixBase) for template parameter details.
| vctDynamicMatrix | ( | ) |
A matrix object of dynamic size.
This class defines a matrix object of dynamic size with memory allocation.
The algebraic operations are mostly inherited from the base classes vctDynamicMatrixBase and vctDynamicConstMatrixBase. Here, we will briefly describe the specific properties of vctDynamicMatrix, with a few usage examples.
A few more notes.
| _elementType | the type of an element in the matrix |
friend class vctReturnDynamicMatrix<_elementType>;
public: VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType); enum {DIMENSION = 2}; VCT_NARRAY_TRAITS_TYPEDEFS(DIMENSION);
typedef vctDynamicMatrixBase<vctDynamicMatrixOwner<_elementType>, _elementType> BaseType; typedef vctDynamicMatrix<_elementType> ThisType;
/*! Default constructor. Initialize an empty matrix.
| vctDynamicVector | ( | ) |
A vector object of dynamic size.
This class defines a vector object of dynamic size with memory allocation. Note that unlike the STL vector class (std::vector), this class is not meant to be used as a dynamic container, but in vector algebra.
The algebraic operations are mostly inherited from the base classes vctDynamicVectorBase and vctDynamicConstVectorBase. Here, we will briefly describe the specific properties of vctDynamicVector, with a few usage examples.
A few more notes.
| _elementType | the type of an element in the vector |
friend class vctReturnDynamicVector<_elementType>;
public: VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType); typedef vctDynamicVector<_elementType> ThisType; typedef vctDynamicVectorBase<vctDynamicVectorOwner<_elementType>, _elementType> BaseType; typedef typename BaseType::CopyType CopyType; typedef typename BaseType::TypeTraits TypeTraits; typedef typename BaseType::ElementVaArgPromotion ElementVaArgPromotion;
/*! Default constructor. Initialize an empty vector.
| vctFixedSizeConstVectorRef | ( | ) |
An implementation of the ``abstract'' vctFixedSizeConstVectorBase.
This implementations uses a pointer to the vector beginning as the vector defining data member. An instantiation of this type can be used as a subsequence with GetConstSubsequence().
Note that the class provides only const operations, except for assigning the vector start, which does not affect the vector. This is despite the fact that the stored pointer is non-const.
See the base class (vctFixedSizeConstVectorBase) for template parameter details. */ template <class _elementType, vct::size_type _size, vct::stride_type _stride> class vctFixedSizeConstVectorRef : public vctFixedSizeConstVectorBase< _size, _stride, _elementType, typename vctFixedSizeVectorTraits<_elementType, _size, _stride>::pointer > { public: VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType); typedef vctFixedSizeVectorTraits<_elementType, _size, _stride> VectorTraits; typedef vctFixedSizeConstVectorRef<value_type, _size, _stride> ThisType; typedef vctFixedSizeConstVectorBase<_size, _stride, value_type, pointer> BaseType; typedef typename BaseType::CopyType CopyType;
/*! Default constructor: create an uninitialized vector
| vctFixedSizeVectorRef | ( | ) |
An implementation of the ``abstract'' vctFixedSizeVectorBase.
This implementations uses a pointer to the vector beginning as the vector defining data member. An instantiation of this type can be used as a subsequence with GetSubsequence().
See the base class (vctFixedSizeVectorBase) for template parameter details.
/*! Default constructor: create an uninitialized vector
| void vctRandom | ( | vctDynamicMatrixBase< _matrixOwnerType, _elementType > & | matrix, |
| const typename vctDynamicMatrixBase< _matrixOwnerType, _elementType >::value_type | min, | ||
| const typename vctDynamicMatrixBase< _matrixOwnerType, _elementType >::value_type | max ) |
Define the global function vctRandom to initialize a dynamic matrix with random elements. The function takes a range from which to choose random elements.
| void vctRandom | ( | vctDynamicNArrayBase< _nArrayOwnerType, _elementType, _dimension > & | nArray, |
| const typename vctDynamicNArrayBase< _nArrayOwnerType, _elementType, _dimension >::value_type | min, | ||
| const typename vctDynamicNArrayBase< _nArrayOwnerType, _elementType, _dimension >::value_type | max ) |
Define the global function vctRandom to initialize a dynamic nArray with random elements. The function takes a range from which to choose random elements.
| void vctRandom | ( | vctDynamicVectorBase< _vectorOwnerType, _elementType > & | vector, |
| const typename vctDynamicVectorBase< _vectorOwnerType, _elementType >::value_type | min, | ||
| const typename vctDynamicVectorBase< _vectorOwnerType, _elementType >::value_type | max ) |
Define the global function vctRandom to initialize a dynamic vector with random elements. The function takes a range from which to choose random elements.
| void vctRandom | ( | vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > & | matrix, |
| const _elementType | min, | ||
| const _elementType | max ) |
Define the global function vctRandom to initialize a fixed size matrix with random elements. The function takes a range from which to choose random elements.
| void vctRandom | ( | vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType > & | vector, |
| const _elementType | min, | ||
| const _elementType | max ) |
Define the global function vctRandom to initialize a fixed size vector with random elements. The function takes a range from which to choose random elements.
| void vctRandom | ( | vctMatrixRotation3Base< _containerType > & | matrixRotation | ) |
Define the global function vctRandom to initialize different types of transformation with a random value.