KFbxQuaternion
#include<kfbxquaternion.h>

Inherits fbxVectorTemplate4<double>.

List of all members.

Detailed Description

FBX SDK quaternion class.

Definition at line58of filekfbxquaternion.h.


Constructors and Destructor

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

Access

KFbxQuaternionoperator=(constKFbxQuaternion&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(constKFbxQuaternion&pQuaternion)
 Return quaternion product.
void Normalize()
 Normalize the quaternion, length set to 1.
void Conjugate()
 Calculate the quaternion inverse.
void ComposeSphericalXYZ(KFbxVector4pEuler)
 Unary minus operator.
KFbxVector4 DecomposeSphericalXYZ()
 Unary minus operator.

Boolean Operations

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

Casting

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

Constructor&Destructor Documentation

Constructor.

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.

Destructor.

Member Function Documentation

KFbxQuaternion&operator=(constKFbxQuaternionpQuaternion ) 

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.

KFbxQuaternionoperator+(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.

KFbxQuaternionoperator-(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.

KFbxQuaternionoperator*(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.

KFbxQuaternionoperator/(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.

KFbxQuaternionoperator-( ) 

Unary minus operator.

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

KFbxQuaternionoperator+(KFbxQuaternionpQuaternion ) 

Add two vectors together.

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

KFbxQuaternionoperator-(KFbxQuaternionpQuaternion ) 

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.

KFbxQuaternionoperator*(KFbxQuaternionpQuaternion ) 

Memberwise multiplication of two vectors.

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

KFbxQuaternionoperator/(KFbxQuaternionpQuaternion ) 

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+=(KFbxQuaternionpQuaternion ) 

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-=(KFbxQuaternionpQuaternion ) 

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*=(KFbxQuaternionpQuaternion ) 

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/=(KFbxQuaternionpQuaternion ) 

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.

KFbxQuaternionProduct(constKFbxQuaternionpQuaternion ) 

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.

KFbxVector4DecomposeSphericalXYZ( ) 

Unary minus operator.

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

bool operator==(KFbxQuaternionpV ) 

Equivalence operator.

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

bool operator==(KFbxQuaternionconst& pV ) const

Equivalence operator.

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

bool operator!=(KFbxQuaternionpV ) 

Non equivalence operator.

Parameters:
pV The quaternion to be compared tothis.
Returns:
falseif the two quaternions are equal (each element is within a 1.0e-6 tolerance),trueotherwise.

bool operator!=(KFbxQuaternionconst& pV ) const

Equivalence operator.

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

operator double *( ) 

Cast the vector in a double pointer.