cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
vctRodriguezRotation3< _elementType > Class Template Reference

Define a rotation based on the rodriguez representation for a space of dimension 3. This representation is based on a vector. The direction of the vector determines the axis of rotation and its norm defines the amplitude of the rotation. More...

#include <vctForwardDeclarations.h>

Inheritance diagram for vctRodriguezRotation3< _elementType >:
vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > > vctFixedSizeVector< _elementType, 3 > vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array > vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >

Public Types

enum  { DIMENSION = 3 }
 
typedef vctFixedSizeVector
< value_type, 3 > 
ContainerType
 
typedef
vctRodriguezRotation3Base
< ContainerType
BaseType
 
typedef vctRodriguezRotation3
< value_type > 
ThisType
 
typedef cmnTypeTraits< value_type > TypeTraits
 
- Public Types inherited from vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >
enum  
 
typedef vctFixedSizeVector
< _elementType, 3 > 
BaseType
 
typedef vctFixedSizeVector
< _elementType, 3 > 
ContainerType
 
typedef
vctRodriguezRotation3Base
< ContainerType
ThisType
 
typedef cmnTypeTraits< value_type > TypeTraits
 
- Public Types inherited from vctFixedSizeVector< _elementType, 3 >
enum  
 
typedef
vctFixedSizeVectorTraits
< _elementType, _size, 1 > 
VectorTraits
 
typedef vctFixedSizeVector
< value_type, _size > 
ThisType
 
typedef vctFixedSizeVectorBase
< _size, 1, _elementType,
typename VectorTraits::array > 
BaseType
 
typedef BaseType::CopyType CopyType
 
typedef class cmnTypeTraits
< value_type > 
TypeTraits
 
typedef TypeTraits::VaArgPromotion ElementVaArgPromotion
 
- Public Types inherited from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >
enum  
 
enum  
 
enum  
 
typedef
vctFixedSizeVectorTraits
< _elementType, _size, _stride > 
VectorTraits
 
typedef vctFixedSizeVectorBase
< _size, _stride, _elementType,
vctFixedSizeVectorTraits
< _elementType, _size, 1 >
::array > 
ThisType
 
typedef
vctFixedSizeConstVectorBase
< _size, _stride, _elementType,
vctFixedSizeVectorTraits
< _elementType, _size, 1 >
::array > 
BaseType
 
typedef BaseType::CopyType CopyType
 
typedef cmnTypeTraits< value_type > TypeTraits
 
typedef VectorTraits::iterator iterator
 
typedef
VectorTraits::const_iterator 
const_iterator
 
typedef
VectorTraits::reverse_iterator 
reverse_iterator
 
typedef
VectorTraits::const_reverse_iterator 
const_reverse_iterator
 
typedef
BaseType::RowConstMatrixRefType 
RowConstMatrixRefType
 
typedef BaseType::RowMatrixRefType RowMatrixRefType
 
typedef
BaseType::ColConstMatrixRefType 
ColConstMatrixRefType
 
typedef BaseType::ColMatrixRefType ColMatrixRefType
 
- Public Types inherited from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >
enum  { SIZE = VectorTraits::SIZE }
 
enum  { STRIDE = VectorTraits::STRIDE }
 
typedef
vctFixedSizeConstVectorBase
< _size, _stride, _elementType,
_dataPtrType > 
ThisType
 
typedef
vctFixedSizeVectorTraits
< _elementType, _size, _stride > 
VectorTraits
 
typedef VectorTraits::iterator iterator
 
typedef
VectorTraits::const_iterator 
const_iterator
 
typedef
VectorTraits::reverse_iterator 
reverse_iterator
 
typedef
VectorTraits::const_reverse_iterator 
const_reverse_iterator
 
typedef vctFixedSizeVector
< _elementType, _size > 
VectorValueType
 
typedef vctFixedSizeVector
< _elementType, _size > 
CopyType
 
typedef vctFixedSizeVector
< bool, _size > 
BoolVectorValueType
 
typedef
vctFixedSizeConstMatrixRef
< _elementType, 1, _size,
_stride *_size, _stride > 
RowConstMatrixRefType
 
typedef vctFixedSizeMatrixRef
< _elementType, 1, _size,
_stride *_size, _stride > 
RowMatrixRefType
 
typedef
vctFixedSizeConstMatrixRef
< _elementType, _size,
1, _stride, _stride *_size > 
ColConstMatrixRefType
 
typedef vctFixedSizeMatrixRef
< _elementType, _size,
1, _stride, _stride *_size > 
ColMatrixRefType
 

Public Member Functions

 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
 vctRodriguezRotation3 ()
 
 vctRodriguezRotation3 (const ThisType &other)
 
 vctRodriguezRotation3 (const BaseType &other)
 
Constructors with normalization test.

These constructors will check that the input is valid, i.e. normalized. If the input is not normalized, an exception (of type std::runtime_error) will be thrown. Each constructor uses the corresponding From() method based on the input type.

Note
See the cmnThrow() function if an abort is better than an exception for your application.
template<stride_type __stride, class __dataPtrType >
 vctRodriguezRotation3 (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &axis) throw (std::runtime_error)
 
 vctRodriguezRotation3 (value_type x, value_type y, value_type z) throw (std::runtime_error)
 
template<class __containerType >
 vctRodriguezRotation3 (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) throw (std::runtime_error)
 
template<class __containerType >
 vctRodriguezRotation3 (const vctMatrixRotation3Base< __containerType > &matrixRotation) throw (std::runtime_error)
 
 vctRodriguezRotation3 (const vctAxisAngleRotation3< value_type > &axisAngleRotation) throw (std::runtime_error)
 
Constructors without normalization test

These constructors will either assume that the input is normalized or normalize the input (a copy of it, if required) based on the last parameter provided.

  • If the normalization flag is set to VCT_DO_NOT_NORMALIZE, the input is considered already normalized and the constructor will not perform any sanity check. This can lead to numerical instabilities which have to be handled by the caller.

  • If the normalization flag is set to VCT_NORMALIZE, the input will be normalized. This option should be used whenever it is important to obtain a result as "normalized" as possible.

template<stride_type __stride, class __dataPtrType >
 vctRodriguezRotation3 (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &axis, bool normalizeInput)
 
 vctRodriguezRotation3 (value_type x, value_type y, value_type z, bool normalizeInput)
 
template<class __containerType >
 vctRodriguezRotation3 (const vctQuaternionRotation3Base< __containerType > &quaternionRotation, bool normalizeInput)
 
template<class __containerType >
 vctRodriguezRotation3 (const vctMatrixRotation3Base< __containerType > &matrixRotation, bool normalizeInput)
 
 vctRodriguezRotation3 (const vctAxisAngleRotation3< value_type > &axisAngleRotation, bool normalizeInput)
 
- Public Member Functions inherited from vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >
 VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type)
 
 vctRodriguezRotation3Base ()
 
 vctRodriguezRotation3Base (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &axis)
 
 vctRodriguezRotation3Base (value_type x, value_type y, value_type z)
 
ThisTypeFrom (const vctFixedSizeConstVectorBase< 3, __stride, value_type, __dataPtrType > &vector) throw (std::runtime_error)
 
ThisTypeFrom (value_type x, value_type y, value_type z) throw (std::runtime_error)
 
ThisTypeFrom (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &vector) throw (std::runtime_error)
 
ThisTypeFrom (const vctQuaternionRotation3Base< __containerType > &quaternionRotation) throw (std::runtime_error)
 
ThisTypeFrom (const vctMatrixRotation3Base< __containerType > &matrixRotation)
 
ThisTypeFrom (const vctAxisAngleRotation3< value_type > &axisAngleRotation)
 
ThisTypeFromNormalized (const vctFixedSizeConstVectorBase< 3, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeFromNormalized (value_type x, value_type y, value_type z)
 
ThisTypeFromNormalized (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &vector) throw (std::runtime_error)
 
ThisTypeFromNormalized (const vctQuaternionRotation3Base< __containerType > &quaternionRotation)
 
ThisTypeFromNormalized (const vctMatrixRotation3Base< __containerType > &matrixRotation)
 
ThisTypeFromNormalized (const vctAxisAngleRotation3< value_type > &axisAngleRotation)
 
ThisTypeFromRaw (const vctFixedSizeConstVectorBase< 3, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeFromRaw (value_type x, value_type y, value_type z)
 
ThisTypeFromRaw (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &vector)
 
ThisTypeFromRaw (const vctQuaternionRotation3Base< __containerType > &quaternionRotation)
 
ThisTypeFromRaw (const vctMatrixRotation3Base< __containerType > &matrixRotation)
 
ThisTypeFromRaw (const vctAxisAngleRotation3< value_type > &axisAngleRotation)
 
ThisTypeInverseSelf (void)
 
ThisTypeInverseOf (const ThisType &otherRotation)
 
ThisType Inverse (void) const
 
ThisTypeNormalizedSelf (void)
 
ThisTypeNormalizedOf (const ThisType &otherRotation)
 
ThisType Normalized (void) const
 
bool IsNormalized (value_type CMN_UNUSED(tolerance)=TypeTraits::Tolerance()) const
 
bool AlmostEquivalent (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const
 
- Public Member Functions inherited from vctFixedSizeVector< _elementType, 3 >
 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
 vctFixedSizeVector ()
 
 vctFixedSizeVector (const value_type &value)
 
 vctFixedSizeVector (const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > &vector)
 
 vctFixedSizeVector (const vctFixedSizeConstVectorBase< SIZEMINUSONE, __stride, _elementType, __dataPtrType > &vector, value_type lastElement)
 
 vctFixedSizeVector (const __elementType *elements)
 
 vctFixedSizeVector (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &vector)
 
ThisTypeoperator= (const value_type &value)
 
bool FromStreamRaw (std::istream &inputStream, const char delimiter= ' ')
 
void DeSerializeRaw (std::istream &inputStream)
 
 vctFixedSizeVector (const vctFixedSizeConstVectorRef< _elementType, _size, __stride > &vector)
 
 vctFixedSizeVector (const vctFixedSizeVectorRef< _elementType, _size, __stride > &vector)
 
 vctFixedSizeVector (const value_type &element0, const value_type &element1)
 
 vctFixedSizeVector (const value_type &element0, const value_type &element1, const value_type &element2)
 
 vctFixedSizeVector (const value_type &element0, const value_type &element1, const value_type &element2, const value_type &element3)
 
 vctFixedSizeVector (const value_type element0, const value_type element1, const value_type element2, const value_type element3, const value_type element4,...)
 
ThisTypeoperator= (const ThisType &other)
 
ThisTypeoperator= (const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > &other)
 
ThisTypeoperator= (const vctFixedSizeConstVectorRef< value_type, _size, __stride > &other)
 
ThisTypeoperator= (const vctFixedSizeConstVectorRef< __elementType, _size, __stride > &other)
 
- Public Member Functions inherited from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >
 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
iterator begin (void)
 
const_iterator begin (void) const
 
iterator end (void)
 
const_iterator end (void) const
 
reverse_iterator rbegin (void)
 
const_reverse_iterator rbegin (void) const
 
reverse_iterator rend (void)
 
const_reverse_iterator rend (void) const
 
reference operator[] (size_type index)
 
const_reference operator[] (size_type index) const
 
reference at (size_type index) throw (std::out_of_range)
 
const_reference at (size_type index) const throw (std::out_of_range)
 
reference operator() (size_type index) throw (std::out_of_range)
 
const_reference operator() (size_type index) const throw (std::out_of_range)
 
reference Element (size_type index)
 
const_reference Element (size_type index) const
 
pointer Pointer (size_type index=0)
 
const_pointer Pointer (size_type index=0) const
 
value_type SetAll (const value_type &value)
 
bool Zeros (void)
 
ThisTypeAssign (const value_type element0, const value_type element1, const value_type element2, const value_type element3, const value_type element4,...)
 
ThisTypeAssign (const value_type *elements)
 
ThisTypeAssign (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &other)
 
ThisTypeConcatenationOf (const vctFixedSizeConstVectorBase< SIZEMINUSONE, __stride, __elementTypeVector, __dataPtrType > &other, __elementType last)
 
void SelectFrom (const vctFixedSizeConstVectorBase< __inputSize, __inputStride, _elementType, __inputDataPtrType > &input, const vctFixedSizeConstVectorBase< _size, __indexStride, index_type, __indexDataPtrType > &index)
 
void CrossProductOf (const vctFixedSizeConstVectorBase< 3, __stride1, _elementType, __dataPtr1Type > &inputVector1, const vctFixedSizeConstVectorBase< 3, __stride2, _elementType, __dataPtr2Type > &inputVector2)
 
ThisTypeAddProductOf (const value_type scalar, const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeAddElementwiseProductOf (const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &vector1, const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &vector2)
 
ThisTypeAssign (const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > &other)
 
ThisTypeoperator= (const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > &other)
 
ThisTypeAssign (const value_type element0) throw (std::runtime_error)
 
ThisTypeAssign (const value_type element0, const value_type element1) throw (std::runtime_error)
 
ThisTypeAssign (const value_type element0, const value_type element1, const value_type element2) throw (std::runtime_error)
 
ThisTypeAssign (const value_type element0, const value_type element1, const value_type element2, const value_type element3) throw (std::runtime_error)
 
ThisTypeForceAssign (const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > &other)
 
ThisTypeForceAssign (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &other)
 
bool FastCopyOf (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &source, bool performSafetyChecks=true) throw (std::runtime_error)
 
bool FastCopyOf (const vctFixedSizeConstVectorBase< SIZE, STRIDE, value_type, __dataPtrType > &source, bool performSafetyChecks=true) throw (std::runtime_error)
 
value_type & X (void)
 
const value_type & X (void) const
 
value_type & Y (void)
 
const value_type & Y (void) const
 
value_type & Z (void)
 
const value_type & Z (void) const
 
value_type & W (void)
 
const value_type & W (void) const
 
vctFixedSizeVectorRef
< _elementType, 2, _stride > 
XY (void)
 
vctFixedSizeConstVectorRef
< _elementType, 2, _stride > 
XY (void) const
 
vctFixedSizeVectorRef
< _elementType, 2, 2 *_stride > 
XZ (void)
 
vctFixedSizeConstVectorRef
< _elementType, 2, 2 *_stride > 
XZ (void) const
 
vctFixedSizeVectorRef
< _elementType, 2, 3 *_stride > 
XW (void)
 
vctFixedSizeConstVectorRef
< _elementType, 2, 3 *_stride > 
XW (void) const
 
vctFixedSizeVectorRef
< _elementType, 2, _stride > 
YZ (void)
 
vctFixedSizeConstVectorRef
< _elementType, 2, _stride > 
YZ (void) const
 
vctFixedSizeVectorRef
< _elementType, 2, 2 *_stride > 
YW (void)
 
vctFixedSizeConstVectorRef
< _elementType, 2, 2 *_stride > 
YW (void) const
 
vctFixedSizeVectorRef
< _elementType, 2, _stride > 
ZW (void)
 
vctFixedSizeConstVectorRef
< _elementType, 2, _stride > 
ZW (void) const
 
vctFixedSizeVectorRef
< _elementType, 3, _stride > 
XYZ (void)
 
vctFixedSizeConstVectorRef
< _elementType, 3, _stride > 
XYZ (void) const
 
vctFixedSizeVectorRef
< _elementType, 3, _stride > 
YZW (void)
 
vctFixedSizeConstVectorRef
< _elementType, 3, _stride > 
YZW (void) const
 
vctFixedSizeVectorRef
< _elementType, 4, _stride > 
XYZW (void)
 
vctFixedSizeConstVectorRef
< _elementType, 4, _stride > 
XYZW (void) const
 
RowConstMatrixRefType AsRowMatrix (void) const
 
RowMatrixRefType AsRowMatrix (void)
 
ColConstMatrixRefType AsColMatrix (void) const
 
ColMatrixRefType AsColMatrix (void)
 
vctFixedSizeConstVectorRef
< _elementType, __subSize,
_stride > 
Ref (const size_type startPosition=0) const throw (std::out_of_range)
 
vctFixedSizeVectorRef
< _elementType, __subSize,
_stride > 
Ref (const size_type startPosition=0) throw (std::out_of_range)
 
ThisTypeSumOf (const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &vector1, const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &vector2)
 
ThisTypeDifferenceOf (const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &vector1, const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &vector2)
 
ThisTypeElementwiseProductOf (const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &vector1, const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &vector2)
 
ThisTypeElementwiseRatioOf (const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &vector1, const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &vector2)
 
ThisTypeElementwiseMinOf (const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &vector1, const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &vector2)
 
ThisTypeElementwiseMaxOf (const vctFixedSizeConstVectorBase< _size, __stride1, value_type, __dataPtrType1 > &vector1, const vctFixedSizeConstVectorBase< _size, __stride2, value_type, __dataPtrType2 > &vector2)
 
ThisTypeAdd (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeSubtract (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeElementwiseMultiply (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeElementwiseDivide (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeElementwiseMin (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeElementwiseMax (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeoperator+= (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeoperator-= (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeSwapElementsWith (vctFixedSizeVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeSumOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector, const value_type scalar)
 
ThisTypeDifferenceOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector, const value_type scalar)
 
ThisTypeProductOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector, const value_type scalar)
 
ThisTypeRatioOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector, const value_type scalar)
 
ThisTypeClippedAboveOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector, const value_type upperBound)
 
ThisTypeClippedBelowOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector, const value_type lowerBound)
 
ThisTypeSumOf (const value_type scalar, const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeDifferenceOf (const value_type scalar, const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeProductOf (const value_type scalar, const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeRatioOf (const value_type scalar, const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeClippedAboveOf (const value_type upperBound, const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeClippedBelowOf (const value_type lowerBound, const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &vector)
 
ThisTypeAdd (const value_type scalar)
 
ThisTypeSubtract (const value_type scalar)
 
ThisTypeoperator+= (const value_type scalar)
 
ThisTypeoperator-= (const value_type scalar)
 
ThisTypeMultiply (const value_type scalar)
 
ThisTypeDivide (const value_type scalar)
 
ThisTypeClipAbove (const value_type upperBound)
 
ThisTypeClipBelow (const value_type lowerBound)
 
ThisTypeoperator*= (const value_type scalar)
 
ThisTypeoperator/= (const value_type scalar)
 
ThisTypeProductOf (const vctFixedSizeConstMatrixBase< _size, __matrixCols, __matrixRowStride, __matrixColStride, _elementType, __matrixDataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< __matrixCols, __vectorStride, _elementType, __vectorDataPtrType > &inputVector)
 
ThisTypeProductOf (const vctFixedSizeConstVectorBase< __vectorSize, __vectorStride, _elementType, __vectorDataPtrType > &inputVector, const vctFixedSizeConstMatrixBase< __vectorSize, _size, __matrixRowStride, __matrixColStride, _elementType, __matrixDataPtrType > &inputMatrix)
 
ThisTypeAbsOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeNegationOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeFloorOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeCeilOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector)
 
ThisTypeNormalizedOf (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) throw (std::runtime_error)
 
ThisTypeAbsSelf (void)
 
ThisTypeNegationSelf (void)
 
ThisTypeFloorSelf (void)
 
ThisTypeCeilSelf (void)
 
ThisTypeNormalizedSelf (void) throw (std::runtime_error)
 
- Public Member Functions inherited from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >
 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
const_iterator begin (void) const
 
const_iterator end (void) const
 
const_reverse_iterator rbegin (void) const
 
const_reverse_iterator rend (void) const
 
size_type size (void) const
 
size_type max_size (void) const
 
difference_type stride (void) const
 
bool empty (void) const
 
const_reference operator[] (size_type index) const
 
const_reference at (size_type index) const throw (std::out_of_range)
 
const_reference operator() (size_type index) const throw (std::out_of_range)
 
const_reference Element (size_type index) const
 
const_pointer Pointer (size_type index=0) const
 
bool ValidIndex (size_type index) const
 
template<vct::size_type __subSize>
vctFixedSizeConstVectorRef
< _elementType, __subSize,
_stride > 
Ref (const size_type startPosition=0) const throw (std::out_of_range)
 
template<stride_type __stride, class __dataPtrType >
value_type DotProduct (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
std::string ToString (void) const
 
void ToStream (std::ostream &outputStream) const
 
void ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const
 
void SerializeRaw (std::ostream &outputStream) const
 
const value_type & X (void) const
 
const value_type & Y (void) const
 
const value_type & Z (void) const
 
const value_type & W (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 2, _stride > 
XY (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 2, 2 *_stride > 
XZ (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 2, 3 *_stride > 
XW (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 2, _stride > 
YZ (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 2, 2 *_stride > 
YW (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 2, _stride > 
ZW (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 3, _stride > 
XYZ (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 3, _stride > 
YZW (void) const
 
vctFixedSizeConstVectorRef
< _elementType, 4, _stride > 
XYZW (void) const
 
RowConstMatrixRefType AsRowMatrix (void) const
 
ColConstMatrixRefType AsColMatrix (void) const
 
value_type SumOfElements (void) const
 
value_type ProductOfElements (void) const
 
value_type NormSquare (void) const
 
NormType Norm (void) const
 
bool IsNormalized (_elementType tolerance=cmnTypeTraits< _elementType >::Tolerance()) const
 
value_type L1Norm (void) const
 
value_type LinfNorm (void) const
 
value_type MaxElement (void) const
 
value_type MinElement (void) const
 
value_type MaxAbsElement (void) const
 
value_type MinAbsElement (void) const
 
void MinAndMaxElement (value_type &minElement, value_type &maxElement) const
 
bool IsPositive (void) const
 
bool IsNonNegative (void) const
 
bool IsNonPositive (void) const
 
bool IsNegative (void) const
 
bool All (void) const
 
bool Any (void) const
 
bool IsFinite (void) const
 
bool HasNaN (void) const
 
bool IsCompact (void) const
 
bool IsFortran (void) const
 
template<size_type __size, stride_type __stride, class __dataPtrType >
bool FastCopyCompatible (const vctFixedSizeConstVectorBase< __size, __stride, value_type, __dataPtrType > &source) const
 
template<class __vectorOwnerType >
bool FastCopyCompatible (const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &source) const
 
template<stride_type __stride, class __dataPtrType >
bool Equal (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool operator== (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool AlmostEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector, value_type tolerance) const
 
template<stride_type __stride, class __dataPtrType >
bool AlmostEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool NotEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool operator!= (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool Lesser (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool LesserOrEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool Greater (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
bool GreaterOrEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
BoolVectorValueType ElementwiseEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
BoolVectorValueType ElementwiseNotEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
BoolVectorValueType ElementwiseLesser (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
BoolVectorValueType ElementwiseLesserOrEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
BoolVectorValueType ElementwiseGreater (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
template<stride_type __stride, class __dataPtrType >
BoolVectorValueType ElementwiseGreaterOrEqual (const vctFixedSizeConstVectorBase< _size, __stride, value_type, __dataPtrType > &otherVector) const
 
bool Equal (const value_type &scalar) const
 
bool operator== (const value_type &scalar) const
 
bool NotEqual (const value_type &scalar) const
 
bool operator!= (const value_type &scalar) const
 
bool Lesser (const value_type &scalar) const
 
bool LesserOrEqual (const value_type &scalar) const
 
bool Greater (const value_type &scalar) const
 
bool GreaterOrEqual (const value_type &scalar) const
 
BoolVectorValueType ElementwiseEqual (const value_type &scalar) const
 
BoolVectorValueType ElementwiseNotEqual (const value_type &scalar) const
 
BoolVectorValueType ElementwiseLesser (const value_type &scalar) const
 
BoolVectorValueType ElementwiseLesserOrEqual (const value_type &scalar) const
 
BoolVectorValueType ElementwiseGreater (const value_type &scalar) const
 
BoolVectorValueType ElementwiseGreaterOrEqual (const value_type &scalar) const
 
VectorValueType Abs (void) const
 
VectorValueType Negation (void) const
 
VectorValueType Floor (void) const
 
VectorValueType Ceil (void) const
 
VectorValueType Normalized (void) const throw (std::runtime_error)
 

Additional Inherited Members

- Static Public Member Functions inherited from vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >
static CISST_EXPORT const
ThisType
Identity ()
 
- Protected Member Functions inherited from vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >
void ThrowUnlessIsNormalized (void) const throw (std::runtime_error)
 
void ThrowUnlessIsNormalized (const _inputType &input) const throw (std::runtime_error)
 
- Protected Member Functions inherited from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >
void ThrowUnlessValidIndex (size_type index) const throw (std::out_of_range)
 
- Protected Attributes inherited from vctFixedSizeConstVectorBase< _size, _stride, _elementType, _dataPtrType >
_dataPtrType Data
 

Detailed Description

template<class _elementType>
class vctRodriguezRotation3< _elementType >

Define a rotation based on the rodriguez representation for a space of dimension 3. This representation is based on a vector. The direction of the vector determines the axis of rotation and its norm defines the amplitude of the rotation.

This class is templated by the element type.

Parameters
_elementTypeThe type of elements.
See Also
vctQuaternion

Member Typedef Documentation

template<class _elementType>
typedef vctRodriguezRotation3Base<ContainerType> vctRodriguezRotation3< _elementType >::BaseType
template<class _elementType>
typedef vctFixedSizeVector<value_type, 3> vctRodriguezRotation3< _elementType >::ContainerType
template<class _elementType>
typedef vctRodriguezRotation3<value_type> vctRodriguezRotation3< _elementType >::ThisType
template<class _elementType>
typedef cmnTypeTraits<value_type> vctRodriguezRotation3< _elementType >::TypeTraits

Traits used for all useful types and values related to the element type.

Member Enumeration Documentation

template<class _elementType>
anonymous enum
Enumerator
DIMENSION 

Constructor & Destructor Documentation

template<class _elementType>
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( )
inline

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

template<class _elementType>
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const ThisType other)
inline
template<class _elementType>
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const BaseType other)
inline
template<class _elementType>
template<stride_type __stride, class __dataPtrType >
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &  axis)
throw (std::runtime_error
)
inlineexplicit

Constructor from a 3D vector.

Parameters
axisA vector of size 3, its norm represents the angle.
template<class _elementType>
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( value_type  x,
value_type  y,
value_type  z 
)
throw (std::runtime_error
)
inline

Constructor from a elements representing a 3D vector.

Parameters
x,y,zA vector of size 3, its norm represents the angle.
template<class _elementType>
template<class __containerType >
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctQuaternionRotation3Base< __containerType > &  quaternionRotation)
throw (std::runtime_error
)
inlineexplicit

Constructor from a vctQuaternionRotation3.

template<class _elementType>
template<class __containerType >
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctMatrixRotation3Base< __containerType > &  matrixRotation)
throw (std::runtime_error
)
inlineexplicit

Constructor from a vctMatrixRotation3.

template<class _elementType>
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctAxisAngleRotation3< value_type > &  axisAngleRotation)
throw (std::runtime_error
)
inlineexplicit

Constructor from a vctAxisAngleRotation3.

template<class _elementType>
template<stride_type __stride, class __dataPtrType >
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &  axis,
bool  normalizeInput 
)
inline

Constructor from a 3D vector.

Parameters
axisA vector of size 3, its norm represents the angle.
normalizeInputNormalize the input or convert as is (VCT_NORMALIZE or VCT_DO_NOT_NORMALIZE)
template<class _elementType>
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( value_type  x,
value_type  y,
value_type  z,
bool  normalizeInput 
)
inline

Constructor from 3 elements representing a 3D vector.

Parameters
x,y,zA vector of size 3, its norm represents the angle.
normalizeInputNormalize the input or convert as is (VCT_NORMALIZE or VCT_DO_NOT_NORMALIZE)
template<class _elementType>
template<class __containerType >
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctQuaternionRotation3Base< __containerType > &  quaternionRotation,
bool  normalizeInput 
)
inline

Constructor from a vctQuaternionRotation3.

template<class _elementType>
template<class __containerType >
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctMatrixRotation3Base< __containerType > &  matrixRotation,
bool  normalizeInput 
)
inline

Constructor from a vctMatrixRotation3.

template<class _elementType>
vctRodriguezRotation3< _elementType >::vctRodriguezRotation3 ( const vctAxisAngleRotation3< value_type > &  axisAngleRotation,
bool  normalizeInput 
)
inline

Constructor from a vctAxisAngleRotation3.

Member Function Documentation

template<class _elementType>
vctRodriguezRotation3< _elementType >::VCT_CONTAINER_TRAITS_TYPEDEFS ( _elementType  )

The documentation for this class was generated from the following files: