KFbxQuaternion
#include<kfbxquaternion.h>

Inherits fbxVectorTemplate4<double>.

List of all members.

Detailed Description

FBX SDK quaternion class.

Definition at line54of 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)
 Creates a Quaternion equivalent to the supplied Euler XYZ in spherical coordinate.
KFbxVector4 DecomposeSphericalXYZ()
 Creates an Euler XYZ equivalent to the current quaternion.

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.

Parameters:
pV KFbxQuaternionobject copied to this one.

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.

Parameters:
pQuaternion KFbxQuaternionobject assigned to this one.

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 ) 

Creates a Quaternion equivalent to the supplied Euler XYZ in spherical coordinate.

Parameters:
pEuler The Euler XYZ angle.

KFbxVector4DecomposeSphericalXYZ( ) 

Creates an Euler XYZ equivalent to the current quaternion.

Returns:
The Euler XYZ equivalent to the current quaternion in spherical coordinate.

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.