12345678910111213141516171819202122232425262728293031323334353637 |
- #ifndef MATRIX_H
- #define MATRIX_H
- #include <iostream>
- class Matrix final {
- public:
- Matrix();
- Matrix& set(const Matrix& other);
- Matrix& setToIdentity();
- Matrix& set(unsigned int index, float f);
- const float* getValues() const;
- Matrix& mul(const Matrix& m);
- Matrix& scale(float sx, float sy, float sz);
- Matrix& scale(float s);
- Matrix& translate(float tx, float ty, float tz);
- Matrix& translateX(float tx);
- Matrix& translateY(float ty);
- Matrix& translateZ(float tz);
- Matrix& translateTo(float tx, float ty, float tz);
- Matrix& rotateX(float degrees);
- Matrix& rotateY(float degrees);
- Matrix& rotateZ(float degrees);
- private:
- float data[16];
- };
- std::ostream& operator<<(std::ostream& os, const Matrix& m);
- #endif
|