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.