diff options
Diffstat (limited to 'engine/matrix.cpp')
-rw-r--r-- | engine/matrix.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/engine/matrix.cpp b/engine/matrix.cpp index 96c539c..5970123 100644 --- a/engine/matrix.cpp +++ b/engine/matrix.cpp @@ -14,6 +14,22 @@ Matrix2::Matrix2(float m00, float m01, float m10, float m11) { m[1][1] = m11; } +Matrix2 Matrix2::operator*(const Matrix2& mat) { + return Matrix2( + m[0][0] * mat.m[0][0] + m[0][1] * mat.m[1][0], + m[0][0] * mat.m[0][1] + m[0][1] * mat.m[1][1], + m[1][0] * mat.m[0][0] + m[1][1] * mat.m[1][0], + m[1][0] * mat.m[0][1] + m[1][1] * mat.m[1][1]); +} + +Matrix2 Matrix2::operator*(float f) { + return Matrix2( + m[0][0] * f, + m[0][1] * f, + m[1][0] * f, + m[1][1] * f); +} + Vector2 Matrix2::operator*(const Vector2& v) { return Vector2( m[0][0] * v.x + m[0][1] * v.y, |