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