src/matrix.h

changeset 8
44679e468ba9
child 11
771168ee2c76
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/matrix.h	Sun Nov 03 12:17:41 2019 +0200
@@ -0,0 +1,21 @@
+#pragma once
+#include <QMetaType>
+
+template<int Rows, int Columns, typename T = double>
+struct Matrix
+{
+	T values[Rows][Columns];
+	T& operator()(int row, int column)
+	{
+		return this->values[row][column];
+	}
+	T operator()(int row, int column) const
+	{
+		return this->values[row][column];
+	}
+};
+
+using Matrix3x3 = Matrix<3, 3>;
+Q_DECLARE_METATYPE(Matrix3x3);
+using Matrix4x4 = Matrix<4, 4>;
+Q_DECLARE_METATYPE(Matrix4x4);

mercurial