From f14bfe36478e7d581eba54a678b3da5863706b37 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 22 Feb 2015 15:20:16 +0000 Subject: Small optimizations. --- src/math/matrix4f.cc | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'src/math/matrix4f.cc') diff --git a/src/math/matrix4f.cc b/src/math/matrix4f.cc index caccae6..4602190 100644 --- a/src/math/matrix4f.cc +++ b/src/math/matrix4f.cc @@ -29,28 +29,32 @@ Matrix4f::Matrix4f(const Axis & axis) void Matrix4f::clear() { - memset(matrix, 0, sizeof(matrix)); + memset(_matrix, 0, sizeof(float) * 16); } void Matrix4f::unity() { - memset(matrix, 0, sizeof(matrix)); + memset(_matrix, 0, sizeof(float) * 16); for (int i = 0; i < 4; i++) - matrix[i][i] = 1; + { + _matrix[i][i] = 1; + } } void Matrix4f::assign(const Matrix4f & other) { - memcpy(matrix, other.matrix, sizeof(matrix)); + memcpy(_matrix, other._matrix, sizeof(float) * 16); } void Matrix4f::assign(const Axis & axis) { - memset(matrix, 0, sizeof(matrix)); for (int i = 0; i < 3; i++) { - memcpy(&matrix[i][0], axis[i].ptr(), sizeof(float) * 3); + memcpy(&_matrix[i][0], axis[i].ptr(), sizeof(float) * 3); } - matrix[3][3] = 1; + _matrix[3][0] = 0; + _matrix[3][1] = 0; + _matrix[3][2] = 0; + _matrix[3][3] = 1; } Matrix4f & Matrix4f::operator=(const Matrix4f &other) @@ -65,13 +69,17 @@ Matrix4f & Matrix4f::operator=(const Axis & axis) return(*this); } -Matrix4f const Matrix4f::transpose() +const Matrix4f Matrix4f::transpose() const { Matrix4f t; for (size_t i = 0; i < 4; i++) + { for (size_t j = 0; j < 4; j++) - t.matrix[j][i] = matrix[i][j]; + { + t._matrix[j][i] = _matrix[i][j]; + } + } return t; } -- cgit v1.2.3