nuclear@13: #ifndef MATRIX_H_ nuclear@13: #define MATRIX_H_ nuclear@13: nuclear@13: class Matrix4x4 { nuclear@13: public: nuclear@13: float m[16]; nuclear@13: nuclear@13: Matrix4x4(); nuclear@13: Matrix4x4(const float *mat); nuclear@13: Matrix4x4(float m00, float m01, float m02, float m03, nuclear@13: float m10, float m11, float m12, float m13, nuclear@13: float m20, float m21, float m22, float m23, nuclear@13: float m30, float m31, float m32, float m33); nuclear@13: Matrix4x4(const Matrix4x4 &mat); nuclear@13: Matrix4x4 &operator =(const Matrix4x4 &mat); nuclear@13: nuclear@13: void identity(); nuclear@13: nuclear@13: float determinant() const; nuclear@13: Matrix4x4 adjoint() const; nuclear@13: void invert(); nuclear@13: void transpose(); nuclear@13: nuclear@13: nuclear@13: float *operator [](int idx); nuclear@13: const float *operator [](int idx) const; nuclear@13: }; nuclear@13: nuclear@13: nuclear@13: #endif /* MATRIX_H_ */