FBX C++ API Reference
|
#include <fbxdualquaternion.h>
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 27 of file fbxdualquaternion.h.
Constructors and Destructor | |
FbxDualQuaternion () | |
Constructor. More... | |
FbxDualQuaternion (const FbxQuaternion &pV1, const FbxQuaternion &pV2) | |
Constructor. More... | |
FbxDualQuaternion (const FbxDualQuaternion &pV) | |
Copy constructor. More... | |
FbxDualQuaternion (const FbxQuaternion &pRotation, const FbxVector4 &pTranslation) | |
Constructor. More... | |
FbxDualQuaternion (double pX1, double pY1, double pZ1, double pW1, double pX2, double pY2, double pZ2, double pW2) | |
Constructor. More... | |
~FbxDualQuaternion () | |
Destructor. More... | |
Access | |
FbxDualQuaternion & | operator= (const FbxDualQuaternion &pDualQuaternion) |
Assignment operation. More... | |
void | Set (double pX1, double pY1, double pZ1, double pW1, double pX2, double pY2, double pZ2, double pW2) |
Set vector. More... | |
FbxQuaternion & | GetFirstQuaternion () |
Get the first quaternion of the dual quaternion. More... | |
FbxQuaternion & | GetSecondQuaternion () |
Get the second quaternion of the dual quaternion. More... | |
const FbxQuaternion & | GetFirstQuaternion () const |
Get the first quaternion of the dual quaternion. More... | |
const FbxQuaternion & | GetSecondQuaternion () const |
Get the second quaternion of the dual quaternion. More... | |
FbxQuaternion | GetRotation () const |
Get the rotation part from the dual quaternion. More... | |
FbxVector4 | GetTranslation () const |
Get the translation part from the dual quaternion. More... | |
Scalar Operations | |
FbxDualQuaternion | operator+ (double pValue) const |
Add a value to all vector components. More... | |
FbxDualQuaternion | operator- (double pValue) const |
Subtract a value from all vector components. More... | |
FbxDualQuaternion | operator* (double pValue) const |
Multiply all vector components by a value. More... | |
FbxDualQuaternion | operator/ (double pValue) const |
Divide all vector components by a value. More... | |
FbxDualQuaternion & | operator+= (double pValue) |
Add a value to all vector components. More... | |
FbxDualQuaternion & | operator-= (double pValue) |
Subtract a value from all vector components. More... | |
FbxDualQuaternion & | operator*= (double pValue) |
Multiply a value to all vector elements. More... | |
FbxDualQuaternion & | operator/= (double pValue) |
Divide all vector elements by a value. More... | |
Vector Operations | |
FbxDualQuaternion | operator- () const |
Unary minus operator. More... | |
FbxDualQuaternion | operator+ (const FbxDualQuaternion &pDualQuaternion) const |
Add two vectors together. More... | |
FbxDualQuaternion | operator- (const FbxDualQuaternion &pDualQuaternion) const |
Subtract a quaternion from another quaternion. More... | |
FbxDualQuaternion | operator* (const FbxDualQuaternion &pDualQuaternion) const |
Memberwise multiplication of two vectors. More... | |
FbxDualQuaternion | operator/ (const FbxDualQuaternion &pDualQuaternion) const |
Memberwise division of a dual quaternion with another dual quaternion. More... | |
FbxDualQuaternion & | operator+= (const FbxDualQuaternion &pDualQuaternion) |
Add two quaternions together. More... | |
FbxDualQuaternion & | operator-= (const FbxDualQuaternion &pDualQuaternion) |
Subtract a dual quaternion from another vector. More... | |
FbxDualQuaternion & | operator*= (const FbxDualQuaternion &pDualQuaternion) |
Memberwise multiplication of two quaternions. More... | |
FbxDualQuaternion & | operator/= (const FbxDualQuaternion &pDualQuaternion) |
Memberwise division of a dual quaternion by another dual quaternion. More... | |
FbxDualQuaternion | operator* (const FbxVector4 pVector) const |
Multiplication of a dual quaternion by a FbxVector4. More... | |
FbxDualQuaternion | Product (const FbxDualQuaternion &pDualQuaternion) const |
Return dual quaternion product. More... | |
void | Normalize () |
Normalize the dual quaternion, length set to 1. More... | |
void | Inverse () |
Calculate the dual quaternion's inverse. More... | |
FbxVector4 | Deform (FbxVector4 &pPoint) |
Deform a point by this dual quaternion. More... | |
Conjugate Operations | |
void | Conjugate () |
Conjugate both quaternions of this dual quaternion. More... | |
void | Dual () |
Conjugate in dual space. More... | |
void | DualConjugate () |
Conjugate both quaternions of this dual quaternion in dual space. More... | |
Boolean Operations | |
bool | operator== (const FbxDualQuaternion &pV) const |
Equivalence operator. More... | |
bool | operator!= (const FbxDualQuaternion &pV) const |
Non equivalence operator. More... | |
Constructor.
FbxDualQuaternion | ( | const FbxQuaternion & | pV1, |
const FbxQuaternion & | pV2 | ||
) |
Constructor.
pV1 | FbxQuaternion object. |
pV2 | FbxQuaternion object. |
FbxDualQuaternion | ( | const FbxDualQuaternion & | pV | ) |
Copy constructor.
pV | FbxQuaternion object copied to this one. |
FbxDualQuaternion | ( | const FbxQuaternion & | pRotation, |
const FbxVector4 & | pTranslation | ||
) |
Constructor.
pRotation | The rotation the dual quaternion is going to represent. |
pTranslation | The translation the dual quaternion is going to represent. |
FbxDualQuaternion | ( | 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. |
~FbxDualQuaternion | ( | ) |
Destructor.
FbxDualQuaternion& operator= | ( | const FbxDualQuaternion & | pDualQuaternion | ) |
Assignment operation.
pDualQuaternion | FbxDualQuaternion 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. |
FbxQuaternion& GetFirstQuaternion | ( | ) |
Get the first quaternion of the dual quaternion.
FbxQuaternion& GetSecondQuaternion | ( | ) |
Get the second quaternion of the dual quaternion.
const FbxQuaternion& GetFirstQuaternion | ( | ) | const |
Get the first quaternion of the dual quaternion.
const FbxQuaternion& GetSecondQuaternion | ( | ) | const |
Get the second quaternion of the dual quaternion.
FbxQuaternion GetRotation | ( | ) | const |
Get the rotation part from the dual quaternion.
FbxVector4 GetTranslation | ( | ) | const |
Get the translation part from the dual quaternion.
FbxDualQuaternion operator+ | ( | double | pValue | ) | const |
Add a value to all vector components.
pValue | The value to add to each component of the vector. |
FbxDualQuaternion operator- | ( | double | pValue | ) | const |
Subtract a value from all vector components.
pValue | The value to subtract from each component of the vector. |
FbxDualQuaternion operator* | ( | double | pValue | ) | const |
Multiply all vector components by a value.
pValue | The value multiplying each component of the vector. |
FbxDualQuaternion operator/ | ( | double | pValue | ) | const |
Divide all vector components by a value.
pValue | The value dividing each component of the vector. |
FbxDualQuaternion& operator+= | ( | double | pValue | ) |
Add a value to all vector components.
pValue | The value to add to each component of the vector. |
FbxDualQuaternion& operator-= | ( | double | pValue | ) |
Subtract a value from all vector components.
pValue | The value to subtract from each component of the vector. |
FbxDualQuaternion& operator*= | ( | double | pValue | ) |
Multiply a value to all vector elements.
pValue | The value multiplying each component of the vector. |
FbxDualQuaternion& operator/= | ( | double | pValue | ) |
Divide all vector elements by a value.
pValue | The value dividing each component of the vector. |
FbxDualQuaternion operator- | ( | ) | const |
Unary minus operator.
FbxDualQuaternion operator+ | ( | const FbxDualQuaternion & | pDualQuaternion | ) | const |
Add two vectors together.
pDualQuaternion | Dual quaternion to add. |
FbxDualQuaternion operator- | ( | const FbxDualQuaternion & | pDualQuaternion | ) | const |
Subtract a quaternion from another quaternion.
pDualQuaternion | Dual quaternion to subtract. |
FbxDualQuaternion operator* | ( | const FbxDualQuaternion & | pDualQuaternion | ) | const |
Memberwise multiplication of two vectors.
pDualQuaternion | Multiplying dual quaternion. |
FbxDualQuaternion operator/ | ( | const FbxDualQuaternion & | pDualQuaternion | ) | const |
Memberwise division of a dual quaternion with another dual quaternion.
pDualQuaternion | Dividing dual quaternion. |
FbxDualQuaternion& operator+= | ( | const FbxDualQuaternion & | pDualQuaternion | ) |
Add two quaternions together.
pDualQuaternion | Dual quaternion to add. |
FbxDualQuaternion& operator-= | ( | const FbxDualQuaternion & | pDualQuaternion | ) |
Subtract a dual quaternion from another vector.
pDualQuaternion | Dual quaternion to subtract. |
FbxDualQuaternion& operator*= | ( | const FbxDualQuaternion & | pDualQuaternion | ) |
Memberwise multiplication of two quaternions.
pDualQuaternion | Multiplying dual quaternion. |
FbxDualQuaternion& operator/= | ( | const FbxDualQuaternion & | pDualQuaternion | ) |
Memberwise division of a dual quaternion by another dual quaternion.
pDualQuaternion | Dividing dual quaternion. |
FbxDualQuaternion operator* | ( | const FbxVector4 | pVector | ) | const |
Multiplication of a dual quaternion by a FbxVector4.
pVector | The FbxVector4 to multiply with. |
FbxDualQuaternion Product | ( | const FbxDualQuaternion & | 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.
FbxVector4 Deform | ( | FbxVector4 & | 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 FbxDualQuaternion & | 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 FBXSDK_TOLERANCE tolerance), false
otherwise. bool operator!= | ( | const FbxDualQuaternion & | 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 FBXSDK_TOLERANCE tolerance), true
otherwise.