KFbxQuaternion Class Reference

#include <kfbxquaternion.h>

List of all members.


Detailed Description

FBX SDK quaternion class.

Definition at line 58 of file kfbxquaternion.h.

Constructors and Destructor

 KFbxQuaternion ()
 Constructor.
 KFbxQuaternion (const KFbxQuaternion &pV)
 Copy constructor.
 KFbxQuaternion (double pX, double pY, double pZ, double pW=1.0)
 Constructor.
 ~KFbxQuaternion ()
 Destructor.

Access

KFbxQuaternionoperator= (const KFbxQuaternion &pQuaternion)
 Assignment operation.
double & operator[] (int pIndex)
 Accessor.
double GetAt (int pIndex)
 Get a vector element.
void SetAt (int pIndex, double pValue)
 Set a vector element.
void Set (double pX, double pY, double pZ, double pW=1.0)
 Set vector.

Scalar Operations

KFbxQuaternion operator+ (double pValue)
 Add a value to all vector components.
KFbxQuaternion operator- (double pValue)
 Subtract a value from all vector components.
KFbxQuaternion operator * (double pValue)
 Multiply all vector components by a value.
KFbxQuaternion operator/ (double pValue)
 Divide all vector components by a value.
KFbxQuaternionoperator+= (double pValue)
 Add a value to all vector components.
KFbxQuaternionoperator-= (double pValue)
 Subtract a value from all vector components.
KFbxQuaternionoperator *= (double pValue)
 Multiply a value to all vector elements.
KFbxQuaternionoperator/= (double pValue)
 Divide all vector elements by a value.

Vector Operations

KFbxQuaternion operator- ()
 Unary minus operator.
KFbxQuaternion operator+ (KFbxQuaternion &pQuaternion)
 Add two vectors together.
KFbxQuaternion operator- (KFbxQuaternion &pQuaternion)
 Subtract a quaternion from another quaternion.
KFbxQuaternion operator * (KFbxQuaternion &pQuaternion)
 Memberwise multiplication of two vectors.
KFbxQuaternion operator/ (KFbxQuaternion &pQuaternion)
 Memberwise division of a quaternion with another quaternion.
KFbxQuaternionoperator+= (KFbxQuaternion &pQuaternion)
 Add two quaternions together.
KFbxQuaternionoperator-= (KFbxQuaternion &pQuaternion)
 Subtract a quaternion from another vector.
KFbxQuaternionoperator *= (KFbxQuaternion &pQuaternion)
 Memberwise multiplication of two quaternions.
KFbxQuaternionoperator/= (KFbxQuaternion &pQuaternion)
 Memberwise division of a quaternion by another quaternion.
KFbxQuaternion Product (const KFbxQuaternion &pQuaternion)
 Return quaternion product.
void Normalize ()
 Normalize the quaternion, length set to 1.
void Conjugate ()
 Calculate the quaternion inverse.
void ComposeSphericalXYZ (KFbxVector4 pEuler)
 Unary minus operator.
KFbxVector4 DecomposeSphericalXYZ ()
 Unary minus operator.

Boolean Operations

bool operator== (KFbxQuaternion &pV)
 Equivalence operator.
bool operator!= (KFbxQuaternion &pV)
 Non equivalence operator.

Casting

 operator double * ()
 Cast the vector in a double pointer.

Public Attributes

double mData [4]


Constructor & Destructor Documentation

KFbxQuaternion (  ) 

Constructor.

KFbxQuaternion ( const KFbxQuaternion pV  ) 

Copy constructor.

KFbxQuaternion ( double  pX,
double  pY,
double  pZ,
double  pW = 1.0 
)

Constructor.

Parameters:
pX The X component.
pY The Y component.
pZ The Z component.
pW The W component.

~KFbxQuaternion (  ) 

Destructor.


Member Function Documentation

KFbxQuaternion& operator= ( const KFbxQuaternion pQuaternion  ) 

Assignment operation.

double& operator[] ( int  pIndex  ) 

Accessor.

Parameters:
pIndex The index of the component to access.
Returns:
The reference to the indexed component.
Remarks:
The index parameter is not checked for values out of bounds. The valid range is [0,3].

double GetAt ( int  pIndex  ) 

Get a vector element.

Parameters:
pIndex The index of the component to access.
Returns:
The value of the indexed component.
Remarks:
The index parameter is not checked for values out of bounds. The valid range is [0,3].

void SetAt ( int  pIndex,
double  pValue 
)

Set a vector element.

Parameters:
pIndex The index of the component to set.
pValue The new value to set the component.
Remarks:
The index parameter is not checked for values out of bounds. The valid range is [0,3].

void Set ( double  pX,
double  pY,
double  pZ,
double  pW = 1.0 
)

Set vector.

Parameters:
pX The X component value.
pY The Y component value.
pZ The Z component value.
pW The W component value.

KFbxQuaternion operator+ ( double  pValue  ) 

Add a value to all vector components.

Parameters:
pValue The value to add to each component of the vector.
Returns:
New vector.
Remarks:
The passed value is not checked.

KFbxQuaternion operator- ( double  pValue  ) 

Subtract a value from all vector components.

Parameters:
pValue The value to subtract from each component of the vector.
Returns:
New vector.
Remarks:
The passed value is not checked.

KFbxQuaternion operator * ( double  pValue  ) 

Multiply all vector components by a value.

Parameters:
pValue The value multiplying each component of the vector.
Returns:
New vector.
Remarks:
The passed value is not checked.

KFbxQuaternion operator/ ( double  pValue  ) 

Divide all vector components by a value.

Parameters:
pValue The value dividing each component of the vector.
Returns:
New vector.
Remarks:
The passed value is not checked.

KFbxQuaternion& operator+= ( double  pValue  ) 

Add a value to all vector components.

Parameters:
pValue The value to add to each component of the vector.
Returns:
The result of adding pValue to each component of the vector, replacing this quaternion.
Remarks:
The passed value is not checked.

KFbxQuaternion& operator-= ( double  pValue  ) 

Subtract a value from all vector components.

Parameters:
pValue The value to subtract from each component of the vector.
Returns:
The result of subtracting pValue from each component of the vector, replacing this quaternion.
Remarks:
The passed value is not checked.

KFbxQuaternion& operator *= ( double  pValue  ) 

Multiply a value to all vector elements.

Parameters:
pValue The value multiplying each component of the vector.
Returns:
The result of multiplying each component of the vector by pValue, replacing this quaternion.
Remarks:
The passed value is not checked.

KFbxQuaternion& operator/= ( double  pValue  ) 

Divide all vector elements by a value.

Parameters:
pValue The value dividing each component of the vector.
Returns:
The result of dividing each component of the vector by pValue, replacing this quaternion.
Remarks:
The passed value is not checked.

KFbxQuaternion operator- (  ) 

Unary minus operator.

Returns:
A quaternion where each component is multiplied by -1.

KFbxQuaternion operator+ ( KFbxQuaternion pQuaternion  ) 

Add two vectors together.

Parameters:
pQuaternion Quaternion to add.
Returns:
The quaternion v' = this + pQuaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion operator- ( KFbxQuaternion pQuaternion  ) 

Subtract a quaternion from another quaternion.

Parameters:
pQuaternion Quaternion to subtract.
Returns:
The quaternion v' = this - pQuaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion operator * ( KFbxQuaternion pQuaternion  ) 

Memberwise multiplication of two vectors.

Parameters:
pQuaternion Multiplying quaternion.
Returns:
The quaternion v' = this * pQuaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion operator/ ( KFbxQuaternion pQuaternion  ) 

Memberwise division of a quaternion with another quaternion.

Parameters:
pQuaternion Dividing quaternion.
Returns:
The quaternion v' = this / pQuaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion& operator+= ( KFbxQuaternion pQuaternion  ) 

Add two quaternions together.

Parameters:
pQuaternion Quaternion to add.
Returns:
The quaternion v' = this + pQuaternion, replacing this quaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion& operator-= ( KFbxQuaternion pQuaternion  ) 

Subtract a quaternion from another vector.

Parameters:
pQuaternion Quaternion to subtract.
Returns:
The quaternion v' = this - pQuaternion, replacing this quaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion& operator *= ( KFbxQuaternion pQuaternion  ) 

Memberwise multiplication of two quaternions.

Parameters:
pQuaternion Multiplying quaternion.
Returns:
The quaternion v' = this * pQuaternion, replacing this quaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion& operator/= ( KFbxQuaternion pQuaternion  ) 

Memberwise division of a quaternion by another quaternion.

Parameters:
pQuaternion Dividing quaternion.
Returns:
The quaternion v' = this / pQuaternion, replacing this quaternion.
Remarks:
The values in pQuaternion are not checked.

KFbxQuaternion Product ( const KFbxQuaternion pQuaternion  ) 

Return quaternion product.

Parameters:
pQuaternion product quaternion.
Returns:
This quarternion replace with the quaternion product.

void Normalize (  ) 

Normalize the quaternion, length set to 1.

void Conjugate (  ) 

Calculate the quaternion inverse.

Returns:
The inverse of this quaternion. Set XYZ at -XYZ.

void ComposeSphericalXYZ ( KFbxVector4  pEuler  ) 

Unary minus operator.

Returns:
A quaternion where each component is multiplied by -1.

KFbxVector4 DecomposeSphericalXYZ (  ) 

Unary minus operator.

Returns:
A quaternion where each component is multiplied by -1.

bool operator== ( KFbxQuaternion pV  ) 

Equivalence operator.

Parameters:
pV The quaternion to be compared to this quarternion.
Returns:
true if the two quaternions are equal (each element is within a 1.0e-6 tolerance), false otherwise.

bool operator!= ( KFbxQuaternion pV  ) 

Non equivalence operator.

Parameters:
pV The quaternion to be compared to this.
Returns:
false if the two quaternions are equal (each element is within a 1.0e-6 tolerance), true otherwise.

operator double * (  ) 

Cast the vector in a double pointer.