KFbxMatrix Class Reference

This reference page is linked to from the following overview topics: List of Python FBX classes.


Search for all occurrences

Detailed Description

FBX SDK matrix class.

Examples:

ExportScene01/main.cxx, ImportScene/DisplayPose.cxx, SwitchBinding/main.cxx, and ViewScene/GetPosition.cxx.

Definition at line 55 of file kfbxmatrix.h.

#include <kfbxmatrix.h>

Inheritance diagram for KFbxMatrix:
Inheritance graph
[legend]

List of all members.

Constructors and Destructor

  KFbxMatrix ()
  Constructor. Constructs an identity matrix.
  KFbxMatrix (const KFbxMatrix &pM)
  Copy constructor.
  KFbxMatrix (const KFbxVector4 &pT, const KFbxVector4 &pR, const KFbxVector4 &pS)
  Constructor.
  KFbxMatrix (const KFbxVector4 &pT, const KFbxQuaternion &pQ, const KFbxVector4 &pS)
  Constructor.
  KFbxMatrix (const KFbxXMatrix &pM)
  Constructor.
  ~KFbxMatrix ()
  Destructor.

Access

double  Get (int pY, int pX) const
  Retrieve matrix element.
KFbxVector4  GetRow (int pY) const
  Extract a row vector.
KFbxVector4  GetColumn (int pX) const
  Extract a column vector.
void  Set (int pY, int pX, double pValue)
  Set matrix element.
void  SetIdentity ()
  Set matrix to identity.
void  SetTRS (const KFbxVector4 &pT, const KFbxVector4 &pR, const KFbxVector4 &pS)
  Set matrix.
void  SetTQS (const KFbxVector4 &pT, const KFbxQuaternion &pQ, const KFbxVector4 &pS)
  Set matrix.
void  SetRow (int pY, const KFbxVector4 &pRow)
  Set a matrix row.
void  SetColumn (int pX, const KFbxVector4 &pColumn)
  Set a matrix column.
void  GetElements (KFbxVector4 &pTranslation, KFbxQuaternion &pRotation, KFbxVector4 &pShearing, KFbxVector4 &pScaling, double &pSign) const
  Decompose the affine matrix into elements of translation, rotation, shearing, scaling and sign of determinant.
KFbxMatrix operator= (const KFbxMatrix &pMatrix)
  Assignment operator.

Matrix Operations

KFbxMatrix  operator- () const
  Unary minus operator.
KFbxMatrix  operator+ (const KFbxMatrix &pMatrix) const
  Add two matrices together.
KFbxMatrix  operator- (const KFbxMatrix &pMatrix) const
  Subtract a matrix from another matrix.
KFbxMatrix  operator* (const KFbxMatrix &pMatrix) const
  Multiply two matrices.
KFbxMatrix operator+= (const KFbxMatrix &pMatrix)
  Add two matrices together.
KFbxMatrix operator-= (const KFbxMatrix &pMatrix)
  Subtract a matrix from another matrix.
KFbxMatrix operator*= (const KFbxMatrix &pMatrix)
  Multiply two matrices.
KFbxMatrix  Inverse () const
  Calculate the matrix inverse.
KFbxMatrix  Transpose () const
  Calculate the matrix transpose.

Vector Operations

KFbxVector4  MultNormalize (const KFbxVector4 &pVector) const
  Multiply this matrix by pVector, the w component is normalized to 1.

Boolean Operations

bool  operator== (const KFbxMatrix &pM) const
  Equivalence operator.
bool  operator== (const KFbxXMatrix &pM) const
  Equivalence operator.
bool  operator!= (const KFbxMatrix &pM) const
  Non-equivalence operator.
bool  operator!= (const KFbxXMatrix &pM) const
  Non-equivalence operator.

Casting

typedef const  double (kDouble44)[4][4]
  Define 4*4 array as a new type.
  operator double * ()
  Cast the vector in a double pointer.
  operator const double * () const
  Cast the vector in a const double pointer.
kDouble44 &  Double44 () const
  Cast the matrix in a reference to a 4*4 array.

Member Typedef Documentation

typedef const double(kDouble44)[4][4]

Define 4*4 array as a new type.

Definition at line 298 of file kfbxmatrix.h.


Constructor & Destructor Documentation

Constructor. Constructs an identity matrix.

KFbxMatrix ( const KFbxMatrix pM )

Copy constructor.

Parameters:
pM Another KFbxMatrix object copied to this one.
KFbxMatrix ( const KFbxVector4 pT,
const KFbxVector4 pR,
const KFbxVector4 pS 
)

Constructor.

Parameters:
pT Translation vector.
pR Euler rotation vector.
pS Scale vector.
KFbxMatrix ( const KFbxVector4 pT,
const KFbxQuaternion pQ,
const KFbxVector4 pS 
)

Constructor.

Parameters:
pT Translation vector.
pQ Quaternion.
pS Scale vector.
KFbxMatrix ( const KFbxXMatrix pM )

Constructor.

Parameters:
pM Affine matrix
~KFbxMatrix ( )

Destructor.


Member Function Documentation

double Get ( int  pY,
int  pX 
) const

Retrieve matrix element.

Parameters:
pY Row index.
pX Column index.
Returns:
Value at element [ pX, pY ] of the matrix.
KFbxVector4 GetRow ( int  pY ) const

Extract a row vector.

Parameters:
pY Row index.
Returns:
The row vector.
Examples:
ImportScene/DisplayPose.cxx.
KFbxVector4 GetColumn ( int  pX ) const

Extract a column vector.

Parameters:
pX Column index.
Returns:
The column vector.
void Set ( int  pY,
int  pX,
double  pValue 
)

Set matrix element.

Parameters:
pY Row index.
pX Column index.
pValue New component value.
void SetIdentity ( )

Set matrix to identity.

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

Set matrix.

Parameters:
pT Translation vector.
pR Euler rotation vector.
pS Scale vector.
Examples:
ExportScene01/main.cxx.
void SetTQS ( const KFbxVector4 pT,
const KFbxQuaternion pQ,
const KFbxVector4 pS 
)

Set matrix.

Parameters:
pT Translation vector.
pQ Quaternion.
pS Scale vector.
void SetRow ( int  pY,
const KFbxVector4 pRow 
)

Set a matrix row.

Parameters:
pY Row index.
pRow Row vector.
void SetColumn ( int  pX,
const KFbxVector4 pColumn 
)

Set a matrix column.

Parameters:
pX Column index.
pColumn Column vector.
void GetElements ( KFbxVector4 pTranslation,
KFbxQuaternion pRotation,
KFbxVector4 pShearing,
KFbxVector4 pScaling,
double pSign 
) const

Decompose the affine matrix into elements of translation, rotation, shearing, scaling and sign of determinant.

Parameters:
pTranslation Translation element.
pRotation Rotation element.
pShearing Shearing element.
pScaling Scaling element.
pSign Sign of determinant.
KFbxMatrix& operator= ( const KFbxMatrix pMatrix )

Assignment operator.

Parameters:
pMatrix Source matrix.
KFbxMatrix operator- ( ) const

Unary minus operator.

Returns:
A matrix where each element is multiplied by -1.
KFbxMatrix operator+ ( const KFbxMatrix pMatrix ) const

Add two matrices together.

Parameters:
pMatrix A matrix.
Returns:
The result of this matrix + pMatrix.
KFbxMatrix operator- ( const KFbxMatrix pMatrix ) const

Subtract a matrix from another matrix.

Parameters:
pMatrix A matrix.
Returns:
The result of this matrix - pMatrix.
KFbxMatrix operator* ( const KFbxMatrix pMatrix ) const

Multiply two matrices.

Parameters:
pMatrix A matrix.
Returns:
The result of this matrix * pMatrix.
KFbxMatrix& operator+= ( const KFbxMatrix pMatrix )

Add two matrices together.

Parameters:
pMatrix A matrix.
Returns:
The result of this matrix + pMatrix, replacing this matrix.
KFbxMatrix& operator-= ( const KFbxMatrix pMatrix )

Subtract a matrix from another matrix.

Parameters:
pMatrix A matrix.
Returns:
The result of this matrix - pMatrix, replacing this matrix.
KFbxMatrix& operator*= ( const KFbxMatrix pMatrix )

Multiply two matrices.

Parameters:
pMatrix A matrix.
Returns:
The result of this matrix * pMatrix, replacing this matrix.
KFbxMatrix Inverse ( ) const

Calculate the matrix inverse.

Returns:
The inverse matrix.
KFbxMatrix Transpose ( ) const

Calculate the matrix transpose.

Returns:
This matrix transposed.
KFbxVector4 MultNormalize ( const KFbxVector4 pVector ) const

Multiply this matrix by pVector, the w component is normalized to 1.

Parameters:
pVector A vector.
Returns:
The result of this matrix * pVector.
bool operator== ( const KFbxMatrix pM ) const

Equivalence operator.

Parameters:
pM The matrix to be compared against this matrix.
Returns:
true if the two matrices are equal (each element is within a 1.0e-6 tolerance), false otherwise.
bool operator== ( const KFbxXMatrix pM ) const

Equivalence operator.

Parameters:
pM The affine matrix to be compared against this matrix.
Returns:
true if the two matrices are equal (each element is within a 1.0e-6 tolerance), false otherwise.
bool operator!= ( const KFbxMatrix pM ) const

Non-equivalence operator.

Parameters:
pM The matrix to be compared against this matrix.
Returns:
false if the two matrices are equal (each element is within a 1.0e-6 tolerance), true otherwise.
bool operator!= ( const KFbxXMatrix pM ) const

Non-equivalence operator.

Parameters:
pM The affine matrix to be compared against this matrix.
Returns:
false if the two matrices are equal (each element is within a 1.0e-6 tolerance), true otherwise.
operator double * ( )

Cast the vector in a double pointer.

operator const double * ( ) const

Cast the vector in a const double pointer.

kDouble44& Double44 ( ) const [inline]

Cast the matrix in a reference to a 4*4 array.

Definition at line 301 of file kfbxmatrix.h.

{ return *((kDouble44 *)&mData); }

The documentation for this class was generated from the following file:

KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix
KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix KFbxMatrix