00001 00002 #ifndef MMATRIX_H 00003 #define MMATRIX_H 00004 00005 #define MAX_MMATRIX_M 5 00006 #define MAX_MMATRIX_N 5 00007 00009 00015 class MMatrix { 00016 public: 00017 MMatrix (int m = 1, int n = 1); // create a mathematical mxn matrix (note: m = y, n = x !) 00018 ~MMatrix (); 00019 00020 int getM; 00021 int getN; 00022 00023 void set (int m, int n, GLfloat val) ; 00024 GLfloat get (int m, int n); 00025 00026 MMatrix trans (); // I don't know the english translations of these operations 00027 MMatrix homogen (); // in german: Transponierte der Matrix, Homogenisierte Matrix und wieder reduzierte Matrix 00028 MMatrix reduce (); 00029 00030 MMatrix operator= (MMatrix m); 00031 MMatrix operator= (Vector v); 00032 MMatrix operator+ (MMatrix m); 00033 MMatrix operator- (MMatrix m); 00034 MMatrix operator* (MMatrix m); 00035 00036 private: 00037 int dimM, dimN; 00038 00039 GLfloat mat[MAX_MMATRIX_M][MAX_MMATRIX_N]; 00040 }; 00041 00042 #endif