cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions
vctQuaternionRotation3Base.h File Reference

Declaration of vctQuaternionRotation3Base. More...

#include <cisstVector/vctQuaternionBase.h>
#include <cisstVector/vctAxisAngleRotation3.h>
#include <cisstVector/vctRodriguezRotation3.h>
#include <cisstVector/vctMatrixRotation3Base.h>
#include <cisstVector/vctFixedSizeMatrix.h>
#include <cisstVector/vctExport.h>

Go to the source code of this file.

Classes

class  vctQuaternionRotation3Base< _containerType >
 Define a rotation quaternion for a space of dimension 3. More...
 

Macros

#define _vctQuaternionRotation3Base_h
 

Functions

template<class _quaternionType , class _matrixType >
void vctQuaternionRotation3BaseFromRaw (vctQuaternionRotation3Base< _quaternionType > &quaternionRotation, const vctMatrixRotation3Base< _matrixType > &matrixRotation)
 
template<class _containerType , class _elementType , vct::stride_type _stride, class _dataPtrType >
vctFixedSizeVector
< _elementType, 3 > 
operator* (const vctQuaternionRotation3Base< _containerType > &rotationQuaternion, const vctFixedSizeConstVectorBase< 3, _stride, _elementType, _dataPtrType > &vector)
 
template<class _containerType , class _elementType , class _vectorOwnerType >
vctFixedSizeVector
< _elementType, 3 > 
operator* (const vctQuaternionRotation3Base< _containerType > &rotationQuaternion, const vctDynamicConstVectorBase< _vectorOwnerType, _elementType > &vector)
 
template<class _elementType , vct::stride_type __strideOut, class __dataPtrTypeOut >
void vctQuaternionVectorProductByElements (const _elementType qX, const _elementType qY, const _elementType qZ, const _elementType qR, const _elementType vX, const _elementType vY, const _elementType vZ, vctFixedSizeVectorBase< 3, __strideOut, _elementType, __dataPtrTypeOut > &output)
 

Detailed Description

Declaration of vctQuaternionRotation3Base.

Macro Definition Documentation

#define _vctQuaternionRotation3Base_h

Function Documentation

template<class _containerType , class _elementType , vct::stride_type _stride, class _dataPtrType >
vctFixedSizeVector<_elementType, 3> operator* ( const vctQuaternionRotation3Base< _containerType > &  rotationQuaternion,
const vctFixedSizeConstVectorBase< 3, _stride, _elementType, _dataPtrType > &  vector 
)
inline
template<class _containerType , class _elementType , class _vectorOwnerType >
vctFixedSizeVector<_elementType, 3> operator* ( const vctQuaternionRotation3Base< _containerType > &  rotationQuaternion,
const vctDynamicConstVectorBase< _vectorOwnerType, _elementType > &  vector 
)
inline
template<class _quaternionType , class _matrixType >
void vctQuaternionRotation3BaseFromRaw ( vctQuaternionRotation3Base< _quaternionType > &  quaternionRotation,
const vctMatrixRotation3Base< _matrixType > &  matrixRotation 
)
template<class _elementType , vct::stride_type __strideOut, class __dataPtrTypeOut >
void vctQuaternionVectorProductByElements ( const _elementType  qX,
const _elementType  qY,
const _elementType  qZ,
const _elementType  qR,
const _elementType  vX,
const _elementType  vY,
const _elementType  vZ,
vctFixedSizeVectorBase< 3, __strideOut, _elementType, __dataPtrTypeOut > &  output 
)
inline

This is an auxiliary function to multiply q * v * q^ – where q is a quaternion, v is a vector (a pure imaginary quaternion), and q^ is the conjugate of q. This is the basic operation in applying a quaternion rotation.