00001 #ifndef MATRIX_H 00002 #define MATRIX_H 00003 00004 #include "vector.h" 00005 00006 00007 class Matrix4x4 { 00008 private: 00009 float mat[4][4]; 00010 public: 00011 Matrix4x4(); 00012 Matrix4x4(float m11, float m12, float m13, float m14, 00013 float m21, float m22, float m23, float m24, 00014 float m31, float m32, float m33, float m34, 00015 float m41, float m42, float m43, float m44); 00016 Matrix4x4(Matrix4x4 *matrix); 00017 const VECTOR operator * (const VECTOR& vec) const; 00018 void identity(); 00019 void transpose(); 00020 void rotation(VECTOR from, VECTOR to); 00021 void rotateX(float alpha); 00022 void rotateY(float alpha); 00023 void rotateZ(float alpha); 00024 Matrix4x4 mul(Matrix4x4 m); 00025 void translate(VECTOR a); 00026 }; 00027 00028 00029 #endif