#ifndef CMATRIX_H #define CMATRIX_H #include "cvector3d.h" #include "cquat.h" class CMatrix { public: CMatrix(); ~CMatrix(); void Multiply(CMatrix* matrix); void TransformVector3D(CVector3D* Vector); void LoadIdentity(); void Scale(CVector3D* Vector); void Translate(CVector3D* Vector); void Rotate(CQuat *Quat); float Matrix[16]; void CMatrix::operator=(const CMatrix&other) { int i; for(i=0;i<16;i++) Matrix[i]=other.Matrix[i]; } protected: private: }; #endif // CMATRIX_H #ifndef CQUAT_H #define CQUAT_H #include "cvector3d.h" #include "cmatrix.h" class CQuat { public: CQuat(); virtual ~CQuat(); void ToMatrix(CMatrix *matrix); float x,y,z,w; }; #endif // CQUAT_H