ERC CISST - cisst software

vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType > Class Template Reference

#include <vctFixedSizeVectorBase.h>

Inheritance diagram for vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >:

Inheritance graph
[legend]
Collaboration diagram for vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
class vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >

A template for a fixed length vector with fixed spacing in memory.

This class defines a vector with read/write operations. It extends vctFixedSizeConstVectorBase with non-const methods. See the base class for more documentation.

See also:
vctFixedSizeConstVectorBase

Definition at line 79 of file vctFixedSizeVectorBase.h.

Public Types

Public Member Functions

Assignment operation between vectors of different types.
Parameters:
other The vector to be copied.


Forced assignment operation between vectors of
different types. On fixed size vectors this method is equivalent to Assign. See notes below!

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

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

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

Parameters:
other The vector to be copied.


Size dependant methods.
The following methods are size dependant, i.e. don't necessarily mean anything for all sizes of vector. For example, using the Z() method on a vector of size 2 shouldn't be allowed. It would have been possible to check these errors at compilation time, but this would require an overhead of code and therefore execution time which is not worth it. Therefore, we are using and CMN_ASSERT() to check that the template parameter _size is valid

Note:
Using CMN_ASSERT on a template parameter still allows the compiler to perform some optimization, which would be harder if CMN_ASSERT was testing a method paramater.


Binary elementwise operations between two vectors.
Store the result of op(vector1, vector2) to a third vector.

Binary elementwise operations between two vectors.
Store the result of op(this, otherVector) back to this vector.

Binary elementwise operations between two vectors.
Operate on both elements and store values in both.

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

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

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

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

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

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

Public Attributes

Classes


Member Typedef Documentation

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef vctFixedSizeVectorTraits<_elementType, _size, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::VectorTraits

Type traits for the vector. Based on type of elements, size, stride and data representation, it defines array, pointer, etc. (see vctFixedSizeVectorTraits).

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 88 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef vctFixedSizeVectorBase<_size, _stride, _elementType, _dataPtrType> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ThisType

Type of the vector itself.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Reimplemented in mtsFixedSizeVector< _elementType, _size >, vctBarycentricVector< _elementType, _size >, vctFixedSizeVector< _elementType, _size >, vctFixedSizeVectorRef< _elementType, _size, _stride >, vctQuaternion< _elementType >, vctQuaternionRotation3< _elementType >, vctRodriguezRotation3< _elementType >, vctFixedSizeVector< int, SVL_MAX_CHANNELS >, vctFixedSizeVector< svlPoint2D, SVL_MAX_CHANNELS >, vctFixedSizeVector< double, 4 >, vctFixedSizeVector< unsigned int, 256 >, vctFixedSizeVector< double, SVL_MAX_CHANNELS >, vctFixedSizeVector< double, 3 >, vctFixedSizeVector< svlRect, 2 >, vctFixedSizeVector< unsigned char, 255 >, vctFixedSizeVector< bool, 2 >, vctFixedSizeVector< _elementType, 4 >, vctFixedSizeVector< _elementType, 3 >, vctFixedSizeVector< double, 6 >, vctFixedSizeVector< int, 2 >, vctFixedSizeVector< svlImageProcessing::Internals, SVL_MAX_CHANNELS >, vctQuaternionBase< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionBase< vctFixedSizeVector< double, 4 > >, vctQuaternionRotation3< double >, vctQuaternionRotation3Base< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >, and vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >.

Definition at line 90 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef vctFixedSizeConstVectorBase<_size, _stride, _elementType, _dataPtrType> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::BaseType

Type of the base class.

Reimplemented in vctBarycentricVector< _elementType, _size >, vctFixedSizeVector< _elementType, _size >, vctFixedSizeVectorRef< _elementType, _size, _stride >, vctQuaternion< _elementType >, vctQuaternionRotation3< _elementType >, vctRodriguezRotation3< _elementType >, vctFixedSizeVector< int, SVL_MAX_CHANNELS >, vctFixedSizeVector< svlPoint2D, SVL_MAX_CHANNELS >, vctFixedSizeVector< double, 4 >, vctFixedSizeVector< unsigned int, 256 >, vctFixedSizeVector< double, SVL_MAX_CHANNELS >, vctFixedSizeVector< double, 3 >, vctFixedSizeVector< svlRect, 2 >, vctFixedSizeVector< unsigned char, 255 >, vctFixedSizeVector< bool, 2 >, vctFixedSizeVector< _elementType, 4 >, vctFixedSizeVector< _elementType, 3 >, vctFixedSizeVector< double, 6 >, vctFixedSizeVector< int, 2 >, vctFixedSizeVector< svlImageProcessing::Internals, SVL_MAX_CHANNELS >, vctQuaternionBase< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionBase< vctFixedSizeVector< double, 4 > >, vctQuaternionRotation3< double >, vctQuaternionRotation3Base< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >, and vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >.

Definition at line 92 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef BaseType::CopyType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::CopyType

The type used to create a copy.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Reimplemented in vctFixedSizeVector< _elementType, _size >, vctFixedSizeVectorRef< _elementType, _size, _stride >, vctFixedSizeVector< int, SVL_MAX_CHANNELS >, vctFixedSizeVector< svlPoint2D, SVL_MAX_CHANNELS >, vctFixedSizeVector< double, 4 >, vctFixedSizeVector< unsigned int, 256 >, vctFixedSizeVector< double, SVL_MAX_CHANNELS >, vctFixedSizeVector< double, 3 >, vctFixedSizeVector< svlRect, 2 >, vctFixedSizeVector< unsigned char, 255 >, vctFixedSizeVector< bool, 2 >, vctFixedSizeVector< _elementType, 4 >, vctFixedSizeVector< _elementType, 3 >, vctFixedSizeVector< double, 6 >, vctFixedSizeVector< int, 2 >, and vctFixedSizeVector< svlImageProcessing::Internals, SVL_MAX_CHANNELS >.

Definition at line 93 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef VectorTraits::iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::iterator

Iterator on the elements of the vector.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 98 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef VectorTraits::const_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::const_iterator

Const iterator on the elements of the vector.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 99 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef VectorTraits::reverse_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::reverse_iterator

Reverse iterator on the elements of the vector.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 100 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef VectorTraits::const_reverse_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::const_reverse_iterator

Const reverse iterator on the elements of the vector.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 101 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef BaseType::RowConstMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::RowConstMatrixRefType

type of overlay row matrix over this sequence

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 105 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef BaseType::RowMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::RowMatrixRefType

type of overlay row matrix over this sequence

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 106 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef BaseType::ColConstMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ColConstMatrixRefType

type of overlay column matrix over this sequence

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 110 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
typedef BaseType::ColMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ColMatrixRefType

type of overlay column matrix over this sequence

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 111 of file vctFixedSizeVectorBase.h.


Member Function Documentation

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::begin ( void   )  [inline]

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

Definition at line 120 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::begin ( void   )  const [inline]

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

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 126 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::end ( void   )  [inline]

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

Definition at line 133 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::end ( void   )  const [inline]

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

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 139 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
reverse_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::rbegin ( void   )  [inline]

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

Definition at line 146 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_reverse_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::rbegin ( void   )  const [inline]

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

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 152 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
reverse_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::rend ( void   )  [inline]

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

Definition at line 159 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_reverse_iterator vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::rend ( void   )  const [inline]

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

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 165 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator[] ( size_type  index  )  [inline]

Access an element by index.

Returns:
a reference to the element[index]

Definition at line 172 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator[] ( size_type  index  )  const [inline]

Access an element by index (const).

Returns:
a const reference to the element[index]

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 178 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::at ( size_type  index  )  throw (std::out_of_range) [inline]

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

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

Definition at line 188 of file vctFixedSizeVectorBase.h.

Referenced by vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::operator()().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::at ( size_type  index  )  const throw (std::out_of_range) [inline]

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

Returns:
a const reference to element[index]

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 194 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator() ( size_type  index  )  throw (std::out_of_range) [inline]

Access an element by index (non-const). See method at().

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

Definition at line 201 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator() ( size_type  index  )  const throw (std::out_of_range) [inline]

Access an element by index (const). See method at().

Returns:
a const reference to element[index]

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 206 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Element ( size_type  index  )  [inline]

Access an element by index (non const). This method allows to access an element without any bounds checking.

Returns:
a reference to the element at index

Definition at line 216 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_reference vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Element ( size_type  index  )  const [inline]

Access an element by index (const). This method allows to access an element without any bounds checking.

Returns:
a reference to the element at index

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 221 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
pointer vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Pointer ( size_type  index = 0  )  [inline]

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

Definition at line 229 of file vctFixedSizeVectorBase.h.

Referenced by vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::ApplyInverseTo(), vctMatrixRotation3ConstBase< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >::ApplyInverseTo(), vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >::ApplyInverseTo(), vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::ApplyTo(), vctMatrixRotation3ConstBase< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >::ApplyTo(), vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >::ApplyTo(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::AsColMatrix(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::AsRowMatrix(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::at(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::Element(), nmrLSqLin(), nmrPInverse(), nmrSVD(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::operator[](), vctFixedSizeVectorRef< _elementType, _size, _stride >::SetRef(), vctDynamicVectorRef< CISSTNETLIB_DOUBLE >::SetRef(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::W(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::X(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::XW(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::XY(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::XYZ(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::XYZW(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::XZ(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::Y(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::YW(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::YZ(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::YZW(), vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::Z(), and vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::ZW().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const_pointer vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Pointer ( size_type  index = 0  )  const [inline]

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

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 235 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
value_type vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::SetAll ( const value_type &  value  )  [inline]

Assign the given value to all the elements.

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

Definition at line 244 of file vctFixedSizeVectorBase.h.

Referenced by vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::Zeros().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
bool vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Zeros ( void   )  [inline]

Assign zero to all elements. This methods assumes that the element type has a zero and this zero value can be set using memset(0). If the vector is not compact this method will use SetAll(0) and memset otherwise. This provides a slightly more efficent way to set all elements to zero.

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

Definition at line 259 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Assign ( const value_type  element0  )  throw (std::runtime_error) [inline]

The following Assign() methods provide a convenient interface for assigning a list of values to a vector without a need for type conversion. They precede the use of var-arg, which in turn is incapable of enforcing argument type on the arguments following the ellipsis. This simpler interface is defined for a selected collection of vector sizes, namely 1 to 4. For larger sizes, the va_arg interface takes over.

Each of these implementations checks match between the number of arguments and the size of the target vector object. It throws a std::runtime_error if there is a size mismatch.

Definition at line 302 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Assign ( const value_type  element0,
const value_type  element1 
) throw (std::runtime_error) [inline]

The following Assign() methods provide a convenient interface for assigning a list of values to a vector without a need for type conversion. They precede the use of var-arg, which in turn is incapable of enforcing argument type on the arguments following the ellipsis. This simpler interface is defined for a selected collection of vector sizes, namely 1 to 4. For larger sizes, the va_arg interface takes over.

Each of these implementations checks match between the number of arguments and the size of the target vector object. It throws a std::runtime_error if there is a size mismatch.

Definition at line 311 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Assign ( const value_type  element0,
const value_type  element1,
const value_type  element2 
) throw (std::runtime_error) [inline]

The following Assign() methods provide a convenient interface for assigning a list of values to a vector without a need for type conversion. They precede the use of var-arg, which in turn is incapable of enforcing argument type on the arguments following the ellipsis. This simpler interface is defined for a selected collection of vector sizes, namely 1 to 4. For larger sizes, the va_arg interface takes over.

Each of these implementations checks match between the number of arguments and the size of the target vector object. It throws a std::runtime_error if there is a size mismatch.

Definition at line 321 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Assign ( const value_type  element0,
const value_type  element1,
const value_type  element2,
const value_type  element3 
) throw (std::runtime_error) [inline]

The following Assign() methods provide a convenient interface for assigning a list of values to a vector without a need for type conversion. They precede the use of var-arg, which in turn is incapable of enforcing argument type on the arguments following the ellipsis. This simpler interface is defined for a selected collection of vector sizes, namely 1 to 4. For larger sizes, the va_arg interface takes over.

Each of these implementations checks match between the number of arguments and the size of the target vector object. It throws a std::runtime_error if there is a size mismatch.

Definition at line 333 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Assign ( const value_type  element0,
const value_type  element1,
const value_type  element2,
const value_type  element3,
const value_type  element4,
  ... 
) [inline]

Assign to this vector a set of values provided as independent arguments, by using cstdarg macros, that is, an unspecified number of arguments, greater than 4. This function is not using a recursive engine, as it may be hard and not worthwhile to use a recursive engine with the va_arg ``iterator''. This operation assumes that all the arguments are of type value_type, and that their number is equal to the size of the vector. The arguments are passed by value. The user may need to explicitly cast the parameters to value_type to avoid runtime bugs and errors.

Returns:
a reference to this vector.

Definition at line 360 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Assign ( const value_type *  elements  )  [inline]

Assign to this vector values from a C array given as a pointer to value_type. The purpose of this method is to simplify the syntax by not necessitating the creation of an explicit vector for the given array. However, we only provide this method for an array of value_type. For arrays of other types a vector still needs to be declared.

This method assumes that the input array has the necessary number of elements.

Returns:
a reference to this object.

Definition at line 391 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<class __vectorOwnerType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Assign ( const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &  other  )  [inline]

Assign to this vector values from a dynamic vector. This method doesn't allow type conversion.

Note:
This methods creates a dynamic reference (see vctDynamicVectorRef) over the fixed size vector and then use the Assign between two dynamic vectors. As a consequence, the copy uses a loop and not the recursive engines.
Returns:
a reference to this object.

Definition at line 411 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<class __vectorOwnerType>
bool vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::FastCopyOf ( const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &  source,
bool  performSafetyChecks = true 
) throw (std::runtime_error) [inline]

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

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

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

If the method is to be called many times (in a loop for example), it is recommended to check that the source and destination are compatible once and then use the option to turn off the different safety checks for each FastCopyOf.

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

Parameters:
source Vector used to set the content of this vector.
performSafetyChecks Flag set to false to avoid safety checks, use with extreme caution.

Definition at line 507 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<class __dataPtrType>
bool vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::FastCopyOf ( const vctFixedSizeConstVectorBase< SIZE, STRIDE, value_type, __dataPtrType > &  source,
bool  performSafetyChecks = true 
) throw (std::runtime_error) [inline]

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

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

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

If the method is to be called many times (in a loop for example), it is recommended to check that the source and destination are compatible once and then use the option to turn off the different safety checks for each FastCopyOf.

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

Parameters:
source Vector used to set the content of this vector.
performSafetyChecks Flag set to false to avoid safety checks, use with extreme caution.

Definition at line 515 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __elementTypeVector, class __dataPtrType, class __elementType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ConcatenationOf ( const vctFixedSizeConstVectorBase< SIZEMINUSONE, __stride, __elementTypeVector, __dataPtrType > &  other,
__elementType  last 
) [inline]

Concatenate a single element at the end of a shorter-by-1 vector to obtain a vector of my size. The concatenation result is stored in this vector. The function is useful, e.g., when embedding vectors from R^n into R^{n+1} or into homogeneous space.

Definition at line 530 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::X ( void   )  [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Definition at line 562 of file vctFixedSizeVectorBase.h.

Referenced by vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >::ApplyTo(), vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::GetAxisAngle(), and vctQuaternionVectorProductByElements().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::X ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 568 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Y ( void   )  [inline]

Returns the second element of the vector. This method uses CMN_ASSERT to check that the size is at least 2.

Definition at line 575 of file vctFixedSizeVectorBase.h.

Referenced by vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >::ApplyTo(), vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::GetAxisAngle(), and vctQuaternionVectorProductByElements().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Y ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 581 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Z ( void   )  [inline]

Returns the third element of the vector. This method uses CMN_ASSERT to check that the size is at least 3.

Definition at line 588 of file vctFixedSizeVectorBase.h.

Referenced by vctFrame4x4ConstBase< vctFixedSizeMatrix< _elementType, 4, 4, _rowMajor > >::ApplyTo(), vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::GetAxisAngle(), and vctQuaternionVectorProductByElements().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Z ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 594 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::W ( void   )  [inline]

Returns the fourth element of the vector. This method uses CMN_ASSERT to check that the size is at least 4.

Definition at line 600 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
const value_type& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::W ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 606 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 2, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XY ( void   )  [inline]

Return a (non-const) vector reference for the first two elements of this vector. May be used when switching from homogeneous coordinates to normal

Definition at line 613 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 2, 2 * _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XZ ( void   )  [inline]

Return a (non-const) vector reference for the first and third elements of this vector.

Definition at line 620 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 2, 3 * _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XW ( void   )  [inline]

Return a (non-const) vector reference for the first and fourth elements of this vector.

Definition at line 627 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 2, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::YZ ( void   )  [inline]

Return a (non-const) vector reference for the two elements of this vector beginning on the second.

Definition at line 634 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 2, 2 * _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::YW ( void   )  [inline]

Return a (non-const) vector reference for the second and fourth elements of this vector.

Definition at line 641 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 2, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ZW ( void   )  [inline]

Return a (non-const) vector reference for the two elements of this vector beginning on the third.

Definition at line 648 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 2, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XY ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 654 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 2, 2 * _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XZ ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 659 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 2, 3 * _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XW ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 664 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 2, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::YZ ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 669 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 2, 2 * _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::YW ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 674 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 2, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ZW ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 679 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 3, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XYZ ( void   )  [inline]

Return a (non-const) vector reference for the first three elements of this vector. May be used when switching from homogeneous coordinates to normal, or when refering to a subvector of a row or a column inside a small matrix.

Definition at line 687 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 3, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::YZW ( void   )  [inline]

Return a (non-const) vector reference for the second, third and fourth elements of this vector.

Definition at line 695 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 3, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XYZ ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 701 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 3, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::YZW ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 706 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeVectorRef<_elementType, 4, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XYZW ( void   )  [inline]

Return a (non-const) vector reference for the first four elements of this vector. May be used when switching from homogeneous coordinates to normal, or when refering to a subvector of a row or a column inside a small matrix.

Definition at line 714 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
vctFixedSizeConstVectorRef<_elementType, 4, _stride> vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::XYZW ( void   )  const [inline]

Returns the first element of the vector. This method uses CMN_ASSERT to check that the size is at least 1.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 720 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
RowConstMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::AsRowMatrix ( void   )  const [inline]

Create an overlay matrix (MatrixRef) on top of this vector and return it.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 729 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
RowMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::AsRowMatrix ( void   )  [inline]

Create an overlay matrix (MatrixRef) on top of this vector and return it.

Definition at line 734 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ColConstMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::AsColMatrix ( void   )  const [inline]

Create an overlay matrix (MatrixRef) on top of this vector and return it.

Reimplemented from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >.

Definition at line 739 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ColMatrixRefType vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::AsColMatrix ( void   )  [inline]

Create an overlay matrix (MatrixRef) on top of this vector and return it.

Definition at line 744 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<size_type __inputSize, stride_type __inputStride, class __inputDataPtrType, stride_type __indexStride, class __indexDataPtrType>
void vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::SelectFrom ( const vctFixedSizeConstVectorBase< __inputSize, __inputStride, _elementType, __inputDataPtrType > &  input,
const vctFixedSizeConstVectorBase< _size, __indexStride, index_type, __indexDataPtrType > &  index 
) [inline]

Select a subset of elements by a given sequence of indexes. The selected elements from the input vector are stored in this vector. There is no requirement of order or uniqueness in the indexes sequence, and no verification that the indexes are valid.

Definition at line 757 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride1, class __dataPtr1Type, stride_type __stride2, class __dataPtr2Type>
void vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::CrossProductOf ( const vctFixedSizeConstVectorBase< 3, __stride1, _elementType, __dataPtr1Type > &  inputVector1,
const vctFixedSizeConstVectorBase< 3, __stride2, _elementType, __dataPtr2Type > &  inputVector2 
) [inline]

Cross Product of two vectors. This method uses CMN_ASSERT to check that the size of the vector is 3, and can only be performed on arguments vectors of size 3.

Definition at line 769 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::SumOf ( const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &  vector1,
const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &  vector2 
) [inline]

Binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(vector1[i], vector2[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).

Parameters:
vector1 The first operand of the binary operation
vector2 The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 796 of file vctFixedSizeVectorBase.h.

Referenced by vctFrameBase< _rotationType >::ApplyTo().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::DifferenceOf ( const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &  vector1,
const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &  vector2 
) [inline]

Binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(vector1[i], vector2[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).

Parameters:
vector1 The first operand of the binary operation
vector2 The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 807 of file vctFixedSizeVectorBase.h.

Referenced by vctFrameBase< _rotationType >::ApplyInverseTo().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseProductOf ( const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &  vector1,
const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &  vector2 
) [inline]

Binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(vector1[i], vector2[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).

Parameters:
vector1 The first operand of the binary operation
vector2 The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 817 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseRatioOf ( const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &  vector1,
const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &  vector2 
) [inline]

Binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(vector1[i], vector2[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).

Parameters:
vector1 The first operand of the binary operation
vector2 The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 827 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseMinOf ( const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &  vector1,
const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &  vector2 
) [inline]

Binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(vector1[i], vector2[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).

Parameters:
vector1 The first operand of the binary operation
vector2 The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 837 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseMaxOf ( const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &  vector1,
const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &  vector2 
) [inline]

Binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(vector1[i], vector2[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).

Parameters:
vector1 The first operand of the binary operation
vector2 The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 847 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Add ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 873 of file vctFixedSizeVectorBase.h.

Referenced by vctFrameBase< _rotationType >::ApplyTo(), and vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::operator+=().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Subtract ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 882 of file vctFixedSizeVectorBase.h.

Referenced by vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::operator-=().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseMultiply ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 891 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseDivide ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 900 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseMin ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 909 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ElementwiseMax ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 918 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator+= ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 927 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator-= ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Store back binary elementwise operations between two vectors. For each element of the vectors, performs $ this[i] \leftarrow op(this[i], otherVector[i])$ where $op$ is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).

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

Definition at line 933 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::SwapElementsWith ( vctFixedSizeVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Swap the elements of both vectors with each other.

Definition at line 945 of file vctFixedSizeVectorBase.h.

Referenced by vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::ExchangeColumns(), and vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, double, vctFixedSizeMatrixTraits< double, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >::ExchangeRows().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::SumOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector,
const value_type  scalar 
) [inline]

Binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(vector[i], scalar)$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 970 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::DifferenceOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector,
const value_type  scalar 
) [inline]

Binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(vector[i], scalar)$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 980 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ProductOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector,
const value_type  scalar 
) [inline]

Binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(vector[i], scalar)$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 990 of file vctFixedSizeVectorBase.h.

Referenced by vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >::ApplyInverseTo(), and vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >::ApplyTo().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::RatioOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector,
const value_type  scalar 
) [inline]

Binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(vector[i], scalar)$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1000 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ClippedAboveOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector,
const value_type  upperBound 
) [inline]

Binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(vector[i], scalar)$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1010 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ClippedBelowOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector,
const value_type  lowerBound 
) [inline]

Binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(vector[i], scalar)$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1020 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::SumOf ( const value_type  scalar,
const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector 
) [inline]

Binary elementwise operations between a scalar and a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(scalar, vector[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1047 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::DifferenceOf ( const value_type  scalar,
const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector 
) [inline]

Binary elementwise operations between a scalar and a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(scalar, vector[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1057 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ProductOf ( const value_type  scalar,
const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector 
) [inline]

Binary elementwise operations between a scalar and a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(scalar, vector[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1067 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::RatioOf ( const value_type  scalar,
const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector 
) [inline]

Binary elementwise operations between a scalar and a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(scalar, vector[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1077 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ClippedAboveOf ( const value_type  upperBound,
const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector 
) [inline]

Binary elementwise operations between a scalar and a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(scalar, vector[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1087 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ClippedBelowOf ( const value_type  lowerBound,
const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  vector 
) [inline]

Binary elementwise operations between a scalar and a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(scalar, vector[i])$ where $op$ is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).

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

Definition at line 1097 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Add ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1122 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Subtract ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1130 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Multiply ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1138 of file vctFixedSizeVectorBase.h.

Referenced by vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::operator *=().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::Divide ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1146 of file vctFixedSizeVectorBase.h.

Referenced by vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::NormalizedSelf(), and vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::operator/=().

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ClipAbove ( const value_type  upperBound  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1154 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ClipBelow ( const value_type  lowerBound  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1162 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator+= ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1170 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator-= ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1175 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator *= ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1180 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::operator/= ( const value_type  scalar  )  [inline]

Store back binary elementwise operations between a vector and a scalar. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i], scalar)$ where $op$ is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).

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

Definition at line 1185 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<size_type __matrixCols, stride_type __matrixRowStride, stride_type __matrixColStride, class __matrixDataPtrType, stride_type __vectorStride, class __vectorDataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ProductOf ( const vctFixedSizeConstMatrixBase< _size, __matrixCols, __matrixRowStride, __matrixColStride, _elementType, __matrixDataPtrType > &  inputMatrix,
const vctFixedSizeConstVectorBase< __matrixCols, __vectorStride, _elementType, __vectorDataPtrType > &  inputVector 
) [inline]

Product of a matrix and a vector.

Parameters:
inputMatrix The first operand of the binary operation
inputVector The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 1217 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<size_type __vectorSize, stride_type __vectorStride, class __vectorDataPtrType, stride_type __matrixRowStride, stride_type __matrixColStride, class __matrixDataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::ProductOf ( const vctFixedSizeConstVectorBase< __vectorSize, __vectorStride, _elementType, __vectorDataPtrType > &  inputVector,
const vctFixedSizeConstMatrixBase< __vectorSize, _size, __matrixRowStride, __matrixColStride, _elementType, __matrixDataPtrType > &  inputMatrix 
) [inline]

Product of a matrix and a vector.

Parameters:
inputMatrix The first operand of the binary operation
inputVector The second operand of the binary operation
Returns:
The vector "this" modified.

Definition at line 1226 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::AbsOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(otherVector[i])$ where $op$ can calculate the absolute value (AbsOf), the opposite (NegationOf) or the normalized version (NormalizedOf).

Parameters:
otherVector The operand of the unary operation.
Returns:
The vector "this" modified.

Definition at line 1250 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::NegationOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(otherVector[i])$ where $op$ can calculate the absolute value (AbsOf), the opposite (NegationOf) or the normalized version (NormalizedOf).

Parameters:
otherVector The operand of the unary operation.
Returns:
The vector "this" modified.

Definition at line 1259 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::FloorOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(otherVector[i])$ where $op$ can calculate the absolute value (AbsOf), the opposite (NegationOf) or the normalized version (NormalizedOf).

Parameters:
otherVector The operand of the unary operation.
Returns:
The vector "this" modified.

Definition at line 1268 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::CeilOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(otherVector[i])$ where $op$ can calculate the absolute value (AbsOf), the opposite (NegationOf) or the normalized version (NormalizedOf).

Parameters:
otherVector The operand of the unary operation.
Returns:
The vector "this" modified.

Definition at line 1277 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
template<stride_type __stride, class __dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::NormalizedOf ( const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &  otherVector  )  throw (std::runtime_error) [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(otherVector[i])$ where $op$ can calculate the absolute value (AbsOf), the opposite (NegationOf) or the normalized version (NormalizedOf).

Parameters:
otherVector The operand of the unary operation.
Returns:
The vector "this" modified.

Definition at line 1286 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::AbsSelf ( void   )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i])$ where $op$ can calculate the absolute value (AbsSelf), the opposite (NegationSelf) or the normalized version (NormalizedSelf).

Returns:
The vector "this" modified.

Definition at line 1304 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::NegationSelf ( void   )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i])$ where $op$ can calculate the absolute value (AbsSelf), the opposite (NegationSelf) or the normalized version (NormalizedSelf).

Returns:
The vector "this" modified.

Definition at line 1312 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::FloorSelf ( void   )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i])$ where $op$ can calculate the absolute value (AbsSelf), the opposite (NegationSelf) or the normalized version (NormalizedSelf).

Returns:
The vector "this" modified.

Definition at line 1320 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::CeilSelf ( void   )  [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i])$ where $op$ can calculate the absolute value (AbsSelf), the opposite (NegationSelf) or the normalized version (NormalizedSelf).

Returns:
The vector "this" modified.

Definition at line 1328 of file vctFixedSizeVectorBase.h.

template<vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
ThisType& vctFixedSizeVectorBase< _size, _stride, _elementType, _dataPtrType >::NormalizedSelf ( void   )  throw (std::runtime_error) [inline]

Unary elementwise operations on a vector. For each element of the vector "this", performs $ this[i] \leftarrow op(this[i])$ where $op$ can calculate the absolute value (AbsSelf), the opposite (NegationSelf) or the normalized version (NormalizedSelf).

Returns:
The vector "this" modified.

Definition at line 1336 of file vctFixedSizeVectorBase.h.

Referenced by vctFixedSizeVectorBase< _size, 1, svlPoint2D, vctFixedSizeVectorTraits< svlPoint2D, _size, 1 >::array >::NormalizedOf(), and vctAxisAngleRotation3< _elementType >::NormalizedSelf().


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