//2DMatrix.h #ifndef MATRIX2D_H_ #define MATRIX2D_H_ #include namespace Turbulence { class Matrix2D { public: Matrix2D(); Matrix2D(float x1, float y1, float x2, float y2); Matrix2D(const Matrix2D& matrix); hgeVector VectorRotation(float angle, hgeVector vector); Matrix2D ScaleMatrix(float scale); void SetMatrix(float x1, float y1, float x2, float y2); Matrix2D operator*(const Matrix2D &matrix2d); Matrix2D operator+(const Matrix2D &matrix2d); Matrix2D operator-(const Matrix2D &matrix2d); Matrix2D operator=(const Matrix2D &matrix2d); Matrix2D operator*=(const Matrix2D &matrix2d) {return *this * matrix2d;}; Matrix2D operator+=(const Matrix2D &matrix2d) {return *this + matrix2d;}; Matrix2D operator-=(const Matrix2D &matrix2d) {return *this - matrix2d;}; protected: private: float mMatrix[4]; }; } #endif