Krig Game Engine
matrix.h
1 
7 #ifndef _MATRIX_H_
8 #define _MATRIX_H_
9 
10 #include <math.h>
11 #include <stdio.h>
12 
13 #define NUM_CELLS 16 // 4 X 4
14 
15 class Matrix {
16  public:
17  float data[NUM_CELLS];
18 
19  Matrix();
20  Matrix(const Matrix&);
21  Matrix(
22  const float &, const float &, const float &, const float &,
23  const float &, const float &, const float &, const float &,
24  const float &, const float &, const float &, const float &,
25  const float &, const float &, const float &, const float &
26  );
27 
28  void loadIdentity();
29  void loadZero();
30 
31  void operator =(const Matrix &);
32  Matrix operator *(const Matrix &);
33 
34  void transpose(Matrix&);
35  void setRotation(const float &, const float &, const float &, const float &);
36  void setRotation2(const float &, const float &, const float &);
37  void setTranslation(const float &, const float &, const float &);
38  void setScale(const float &, const float &, const float &);
39  void setShadow(float lightPos[4], float plane[4]);
40  void transformVertex(float* , float*);
41  void display();
42 
43  void CreateFromAxisAngle(const float &, const float &, const float &, const float &);
44  void CreateFromAxisAngles(const float &, const float &, const float &, const float &);
45 
46  void fix();
47 };
48 
49 #endif
Definition: matrix.h:15