| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Member Functions | Public Attributes | Friends | List of all members
Ogre::DualQuaternion Class Reference
Core » Math

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 (Real fW, Real fX, Real fY, Real fZ, Real fdW, Real fdX, Real fdY, Real fdZ)
| Construct from an explicit list of values. More...
| DualQuaternion (const Affine3 &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...
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 Affine3 &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) const
| Array accessor operator. More...
Real & | operator[] (const size_t i)
| 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 (Affine3 &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

## Friends
_OgreExport friend std::ostream & | operator<< (std::ostream &o, const DualQuaternion &q)
| Function for writing to a stream. More...

## Detailed Description

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.

## Constructor & Destructor Documentation

## ◆ DualQuaternion() [1/5]

Ogre::DualQuaternion::DualQuaternion | ( |  | ) |
| inline

Default constructor, initializes to identity rotation (aka 0°), and zero translation (0,0,0)

## ◆ DualQuaternion() [2/5]

Ogre::DualQuaternion::DualQuaternion | ( | Real | fW,
|  | Real | fX,
|  | Real | fY,
|  | Real | fZ,
|  | Real | fdW,
|  | Real | fdX,
|  | Real | fdY,
|  | Real | fdZ
| ) |  |
| inline

Construct from an explicit list of values.

## ◆ DualQuaternion() [3/5]

Ogre::DualQuaternion::DualQuaternion | ( | const Affine3 & | rot | ) |
| inline

Construct a dual quaternion from a transformation matrix.

## ◆ DualQuaternion() [4/5]

Ogre::DualQuaternion::DualQuaternion | ( | const Quaternion & | q,
|  | const Vector3 & | trans
| ) |  |
| inline

Construct a dual quaternion from a unit quaternion and a translation vector.

## ◆ DualQuaternion() [5/5]

Ogre::DualQuaternion::DualQuaternion | ( | Real * | valptr | ) |
| inline

Construct a dual quaternion from 8 manual w/x/y/z/dw/dx/dy/dz values.

## Member Function Documentation

## ◆ operator[]() [1/2]

Real Ogre::DualQuaternion::operator[] | ( | const size_t | i | ) | const
| inline

Array accessor operator.

## ◆ operator[]() [2/2]

Real& Ogre::DualQuaternion::operator[] | ( | const size_t | i | ) |
| inline

Array accessor operator.

## ◆ operator=()

DualQuaternion& Ogre::DualQuaternion::operator= | ( | const DualQuaternion & | rkQ | ) |
| inline

References dw, dx, dy, dz, w, x, y, and z.

## ◆ operator==()

bool Ogre::DualQuaternion::operator== | ( | const DualQuaternion & | rhs | ) | const
| inline

References dw, dx, dy, dz, w, x, y, and z.

## ◆ operator!=()

bool Ogre::DualQuaternion::operator!= | ( | const DualQuaternion & | rhs | ) | const
| inline

References Ogre::operator==().

## ◆ ptr() [1/2]

Real* Ogre::DualQuaternion::ptr | ( |  | ) |
| inline

Pointer accessor for direct copying.

## ◆ ptr() [2/2]

const Real* Ogre::DualQuaternion::ptr | ( |  | ) | const
| inline

Pointer accessor for direct copying.

## ◆ swap()

void Ogre::DualQuaternion::swap | ( | DualQuaternion & | other | ) |
| inline

Exchange the contents of this dual quaternion with another.

References dw, dx, dy, dz, std::swap(), w, x, y, and z.

## ◆ isNaN()

bool Ogre::DualQuaternion::isNaN | ( |  | ) | const
| inline

Check whether this dual quaternion contains valid values.

References Ogre::Math::isNaN().

## ◆ fromRotationTranslation()

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.

## ◆ toRotationTranslation()

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.

## ◆ fromTransformationMatrix()

void Ogre::DualQuaternion::fromTransformationMatrix | ( | const Affine3 & | kTrans | ) |

Construct a dual quaternion from a 4x4 transformation matrix.

## ◆ toTransformationMatrix()

void Ogre::DualQuaternion::toTransformationMatrix | ( | Affine3 & | kTrans | ) | const

Convert a dual quaternion to a 4x4 transformation matrix.

## Friends And Related Function Documentation

## ◆ operator<<

_OgreExport friend std::ostream& operator<< | ( | std::ostream & | o,
|  | const DualQuaternion & | q
| ) |  |
| friend

Function for writing to a stream.

Outputs "DualQuaternion(w, x, y, z, dw, dx, dy, dz)" with w, x, y, z, dw, dx, dy, dz being the member values of the dual quaternion.

## Member Data Documentation

## ◆ w

Real Ogre::DualQuaternion::w

Referenced by operator=(), operator==(), and swap().

## ◆ x

Real Ogre::DualQuaternion::x

Referenced by operator=(), operator==(), and swap().

## ◆ y

Real Ogre::DualQuaternion::y

Referenced by operator=(), operator==(), and swap().

## ◆ z

Real Ogre::DualQuaternion::z

Referenced by operator=(), operator==(), and swap().

## ◆ dw

Real Ogre::DualQuaternion::dw

Referenced by operator=(), operator==(), and swap().

## ◆ dx

Real Ogre::DualQuaternion::dx

Referenced by operator=(), operator==(), and swap().

## ◆ dy

Real Ogre::DualQuaternion::dy

Referenced by operator=(), operator==(), and swap().

## ◆ dz

Real Ogre::DualQuaternion::dz

Referenced by operator=(), operator==(), and swap().

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

- OgreDualQuaternion.h