This reference page is linked to from the following overview topics: List of Python FBX classes.
FBX SDK affine matrix class.
Matrices are defined using the Column Major scheme. When a KFbxXMatrix represents a transformation (translation, rotation and scale), the last row of the matrix represents the translation part of the transformation.
ExportScene01/main.cxx, ExportScene05/main.cxx, ImportScene/DisplayLink.cxx, ImportScene/DisplayPose.cxx, Pivot/main.cxx, StereoCamera/main.cxx, SwitchBinding/main.cxx, Transformations/main.cxx, ViewScene/DrawScene.cxx, ViewScene/GetPosition.cxx, ViewScene/GetPosition.h, ViewScene/GlFunctions.cxx, ViewScene/GlFunctions.h, and ViewScene/SetCamera.cxx.
Definition at line 61 of file kfbxxmatrix.h.
#include <kfbxxmatrix.h>
Public Member Functions |
|
void | CreateKFbxXMatrixRotation (double pX, double pY, double pZ) |
void | V2M (KFbxXMatrix &pMatrix, const KFbxVector4 &pVector, ERotationOrder pRotationOrder) |
void | M2V (KFbxVector4 &pVector, const KFbxXMatrix &pMatrix, ERotationOrder pRotationOrder) |
Constructors and Destructor |
|
KFbxXMatrix () | |
Constructor. |
|
KFbxXMatrix (const KFbxXMatrix &pXMatrix) | |
Copy constructor. |
|
KFbxXMatrix (const KFbxVector4 &pT, const KFbxVector4 &pR, const KFbxVector4 &pS) | |
Constructor. |
|
~KFbxXMatrix () | |
Destructor. |
|
Access |
|
double | Get (int pY, int pX) const |
Retrieve matrix element. |
|
KFbxVector4 | GetT () const |
Extract translation vector. |
|
KFbxVector4 | GetR () const |
Extract rotation vector. |
|
KFbxQuaternion | GetQ () const |
Extract quaternion vector. |
|
KFbxVector4 | GetS () const |
Extract scale vector. |
|
KFbxVector4 | GetRow (int pY) const |
Extract a row vector. |
|
KFbxVector4 | GetColumn (int pX) const |
Extract a column vector. |
|
void | SetIdentity () |
Set matrix to identity. |
|
void | SetT (const KFbxVector4 &pT) |
Set matrix's translation. |
|
void | SetR (const KFbxVector4 &pR) |
Set matrix's Euler rotation. |
|
void | SetQ (const KFbxQuaternion &pQ) |
Set matrix's quaternion. |
|
void | SetS (const KFbxVector4 &pS) |
Set matrix's scale. |
|
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. |
|
KFbxXMatrix & | operator= (const KFbxXMatrix &pM) |
Assignment operator. |
|
Scalar Operations |
|
KFbxXMatrix | operator* (double pValue) const |
Multiply matrix by a scalar value. |
|
KFbxXMatrix | operator/ (double pValue) const |
Divide matrix by a scalar value. |
|
KFbxXMatrix & | operator*= (double pValue) |
Multiply matrix by a scalar value. |
|
KFbxXMatrix & | operator/= (double pValue) |
Divide matrix by a scalar value. |
|
Vector Operations |
|
KFbxVector4 | MultT (const KFbxVector4 &pVector4) const |
Multiply matrix by a translation vector.
|
|
KFbxVector4 | MultR (const KFbxVector4 &pVector4) const |
Multiply matrix by an Euler rotation vector.
|
|
KFbxQuaternion | MultQ (const KFbxQuaternion &pQuaternion) const |
Multiply matrix by a quaternion. |
|
KFbxVector4 | MultS (const KFbxVector4 &pVector4) const |
Multiply matrix by a scale vector. |
|
Matrix Operations |
|
KFbxXMatrix | operator- () const |
Unary minus operator. |
|
KFbxXMatrix | operator* (const KFbxXMatrix &pXMatrix) const |
Multiply two matrices together. |
|
KFbxXMatrix & | operator*= (const KFbxXMatrix &pXMatrix) |
Multiply two matrices together. |
|
KFbxXMatrix | Inverse () const |
Calculate the matrix inverse. |
|
KFbxXMatrix | Transpose () const |
Calculate the matrix transpose. |
|
Boolean Operations |
|
bool | operator== (const KFbxXMatrix &pXMatrix) const |
Equivalence operator. |
|
bool | operator!= (const KFbxXMatrix &pXMatrix) const |
Non-equivalence operator. |
|
Casting |
|
typedef const | double (kDouble44)[4][4] |
Define 4*4 array as a new type. |
|
operator double * () | |
Cast the matrix in a double pointer.
|
|
operator const double * () const | |
Cast the matrix in a const double pointer.
|
|
kDouble44 & | Double44 () const |
Cast the matrix in a reference to a 4*4
array. |
|
Internal Casting |
|
KFbxXMatrix & | operator= (const KgeAMatrix &pAMatrix) |
operator KgeAMatrix & () |
typedef const double(kDouble44)[4][4] |
Define 4*4 array as a new type.
Definition at line 347 of file kfbxxmatrix.h.
KFbxXMatrix | ( | ) |
Constructor.
KFbxXMatrix | ( | const KFbxXMatrix & | pXMatrix | ) |
Copy constructor.
pXMatrix | KFbxXMatrix copied to this one. |
KFbxXMatrix | ( | const KFbxVector4 & | pT, |
const KFbxVector4 & | pR, | ||
const KFbxVector4 & | pS | ||
) |
Constructor.
pT | Translation vector. |
pR | Euler rotation vector. |
pS | Scale vector. |
~KFbxXMatrix | ( | ) |
Destructor.
double Get | ( | int | pY, |
int | pX | ||
) | const |
Retrieve matrix element.
pY | Row index. |
pX | Column index. |
KFbxVector4 GetT | ( | ) | const |
Extract translation vector.
KFbxVector4 GetR | ( | ) | const |
Extract rotation vector.
KFbxQuaternion GetQ | ( | ) | const |
KFbxVector4 GetS | ( | ) | const |
Extract scale vector.
KFbxVector4 GetRow | ( | int | pY | ) | const |
Extract a row vector.
pY | Row index. |
KFbxVector4 GetColumn | ( | int | pX | ) | const |
Extract a column vector.
pX | Column index. |
void SetIdentity | ( | ) |
void SetT | ( | const KFbxVector4 & | pT | ) |
Set matrix's translation.
pT | Translation vector. |
void SetR | ( | const KFbxVector4 & | pR | ) |
Set matrix's Euler rotation.
pR | X, Y and Z rotation values expressed as a vector. |
void SetQ | ( | const KFbxQuaternion & | pQ | ) |
void SetS | ( | const KFbxVector4 & | pS | ) |
Set matrix's scale.
pS | X, Y and Z scaling factors expressed as a vector. |
void SetTRS | ( | const KFbxVector4 & | pT, |
const KFbxVector4 & | pR, | ||
const KFbxVector4 & | pS | ||
) |
Set matrix.
pT | Translation vector. |
pR | Rotation vector. |
pS | Scale vector. |
void SetTQS | ( | const KFbxVector4 & | pT, |
const KFbxQuaternion & | pQ, | ||
const KFbxVector4 & | pS | ||
) |
Set matrix.
pT | Translation vector. |
pQ | Quaternion vector. |
pS | Scale vector. |
KFbxXMatrix& operator= | ( | const KFbxXMatrix & | pM | ) |
Assignment operator.
pM | KFbxXMatrix assigned to this one. |
KFbxXMatrix operator* | ( | double | pValue | ) | const |
Multiply matrix by a scalar value.
pValue | Scalar value. |
KFbxXMatrix operator/ | ( | double | pValue | ) | const |
Divide matrix by a scalar value.
pValue | Scalar value. |
KFbxXMatrix& operator*= | ( | double | pValue | ) |
Multiply matrix by a scalar value.
pValue | Scalar value. |
KFbxXMatrix& operator/= | ( | double | pValue | ) |
Divide matrix by a scalar value.
pValue | Scalar value. |
KFbxVector4 MultT | ( | const KFbxVector4 & | pVector4 | ) | const |
Multiply matrix by a translation vector.
pVector4 | Translation vector. |
KFbxVector4 MultR | ( | const KFbxVector4 & | pVector4 | ) | const |
Multiply matrix by an Euler rotation vector.
pVector4 | Euler Rotation vector. |
KFbxQuaternion MultQ | ( | const KFbxQuaternion & | pQuaternion | ) | const |
Multiply matrix by a quaternion.
pQuaternion | Rotation value. |
KFbxVector4 MultS | ( | const KFbxVector4 & | pVector4 | ) | const |
Multiply matrix by a scale vector.
pVector4 | Scaling vector. |
KFbxXMatrix operator- | ( | ) | const |
Unary minus operator.
KFbxXMatrix operator* | ( | const KFbxXMatrix & | pXMatrix | ) | const |
Multiply two matrices together.
pXMatrix | A Matrix. |
KFbxXMatrix lRotateXM, lRotateYM, lRotateZM, lRotateXYZM, lRotateM; // Construct rotation matrix around X, Y and Z axises separately and then combine them. KFbxVector4 lRotateX(10, 0, 0); KFbxVector4 lRotateY(0, 10, 0); KFbxVector4 lRotateZ(0, 0, 10); lRotateXM.SetR(lRotateX); lRotateYM.SetR(lRotateY); lRotateZM.SetR(lRotateZ); lRotateXYZM = lRotateZM * lRotateYM * lRotateXM; // Alternatively, we can use SetR() directly. // lRotateXYZM and lRotateM will be the same. KFbxVector4 lRotateXYZ (10, 10, 10); lRotateM.SetR(lRotateXYZ);
KFbxXMatrix& operator*= | ( | const KFbxXMatrix & | pXMatrix | ) |
Multiply two matrices together.
pXMatrix | A Matrix. |
KFbxXMatrix Inverse | ( | ) | const |
Calculate the matrix inverse.
KFbxXMatrix Transpose | ( | ) | const |
bool operator== | ( | const KFbxXMatrix & | pXMatrix | ) | const |
Equivalence operator.
pXMatrix | The matrix to be compared to this. |
true
if the two matrices are equal (each element
is within a 1.0e-6 tolerance) and false
otherwise.bool operator!= | ( | const KFbxXMatrix & | pXMatrix | ) | const |
Non-equivalence operator.
pXMatrix | The matrix to be compared to this. |
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.
operator const double * | ( | ) | const |
Cast the matrix in a const double pointer.
kDouble44& Double44 | ( | ) | const [inline] |
Cast the matrix in a reference to a 4*4 array.
Definition at line 349 of file kfbxxmatrix.h.
{ return *((kDouble44 *)&mData); }
void V2M | ( | KFbxXMatrix & | pMatrix, |
const KFbxVector4 & | pVector, | ||
ERotationOrder | pRotationOrder | ||
) |
void M2V | ( | KFbxVector4 & | pVector, |
const KFbxXMatrix & | pMatrix, | ||
ERotationOrder | pRotationOrder | ||
) |
KFbxXMatrix& operator= | ( | const KgeAMatrix & | pAMatrix | ) |
operator KgeAMatrix & | ( | ) |