OGRE-Next
3.0.0
Object-Oriented Graphics Rendering Engine
|
Implementation of a dual quaternion, i.e. More...
#include <OgreDualQuaternion.h>
Public Member Functions | |
DualQuaternion () | |
Default constructor, initializes to identity rotation (aka 0°), and zero translation (0,0,0) More... | |
DualQuaternion (const Matrix4 &rot) | |
Construct a dual quaternion from a transformation matrix. More... | |
DualQuaternion (const Quaternion &q, const Vector3 &trans) | |
Construct a dual quaternion from a unit quaternion and a translation vector. More... | |
DualQuaternion (Real *valptr) | |
Construct a dual quaternion from 8 manual w/x/y/z/dw/dx/dy/dz values. More... | |
DualQuaternion (Real fW, Real fX, Real fY, Real fZ, Real fdW, Real fdX, Real fdY, Real fdZ) | |
Construct from an explicit list of values. More... | |
void | fromRotationTranslation (const Quaternion &q, const Vector3 &trans) |
Construct a dual quaternion from a rotation described by a Quaternion and a translation described by a Vector3. More... | |
void | fromTransformationMatrix (const Matrix4 &kTrans) |
Construct a dual quaternion from a 4x4 transformation matrix. More... | |
bool | isNaN () const |
Check whether this dual quaternion contains valid values. More... | |
bool | operator!= (const DualQuaternion &rhs) const |
DualQuaternion & | operator= (const DualQuaternion &rkQ) |
bool | operator== (const DualQuaternion &rhs) const |
Real & | operator[] (const size_t i) |
Array accessor operator. More... | |
Real | operator[] (const size_t i) const |
Array accessor operator. More... | |
Real * | ptr () |
Pointer accessor for direct copying. More... | |
const Real * | ptr () const |
Pointer accessor for direct copying. More... | |
void | swap (DualQuaternion &other) |
Exchange the contents of this dual quaternion with another. More... | |
void | toRotationTranslation (Quaternion &q, Vector3 &translation) const |
Convert a dual quaternion into its two components, a Quaternion representing the rotation and a Vector3 representing the translation. More... | |
void | toTransformationMatrix (Matrix4 &kTrans) const |
Convert a dual quaternion to a 4x4 transformation matrix. More... | |
Public Attributes | |
Real | dw |
Real | dx |
Real | dy |
Real | dz |
Real | w |
Real | x |
Real | y |
Real | z |
Implementation of a dual quaternion, i.e.
a rotation around an axis and a translation. This implementation may note be appropriate as a general implementation, but is intended for use with dual quaternion skinning.
|
inline |
Default constructor, initializes to identity rotation (aka 0°), and zero translation (0,0,0)
|
inline |
Construct from an explicit list of values.
|
inline |
Construct a dual quaternion from a transformation matrix.
|
inline |
Construct a dual quaternion from a unit quaternion and a translation vector.
|
inline |
Construct a dual quaternion from 8 manual w/x/y/z/dw/dx/dy/dz values.
void Ogre::DualQuaternion::fromRotationTranslation | ( | const Quaternion & | q, |
const Vector3 & | trans | ||
) |
Construct a dual quaternion from a rotation described by a Quaternion and a translation described by a Vector3.
void Ogre::DualQuaternion::fromTransformationMatrix | ( | const Matrix4 & | kTrans | ) |
Construct a dual quaternion from a 4x4 transformation matrix.
|
inline |
Check whether this dual quaternion contains valid values.
References Ogre::Math::isNaN().
|
inline |
References Ogre::operator==().
|
inline |
|
inline |
|
inline |
Array accessor operator.
|
inline |
Array accessor operator.
|
inline |
Pointer accessor for direct copying.
|
inline |
Pointer accessor for direct copying.
|
inline |
void Ogre::DualQuaternion::toRotationTranslation | ( | Quaternion & | q, |
Vector3 & | translation | ||
) | const |
Convert a dual quaternion into its two components, a Quaternion representing the rotation and a Vector3 representing the translation.
void Ogre::DualQuaternion::toTransformationMatrix | ( | Matrix4 & | kTrans | ) | const |
Convert a dual quaternion to a 4x4 transformation matrix.
Real Ogre::DualQuaternion::dw |
Referenced by operator=(), operator==(), and swap().
Real Ogre::DualQuaternion::dx |
Referenced by operator=(), operator==(), and swap().
Real Ogre::DualQuaternion::dy |
Referenced by operator=(), operator==(), and swap().
Real Ogre::DualQuaternion::dz |
Referenced by operator=(), operator==(), and swap().
Real Ogre::DualQuaternion::w |
Referenced by operator=(), operator==(), and swap().
Real Ogre::DualQuaternion::x |
Referenced by operator=(), operator==(), and swap().
Real Ogre::DualQuaternion::y |
Referenced by operator=(), operator==(), and swap().
Real Ogre::DualQuaternion::z |
Referenced by operator=(), operator==(), and swap().