This reference page is linked to from the following overview topics: FBX SDK 2012.
FBX SDK dual quaternion class to represent rigid transformation, which is combined by two quaternions.
A transformation is said to be rigid if it preserves relative distances and angles. That means rotation and translation.
Definition at line 53 of file kfbxdualquaternion.h.
#include <kfbxdualquaternion.h>
Constructors and Destructor |
|
KFbxDualQuaternion () | |
Constructor. |
|
KFbxDualQuaternion (const KFbxQuaternion &pV1, const KFbxQuaternion &pV2) | |
Constructor. |
|
KFbxDualQuaternion (const KFbxDualQuaternion &pV) | |
Copy constructor. |
|
KFbxDualQuaternion (const KFbxQuaternion &pRotation, const KFbxVector4 &pTranslation) | |
Constructor. |
|
KFbxDualQuaternion (double pX1, double pY1, double pZ1, double pW1, double pX2, double pY2, double pZ2, double pW2) | |
Constructor. |
|
~KFbxDualQuaternion () | |
Destructor. |
|
Access |
|
KFbxDualQuaternion & | operator= (const KFbxDualQuaternion &pDualQuaternion) |
Assignment operation. |
|
void | Set (double pX1, double pY1, double pZ1, double pW1, double pX2, double pY2, double pZ2, double pW2) |
Set vector. |
|
KFbxQuaternion & | GetFirstQuaternion () |
Get the first quaternion of the dual
quaternion. |
|
KFbxQuaternion & | GetSecondQuaternion () |
Get the second quaternion of the dual
quaternion. |
|
const KFbxQuaternion & | GetFirstQuaternion () const |
Get the first quaternion of the dual
quaternion. |
|
const KFbxQuaternion & | GetSecondQuaternion () const |
Get the second quaternion of the dual
quaternion. |
|
KFbxQuaternion | GetRotation () const |
Get the rotation part from the dual
quaternion. |
|
KFbxVector4 | GetTranslation () const |
Get the translation part from the dual
quaternion. |
|
Scalar Operations |
|
KFbxDualQuaternion | operator+ (double pValue) const |
Add a value to all vector components.
|
|
KFbxDualQuaternion | operator- (double pValue) const |
Subtract a value from all vector components.
|
|
KFbxDualQuaternion | operator* (double pValue) const |
Multiply all vector components by a value.
|
|
KFbxDualQuaternion | operator/ (double pValue) const |
Divide all vector components by a value.
|
|
KFbxDualQuaternion & | operator+= (double pValue) |
Add a value to all vector components.
|
|
KFbxDualQuaternion & | operator-= (double pValue) |
Subtract a value from all vector components.
|
|
KFbxDualQuaternion & | operator*= (double pValue) |
Multiply a value to all vector elements.
|
|
KFbxDualQuaternion & | operator/= (double pValue) |
Divide all vector elements by a value.
|
|
Vector Operations |
|
KFbxDualQuaternion | operator- () const |
Unary minus operator. |
|
KFbxDualQuaternion | operator+ (const KFbxDualQuaternion &pDualQuaternion) const |
Add two vectors together. |
|
KFbxDualQuaternion | operator- (const KFbxDualQuaternion &pDualQuaternion) const |
Subtract a quaternion from another
quaternion. |
|
KFbxDualQuaternion | operator* (const KFbxDualQuaternion &pDualQuaternion) const |
Memberwise multiplication of two vectors.
|
|
KFbxDualQuaternion | operator/ (const KFbxDualQuaternion &pDualQuaternion) const |
Memberwise division of a dual quaternion
with another dual quaternion. |
|
KFbxDualQuaternion & | operator+= (const KFbxDualQuaternion &pDualQuaternion) |
Add two quaternions together. |
|
KFbxDualQuaternion & | operator-= (const KFbxDualQuaternion &pDualQuaternion) |
Subtract a dual quaternion from another
vector. |
|
KFbxDualQuaternion & | operator*= (const KFbxDualQuaternion &pDualQuaternion) |
Memberwise multiplication of two
quaternions. |
|
KFbxDualQuaternion & | operator/= (const KFbxDualQuaternion &pDualQuaternion) |
Memberwise division of a dual quaternion by
another dual quaternion. |
|
KFbxDualQuaternion | operator* (const KFbxVector4 pVector) const |
Multiplication of a dual quaternion by a
KFbxVector4. |
|
KFbxDualQuaternion | Product (const KFbxDualQuaternion &pDualQuaternion) const |
Return dual quaternion product. |
|
void | Normalize () |
Normalize the dual quaternion, length set to
1. |
|
void | Inverse () |
Calculate the dual quaternion's inverse.
|
|
KFbxVector4 | Deform (KFbxVector4 &pPoint) |
Deform a point by this dual quaternion.
|
|
Conjugate Operations |
|
Dual quaternion has
three types of conjugate. |
|
void | Conjugate () |
Conjugate both quaternions of this dual
quaternion. |
|
void | Dual () |
Conjugate in dual space. |
|
void | DualConjugate () |
Conjugate both quaternions of this dual
quaternion in dual space. |
|
Boolean Operations |
|
bool | operator== (const KFbxDualQuaternion &pV) const |
Equivalence operator. |
|
bool | operator!= (const KFbxDualQuaternion &pV) const |
Non equivalence operator. |
Constructor.
KFbxDualQuaternion | ( | const KFbxQuaternion & | pV1, |
const KFbxQuaternion & | pV2 | ||
) |
Constructor.
pV1 | KFbxQuaternion object. |
pV2 | KFbxQuaternion object. |
KFbxDualQuaternion | ( | const KFbxDualQuaternion & | pV | ) |
Copy constructor.
pV | KFbxQuaternion object copied to this one. |
KFbxDualQuaternion | ( | const KFbxQuaternion & | pRotation, |
const KFbxVector4 & | pTranslation | ||
) |
Constructor.
pRotation | The rotation the dual quaternion is going to represent. |
pTranslation | The translation the dual quaternion is going to represent. |
KFbxDualQuaternion | ( | double | pX1, |
double | pY1, | ||
double | pZ1, | ||
double | pW1, | ||
double | pX2, | ||
double | pY2, | ||
double | pZ2, | ||
double | pW2 | ||
) |
Constructor.
pX1 | The X component of the first quaternion. |
pY1 | The Y component of the first quaternion. |
pZ1 | The Z component of the first quaternion. |
pW1 | The W component of the first quaternion. |
pX2 | The X component of the second quaternion. |
pY2 | The Y component of the second quaternion. |
pZ2 | The Z component of the second quaternion. |
pW2 | The W component of the second quaternion. |
~KFbxDualQuaternion | ( | ) |
Destructor.
KFbxDualQuaternion& operator= | ( | const KFbxDualQuaternion & | pDualQuaternion | ) |
Assignment operation.
pDualQuaternion | KFbxDualQuaternion object assigned to this one. |
void Set | ( | double | pX1, |
double | pY1, | ||
double | pZ1, | ||
double | pW1, | ||
double | pX2, | ||
double | pY2, | ||
double | pZ2, | ||
double | pW2 | ||
) |
Set vector.
pX1 | The X component of the first quaternion. |
pY1 | The Y component of the first quaternion. |
pZ1 | The Z component of the first quaternion. |
pW1 | The W component of the first quaternion. |
pX2 | The X component of the second quaternion. |
pY2 | The Y component of the second quaternion. |
pZ2 | The Z component of the second quaternion. |
pW2 | The W component of the second quaternion. |
KFbxQuaternion& GetFirstQuaternion | ( | ) |
Get the first quaternion of the dual quaternion.
KFbxQuaternion& GetSecondQuaternion | ( | ) |
Get the second quaternion of the dual quaternion.
const KFbxQuaternion& GetFirstQuaternion | ( | ) | const |
Get the first quaternion of the dual quaternion.
const KFbxQuaternion& GetSecondQuaternion | ( | ) | const |
Get the second quaternion of the dual quaternion.
KFbxQuaternion GetRotation | ( | ) | const |
Get the rotation part from the dual quaternion.
KFbxVector4 GetTranslation | ( | ) | const |
Get the translation part from the dual quaternion.
KFbxDualQuaternion operator+ | ( | double | pValue | ) | const |
Add a value to all vector components.
pValue | The value to add to each component of the vector. |
KFbxDualQuaternion operator- | ( | double | pValue | ) | const |
Subtract a value from all vector components.
pValue | The value to subtract from each component of the vector. |
KFbxDualQuaternion operator* | ( | double | pValue | ) | const |
Multiply all vector components by a value.
pValue | The value multiplying each component of the vector. |
KFbxDualQuaternion operator/ | ( | double | pValue | ) | const |
Divide all vector components by a value.
pValue | The value dividing each component of the vector. |
KFbxDualQuaternion& operator+= | ( | double | pValue | ) |
Add a value to all vector components.
pValue | The value to add to each component of the vector. |
KFbxDualQuaternion& operator-= | ( | double | pValue | ) |
Subtract a value from all vector components.
pValue | The value to subtract from each component of the vector. |
KFbxDualQuaternion& operator*= | ( | double | pValue | ) |
Multiply a value to all vector elements.
pValue | The value multiplying each component of the vector. |
KFbxDualQuaternion& operator/= | ( | double | pValue | ) |
Divide all vector elements by a value.
pValue | The value dividing each component of the vector. |
KFbxDualQuaternion operator- | ( | ) | const |
Unary minus operator.
KFbxDualQuaternion operator+ | ( | const KFbxDualQuaternion & | pDualQuaternion | ) | const |
Add two vectors together.
pDualQuaternion | Dual quaternion to add. |
KFbxDualQuaternion operator- | ( | const KFbxDualQuaternion & | pDualQuaternion | ) | const |
Subtract a quaternion from another quaternion.
pDualQuaternion | Dual quaternion to subtract. |
KFbxDualQuaternion operator* | ( | const KFbxDualQuaternion & | pDualQuaternion | ) | const |
Memberwise multiplication of two vectors.
pDualQuaternion | Multiplying dual quaternion. |
KFbxDualQuaternion operator/ | ( | const KFbxDualQuaternion & | pDualQuaternion | ) | const |
Memberwise division of a dual quaternion with another dual quaternion.
pDualQuaternion | Dividing dual quaternion. |
KFbxDualQuaternion& operator+= | ( | const KFbxDualQuaternion & | pDualQuaternion | ) |
Add two quaternions together.
pDualQuaternion | Dual quaternion to add. |
KFbxDualQuaternion& operator-= | ( | const KFbxDualQuaternion & | pDualQuaternion | ) |
Subtract a dual quaternion from another vector.
pDualQuaternion | Dual quaternion to subtract. |
KFbxDualQuaternion& operator*= | ( | const KFbxDualQuaternion & | pDualQuaternion | ) |
Memberwise multiplication of two quaternions.
pDualQuaternion | Multiplying dual quaternion. |
KFbxDualQuaternion& operator/= | ( | const KFbxDualQuaternion & | pDualQuaternion | ) |
Memberwise division of a dual quaternion by another dual quaternion.
pDualQuaternion | Dividing dual quaternion. |
KFbxDualQuaternion operator* | ( | const KFbxVector4 | pVector | ) | const |
Multiplication of a dual quaternion by a KFbxVector4.
pVector | The KFbxVector4 to multiply with. |
KFbxDualQuaternion Product | ( | const KFbxDualQuaternion & | pDualQuaternion | ) | const |
Return dual quaternion product.
pDualQuaternion | product dual quaternion. |
void Normalize | ( | ) |
Normalize the dual quaternion, length set to 1.
void Inverse | ( | ) |
Calculate the dual quaternion's inverse.
KFbxVector4 Deform | ( | KFbxVector4 & | pPoint | ) |
Deform a point by this dual quaternion.
void Conjugate | ( | ) |
Conjugate both quaternions of this dual quaternion.
void Dual | ( | ) |
Conjugate in dual space.
void DualConjugate | ( | ) |
Conjugate both quaternions of this dual quaternion in dual space.
bool operator== | ( | const KFbxDualQuaternion & | pV | ) | const |
Equivalence operator.
pV | The quaternion to be compared to this quaternion. |
true
if the two quaternions are equal (each
element is within a 1.0e-6 tolerance), false
otherwise.bool operator!= | ( | const KFbxDualQuaternion & | pV | ) | const |
Non equivalence operator.
pV | The quaternion to be compared to this. |
false
if the two quaternions are equal (each
element is within a 1.0e-6 tolerance), true
otherwise.