KFbxXMatrix Class Reference

#include <kfbxxmatrix.h>

List of all members.


Detailed Description

FBX SDK affine matrix class.

Matrices are defined using the Column Major scheme.

Definition at line 61 of file kfbxxmatrix.h.

Constructors and Destructor

 KFbxXMatrix ()
 Constructor.
 KFbxXMatrix (const KFbxXMatrix &pXMatrix)
 Copy constructor.
 KFbxXMatrix (KFbxVector4 &pT, KFbxVector4 &pR, KFbxVector4 &pS)
 Constructor.
 ~KFbxXMatrix ()
 Destructor.

Access

double Get (int pY, int pX)
 Retrieve matrix element.
KFbxVector4 GetT ()
 Extract translation vector.
KFbxVector4 GetR ()
 Extract rotation vector.
KFbxQuaternion GetQ ()
 Extract quaternion vector.
KFbxVector4 GetS ()
 Extract scale vector.
KFbxVector4 GetRow (int pY)
 Extract a row vector.
KFbxVector4 GetColumn (int pX)
 Extract a column vector.
void SetIdentity ()
 Set matrix to identity.
void SetT (KFbxVector4 &pT)
 Set matrix's translation.
void SetR (KFbxVector4 &pR)
 Set matrix's Euler rotation.
void SetQ (KFbxQuaternion &pQ)
 Set matrix's quaternion.
void SetS (KFbxVector4 &pS)
 Set matrix's scale.
void SetTRS (KFbxVector4 &pT, KFbxVector4 &pR, KFbxVector4 &pS)
 Set matrix.
void SetTQS (KFbxVector4 &pT, KFbxQuaternion &pQ, KFbxVector4 &pS)
 Set matrix.
KFbxXMatrixoperator= (const KFbxXMatrix &pM)
 Assignment operator.

Scalar Operations

KFbxXMatrix operator * (double pValue)
 Multiply matrix by a scalar value.
KFbxXMatrix operator/ (double pValue)
 Divide matrix by a scalar value.
KFbxXMatrixoperator *= (double pValue)
 Multiply matrix by a scalar value.
KFbxXMatrixoperator/= (double pValue)
 Divide matrix by a scalar value.

Vector Operations

KFbxVector4 MultT (KFbxVector4 &pVector4)
 Multiply matrix by a translation vector.
KFbxVector4 MultR (KFbxVector4 &pVector4)
 Multiply matrix by an Euler rotation vector.
KFbxQuaternion MultQ (KFbxQuaternion &pQuaternion)
 Multiply matrix by a quaternion.
KFbxVector4 MultS (KFbxVector4 &pVector4)
 Multiply matrix by a scale vector.

Matrix Operations

KFbxXMatrix operator- ()
 Unary minus operator.
KFbxXMatrix operator * (KFbxXMatrix &pXMatrix)
 Multiply two matrices together.
KFbxXMatrixoperator *= (KFbxXMatrix &pXMatrix)
 Multiply two matrices together.
KFbxXMatrix Inverse ()
 Calculate the matrix inverse.
KFbxXMatrix Transpose ()
 Calculate the matrix transpose.

Boolean Operations

bool operator== (KFbxXMatrix &pXMatrix)
 Equivalence operator.
bool operator!= (KFbxXMatrix &pXMatrix)
 Non-equivalence operator.

Casting

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


Constructor & Destructor Documentation

KFbxXMatrix (  ) 

Constructor.

KFbxXMatrix ( const KFbxXMatrix pXMatrix  ) 

Copy constructor.

KFbxXMatrix ( KFbxVector4 pT,
KFbxVector4 pR,
KFbxVector4 pS 
)

Constructor.

Parameters:
pT Translation vector.
pR Euler rotation vector.
pS Scale vector.

~KFbxXMatrix (  ) 

Destructor.


Member Function Documentation

double Get ( int  pY,
int  pX 
)

Retrieve matrix element.

Parameters:
pY Row index.
pX Column index.
Returns:
Cell [ pX, pY ] value.

KFbxVector4 GetT (  ) 

Extract translation vector.

Returns:
Translation vector.

KFbxVector4 GetR (  ) 

Extract rotation vector.

Returns:
Rotation vector.

KFbxQuaternion GetQ (  ) 

Extract quaternion vector.

Returns:
Quaternion vector.

KFbxVector4 GetS (  ) 

Extract scale vector.

Returns:
Scale vector.

KFbxVector4 GetRow ( int  pY  ) 

Extract a row vector.

Parameters:
pY Row index.
Returns:
The row vector.

KFbxVector4 GetColumn ( int  pX  ) 

Extract a column vector.

Parameters:
pX Column index.
Returns:
The column vector.

void SetIdentity (  ) 

Set matrix to identity.

void SetT ( KFbxVector4 pT  ) 

Set matrix's translation.

Parameters:
pT Translation vector.

void SetR ( KFbxVector4 pR  ) 

Set matrix's Euler rotation.

Parameters:
pR X, Y and Z rotation values expressed as a vector.

void SetQ ( KFbxQuaternion pQ  ) 

Set matrix's quaternion.

Parameters:
pQ The new quaternion.

void SetS ( KFbxVector4 pS  ) 

Set matrix's scale.

Parameters:
pS X, Y and Z scaling factors expressed as a vector.

void SetTRS ( KFbxVector4 pT,
KFbxVector4 pR,
KFbxVector4 pS 
)

Set matrix.

Parameters:
pT Translation vector.
pR Rotation vector.
pS Scale vector.

Referenced by KFbxCharacterPose::GetOffset().

void SetTQS ( KFbxVector4 pT,
KFbxQuaternion pQ,
KFbxVector4 pS 
)

Set matrix.

Parameters:
pT Translation vector.
pQ Quaternion vector.
pS Scale vector.

KFbxXMatrix& operator= ( const KFbxXMatrix pM  ) 

Assignment operator.

KFbxXMatrix operator * ( double  pValue  ) 

Multiply matrix by a scalar value.

Parameters:
pValue Scalar value.
Returns:
The scaled matrix.
Remarks:
The passed value is not checked.

KFbxXMatrix operator/ ( double  pValue  ) 

Divide matrix by a scalar value.

Parameters:
pValue Scalar value.
Returns:
The divided matrix.
Remarks:
The passed value is not checked.

KFbxXMatrix& operator *= ( double  pValue  ) 

Multiply matrix by a scalar value.

Parameters:
pValue Scalar value.
Returns:
this updated with the result of the multipication.
Remarks:
The passed value is not checked.

KFbxXMatrix& operator/= ( double  pValue  ) 

Divide matrix by a scalar value.

Parameters:
pValue Scalar value.
Returns:
this updated with the result of the division.
Remarks:
The passed value is not checked.

KFbxVector4 MultT ( KFbxVector4 pVector4  ) 

Multiply matrix by a translation vector.

Parameters:
pVector4 Translation vector.
Returns:
t' = M * t

KFbxVector4 MultR ( KFbxVector4 pVector4  ) 

Multiply matrix by an Euler rotation vector.

Parameters:
pVector4 Euler Rotation vector.
Returns:
r' = M * r

KFbxQuaternion MultQ ( KFbxQuaternion pQuaternion  ) 

Multiply matrix by a quaternion.

Parameters:
pQuaternion Rotation value.
Returns:
q' = M * q

KFbxVector4 MultS ( KFbxVector4 pVector4  ) 

Multiply matrix by a scale vector.

Parameters:
pVector4 Scaling vector.
Returns:
s' = M * s

KFbxXMatrix operator- (  ) 

Unary minus operator.

Returns:
A matrix where each element is multiplied by -1.

KFbxXMatrix operator * ( KFbxXMatrix pXMatrix  ) 

Multiply two matrices together.

Parameters:
pXMatrix A Matrix.
Returns:
this * pMatrix.

KFbxXMatrix& operator *= ( KFbxXMatrix pXMatrix  ) 

Multiply two matrices together.

Parameters:
pXMatrix A Matrix.
Returns:
this updated with the result of the multiplication.

KFbxXMatrix Inverse (  ) 

Calculate the matrix inverse.

Returns:
The inverse matrix of this.

KFbxXMatrix Transpose (  ) 

Calculate the matrix transpose.

Returns:
The transposed matrix of this.

bool operator== ( KFbxXMatrix pXMatrix  ) 

Equivalence operator.

Parameters:
pMatrix The matrix to be compared to this.
Returns:
true if the two matrices are equal (each element is within a 1.0e-6 tolerance) and false otherwise.

bool operator!= ( KFbxXMatrix pXMatrix  ) 

Non-equivalence operator.

Parameters:
pMatrix The matrix to be compared to this.
Returns:
false if the two matrices are equal (each element is within a 1.0e-6 tolerance) and true otherwise.

operator double * (  ) 

Cast the matrix in a double pointer.