summaryrefslogtreecommitdiff
path: root/engine/matrix.cpp
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2010-05-24 16:17:06 +0200
committerVegard Storheil Eriksen <zyp@jvnv.net>2010-05-24 16:17:06 +0200
commit5c21b67a04bd847d7f04042a0ddc0bc4629d20e7 (patch)
tree13804287f886e90d71c9c4248996d452be79f0c1 /engine/matrix.cpp
parent6952f8fa7e92d5ea0bf955d13c1bf0d95aa27b1a (diff)
Added matrix-matrix and matrix-constant multiplication.
Diffstat (limited to 'engine/matrix.cpp')
-rw-r--r--engine/matrix.cpp16
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,