From 5c21b67a04bd847d7f04042a0ddc0bc4629d20e7 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Mon, 24 May 2010 16:17:06 +0200 Subject: Added matrix-matrix and matrix-constant multiplication. --- engine/matrix.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'engine/matrix.cpp') 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, -- cgit v1.2.3