HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UT_DualQuaternionT< T > Class Template Reference

#include <UT_DualQuaternion.h>

Public Member Functions

 UT_DualQuaternionT ()
 
 UT_DualQuaternionT (const UT_QuaternionT< T > &real, const UT_QuaternionT< T > &dual)
 Constructs from real and dual part. More...
 
 UT_DualQuaternionT (T real_qx, T real_qy, T real_qz, T real_qw, T dual_qx, T dual_qy, T dual_qz, T dual_qw)
 Constructs from components in real and dual part. More...
 
 UT_DualQuaternionT (const UT_QuaternionT< T > &r, const UT_Vector3T< T > &t)
 Constructs from rotation quaternion and translation vector. More...
 
 UT_DualQuaternionT (const UT_Matrix4 &xform)
 Constructs from a transform matrix. More...
 
 UT_DualQuaternionT (const UT_DualQuaternionT &dq)
 Copy constructor. More...
 
void updateFromXform (const UT_Matrix4T< T > &xform)
 
void updateFromXform (const UT_Matrix3T< T > &xform)
 
void updateFromRotTransPair (const UT_QuaternionT< T > &r, const UT_Vector3T< T > &t)
 
void updateFromRotTransPair (const UT_QuaternionT< T > &r, T tx, T ty, T tz)
 
void normalize ()
 Methods. More...
 
void conjugate ()
 
void identity ()
 
void transform (const UT_Vector3T< T > &vec, UT_Vector3T< T > &dst) const
 
void rotate (const UT_Vector3T< T > &vec, UT_Vector3T< T > &dst) const
 
UT_Matrix4 convertToXform () const
 
UT_DualQuaternionToperator+= (const UT_DualQuaternionT &dq)
 Operators. More...
 
UT_DualQuaternionToperator*= (T scalar)
 
UT_DualQuaternionToperator*= (const UT_DualQuaternionT &dq)
 
UT_DualQuaternionToperator-= (const UT_DualQuaternionT &dq)
 
bool operator== (const UT_DualQuaternionT &dq) const
 
bool operator!= (const UT_DualQuaternionT &dq) const
 
const TrealData () const
 Getters. More...
 
const TdualData () const
 
const UT_QuaternionT< T > & getReal () const
 
const UT_QuaternionT< T > & getDual () const
 
const UT_QuaternionT< T > & getTranslation () const
 
const UT_QuaternionT< T > & getRotation () const
 

Protected Member Functions

void outTo (std::ostream &os) const
 

Friends

std::ostream & operator<< (std::ostream &os, const UT_DualQuaternionT< T > &dq)
 

Detailed Description

template<typename T>
class UT_DualQuaternionT< T >

Dual quaternion class

Definition at line 25 of file UT_DualQuaternion.h.

Constructor & Destructor Documentation

template<typename T>
UT_DualQuaternionT< T >::UT_DualQuaternionT ( )
template<typename T>
UT_DualQuaternionT< T >::UT_DualQuaternionT ( const UT_QuaternionT< T > &  real,
const UT_QuaternionT< T > &  dual 
)

Constructs from real and dual part.

template<typename T>
UT_DualQuaternionT< T >::UT_DualQuaternionT ( T  real_qx,
T  real_qy,
T  real_qz,
T  real_qw,
T  dual_qx,
T  dual_qy,
T  dual_qz,
T  dual_qw 
)

Constructs from components in real and dual part.

template<typename T>
UT_DualQuaternionT< T >::UT_DualQuaternionT ( const UT_QuaternionT< T > &  r,
const UT_Vector3T< T > &  t 
)

Constructs from rotation quaternion and translation vector.

template<typename T>
UT_DualQuaternionT< T >::UT_DualQuaternionT ( const UT_Matrix4 xform)

Constructs from a transform matrix.

template<typename T>
UT_DualQuaternionT< T >::UT_DualQuaternionT ( const UT_DualQuaternionT< T > &  dq)

Copy constructor.

Member Function Documentation

template<typename T>
void UT_DualQuaternionT< T >::conjugate ( )
template<typename T>
UT_Matrix4 UT_DualQuaternionT< T >::convertToXform ( ) const
template<typename T>
const T* UT_DualQuaternionT< T >::dualData ( ) const
template<typename T>
const UT_QuaternionT<T>& UT_DualQuaternionT< T >::getDual ( ) const
template<typename T>
const UT_QuaternionT<T>& UT_DualQuaternionT< T >::getReal ( ) const
template<typename T>
const UT_QuaternionT<T>& UT_DualQuaternionT< T >::getRotation ( ) const
template<typename T>
const UT_QuaternionT<T>& UT_DualQuaternionT< T >::getTranslation ( ) const
template<typename T>
void UT_DualQuaternionT< T >::identity ( )
template<typename T>
void UT_DualQuaternionT< T >::normalize ( )

Methods.

template<typename T >
bool UT_DualQuaternionT< T >::operator!= ( const UT_DualQuaternionT< T > &  dq) const
inline

Definition at line 176 of file UT_DualQuaternion.h.

template<typename T >
UT_DualQuaternionT< T > & UT_DualQuaternionT< T >::operator*= ( T  scalar)
inline

Definition at line 141 of file UT_DualQuaternion.h.

template<typename T >
UT_DualQuaternionT< T > & UT_DualQuaternionT< T >::operator*= ( const UT_DualQuaternionT< T > &  dq)
inline

Definition at line 150 of file UT_DualQuaternion.h.

template<typename T >
UT_DualQuaternionT< T > & UT_DualQuaternionT< T >::operator+= ( const UT_DualQuaternionT< T > &  dq)
inline

Operators.

Operator implementations.

Definition at line 132 of file UT_DualQuaternion.h.

template<typename T >
UT_DualQuaternionT< T > & UT_DualQuaternionT< T >::operator-= ( const UT_DualQuaternionT< T > &  dq)
inline

Definition at line 159 of file UT_DualQuaternion.h.

template<typename T >
bool UT_DualQuaternionT< T >::operator== ( const UT_DualQuaternionT< T > &  dq) const
inline

Definition at line 168 of file UT_DualQuaternion.h.

template<typename T>
void UT_DualQuaternionT< T >::outTo ( std::ostream &  os) const
protected
template<typename T>
const T* UT_DualQuaternionT< T >::realData ( ) const

Getters.

template<typename T>
void UT_DualQuaternionT< T >::rotate ( const UT_Vector3T< T > &  vec,
UT_Vector3T< T > &  dst 
) const
template<typename T>
void UT_DualQuaternionT< T >::transform ( const UT_Vector3T< T > &  vec,
UT_Vector3T< T > &  dst 
) const
template<typename T>
void UT_DualQuaternionT< T >::updateFromRotTransPair ( const UT_QuaternionT< T > &  r,
const UT_Vector3T< T > &  t 
)
template<typename T>
void UT_DualQuaternionT< T >::updateFromRotTransPair ( const UT_QuaternionT< T > &  r,
T  tx,
T  ty,
T  tz 
)
template<typename T>
void UT_DualQuaternionT< T >::updateFromXform ( const UT_Matrix4T< T > &  xform)
template<typename T>
void UT_DualQuaternionT< T >::updateFromXform ( const UT_Matrix3T< T > &  xform)

Friends And Related Function Documentation

template<typename T>
std::ostream& operator<< ( std::ostream &  os,
const UT_DualQuaternionT< T > &  dq 
)
friend

Definition at line 93 of file UT_DualQuaternion.h.


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