kfbxmatrix.h
Go to the documentation of this file.00001
00004 #ifndef _FBXSDK_MATRIX_H_
00005 #define _FBXSDK_MATRIX_H_
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #include <kaydaradef.h>
00044 #ifndef KFBX_DLL
00045 #define KFBX_DLL K_DLLIMPORT
00046 #endif
00047
00048 #include <kaydara.h>
00049
00050 #include <kfbxmath/kfbxvector4.h>
00051
00052 #include <fbxfilesdk_nsbegin.h>
00053
00054 class KFbxQuaternion;
00055 class KFbxXMatrix;
00056
00057
00061 class KFBX_DLL KFbxMatrix
00062 {
00063
00064 public:
00065
00070
00072 KFbxMatrix ();
00073
00075 KFbxMatrix (const KFbxMatrix& pM);
00076
00082 KFbxMatrix (KFbxVector4& pT,
00083 KFbxVector4& pR,
00084 KFbxVector4& pS);
00085
00091 KFbxMatrix (KFbxVector4& pT,
00092 KFbxQuaternion& pQ,
00093 KFbxVector4& pS);
00094
00098 KFbxMatrix (const KFbxXMatrix& pM);
00099
00101 ~KFbxMatrix ();
00102
00104
00109
00115 double Get(int pY, int pX);
00116
00121 KFbxVector4 GetRow(int pY);
00122
00127 KFbxVector4 GetColumn(int pX);
00128
00134 void Set(int pY, int pX, double pValue);
00135
00137 void SetIdentity();
00138
00144 void SetTRS(KFbxVector4& pT,
00145 KFbxVector4& pR,
00146 KFbxVector4& pS);
00147
00153 void SetTQS(KFbxVector4& pT,
00154 KFbxQuaternion& pQ,
00155 KFbxVector4& pS);
00156
00161 void SetRow(int pY, KFbxVector4& pRow);
00162
00167 void SetColumn(int pX, KFbxVector4& pColumn);
00168
00172 KFbxMatrix& operator=(const KFbxMatrix& pMatrix);
00173
00175
00180
00184 KFbxMatrix operator-();
00185
00190 KFbxMatrix operator+(KFbxMatrix& pMatrix);
00191
00196 KFbxMatrix operator-(KFbxMatrix& pMatrix);
00197
00202 KFbxMatrix operator*(KFbxMatrix& pMatrix);
00203
00208 KFbxMatrix& operator+=(KFbxMatrix& pMatrix);
00209
00214 KFbxMatrix& operator-=(KFbxMatrix& pMatrix);
00215
00220 KFbxMatrix& operator*=(KFbxMatrix& pMatrix);
00221
00225 KFbxMatrix Transpose();
00226
00228
00233
00238 bool operator==(KFbxMatrix& pM);
00239
00244 bool operator==(KFbxXMatrix& pM);
00245
00250 bool operator!=(KFbxMatrix& pM);
00251
00252
00257 bool operator!=(KFbxXMatrix& pM);
00258
00259
00261
00266
00268 operator double* ();
00269
00271
00272
00273 double mData[4][4];
00274
00275 };
00276
00277 #include <fbxfilesdk_nsend.h>
00278
00279 #endif // #ifndef _FBXSDK_MATRIX_H_
00280
00281