#ifndef MATRIX_H #define MATRIX_H #include "vector.h" namespace vb01{ struct Matrix{ int dim[2]; float **matrix; Matrix(float**, int, int); Matrix(Vector3,Vector3,Vector3); Matrix& operator+ (Matrix&); Matrix& operator- (Matrix&); Matrix operator* (Matrix&); Vector3 operator* (Vector3); inline float* operator[](int i){return matrix[i];} template Matrix& operator+ (T); template Matrix& operator- (T); template Matrix& operator* (T); template Matrix& operator/ (T); void transpose(); Matrix getSubMatrix(int, int); void invert(); float getMinor(int, int); float getCofactor(int, int); float getDeterminant(); }; } #endif