ERC CISST - cisst software

vctRodriguezRotation3Base< _containerType > Class Template Reference

#include <vctRodriguezRotation3Base.h>

Inheritance diagram for vctRodriguezRotation3Base< _containerType >:

Inheritance graph
[legend]
Collaboration diagram for vctRodriguezRotation3Base< _containerType >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class _containerType>
class vctRodriguezRotation3Base< _containerType >

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.

This class is templated by the element type.

Parameters:
_elementType The type of elements.
See also:
vctQuaternion

Definition at line 85 of file vctRodriguezRotation3Base.h.

Public Types

Public Member Functions

Static Public Member Functions

Protected Member Functions


Constructor & Destructor Documentation

template<class _containerType>
vctRodriguezRotation3Base< _containerType >::vctRodriguezRotation3Base (  )  [inline]

Default constructor. Sets the rotation to (0, 0, 0).

Definition at line 120 of file vctRodriguezRotation3Base.h.

template<class _containerType>
template<stride_type __stride, class __dataPtrType>
vctRodriguezRotation3Base< _containerType >::vctRodriguezRotation3Base ( const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &  axis  )  [inline]

Constructor from a 3D vector.

Parameters:
axis A vector of size 3.

Definition at line 128 of file vctRodriguezRotation3Base.h.

template<class _containerType>
vctRodriguezRotation3Base< _containerType >::vctRodriguezRotation3Base ( value_type  x,
value_type  y,
value_type  z 
) [inline]

Constructor from three elements: x, y, and z

Definition at line 133 of file vctRodriguezRotation3Base.h.


Member Function Documentation

template<class _containerType>
void vctRodriguezRotation3Base< _containerType >::ThrowUnlessIsNormalized ( void   )  const throw (std::runtime_error) [inline, protected]

Throw an exception unless this rotation is normalized.

Definition at line 100 of file vctRodriguezRotation3Base.h.

template<class _containerType>
template<class _inputType>
void vctRodriguezRotation3Base< _containerType >::ThrowUnlessIsNormalized ( const _inputType &  input  )  const throw (std::runtime_error) [inline, protected]

Throw an exception unless the input is normalized.

Parameters:
input An object with IsNormalized method.

Definition at line 111 of file vctRodriguezRotation3Base.h.

template<class _containerType>
static CISST_EXPORT const ThisType& vctRodriguezRotation3Base< _containerType >::Identity (  )  [static]

Const reference to the identity. In this case, a null vector.

template<class _containerType>
ThisType& vctRodriguezRotation3Base< _containerType >::NormalizedSelf ( void   )  [inline]

Norm lesser than 2 * PI.

Definition at line 302 of file vctRodriguezRotation3Base.h.

template<class _containerType>
ThisType& vctRodriguezRotation3Base< _containerType >::NormalizedOf ( const ThisType otherRotation  )  [inline]

See NormalizedSelf

Definition at line 313 of file vctRodriguezRotation3Base.h.

template<class _containerType>
ThisType vctRodriguezRotation3Base< _containerType >::Normalized ( void   )  const [inline]

See NormalizedSelf

Definition at line 320 of file vctRodriguezRotation3Base.h.

Referenced by vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >::FromNormalized(), vctAxisAngleRotation3< _elementType >::FromNormalized(), and vctMatrixRotation3Base< vctFixedSizeMatrix< double, 3, 3, _rowMajor > >::FromNormalized().

template<class _containerType>
bool vctRodriguezRotation3Base< _containerType >::IsNormalized ( value_type   CMN_UNUSED(tolerance) = TypeTraits::Tolerance()  )  const [inline]

Test if this rotation is normalized. This methods always return "true" since any angle is considered valid. This method is provided mostly for API completion.

Parameters:
tolerance Tolerance. This variable is not used as this rotation is always normalized. The tolerance parameter is provided just to have the same signature as for other transformations.

Definition at line 335 of file vctRodriguezRotation3Base.h.

template<class _containerType>
bool vctRodriguezRotation3Base< _containerType >::AlmostEquivalent ( const ThisType other,
value_type  tolerance = TypeTraits::Tolerance() 
) const [inline]

Return true if this rotation is equivalent to the other rotation, up to the given tolerance. Rotations may be effectively equivalent if their unit axis are almost equal and the angles are equal modulo 2 PI.

The tolerance factor is used to compare each of the elements of the difference vector.

Definition at line 348 of file vctRodriguezRotation3Base.h.


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