diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-05-24 16:17:06 +0200 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2010-05-24 16:17:06 +0200 |
commit | 5c21b67a04bd847d7f04042a0ddc0bc4629d20e7 (patch) | |
tree | 13804287f886e90d71c9c4248996d452be79f0c1 /engine/matrix.cpp | |
parent | 6952f8fa7e92d5ea0bf955d13c1bf0d95aa27b1a (diff) |
Added matrix-matrix and matrix-constant multiplication.
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, |