Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-04-05 10:52:39 +0000
committerStijn Buys <ingar@osirion.org>2008-04-05 10:52:39 +0000
commit25d2c764443723eb7a3dd5f8bf0b76586c1ff10b (patch)
treeb9cc681a3ff20900b32ce287505d018e0a7ae35f /src/math/axis.cc
parent49e268d1b4244948e49a11612501a743e311fbaf (diff)
Makefile.am updates, math::Axis, improved VertexArray, r_arraysize
Diffstat (limited to 'src/math/axis.cc')
-rw-r--r--src/math/axis.cc54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/math/axis.cc b/src/math/axis.cc
new file mode 100644
index 0000000..7bd5262
--- /dev/null
+++ b/src/math/axis.cc
@@ -0,0 +1,54 @@
+/*
+ math/axis.cc
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+// project headers
+#include "math/axis.h"
+
+namespace math
+{
+
+Axis::Axis()
+{
+ clear();
+}
+
+Axis::Axis(const Axis & other) {
+ assign(other);
+}
+
+void Axis::clear()
+{
+ axis_vector[0] = Vector3f(1.0f, 0.0f, 0.0f);
+ axis_vector[1] = Vector3f(0.0f, 1.0f, 0.0f);
+ axis_vector[2] = Vector3f(0.0f, 0.0f, 1.0f);
+}
+
+void Axis::assign(const Axis & other) {
+ for (size_t i=0; i < 3; i++) {
+ axis_vector[i].assign(other.axis_vector[i]);
+ }
+}
+
+Axis & Axis::operator=(const Axis & other) {
+ assign(other);
+ return *this;
+}
+
+// alter heading, rotate around Z-axis (positive is left)
+void Axis::direction(const float angle) {
+ for (size_t i=0; i < 3; i++) {
+ //axis_vector[i].rotate(axis_vector[2], angle);
+ }
+}
+
+// alter heading, rotate around negative Y-axis (positive is up)
+void Axis::pitch(const float pitch) {
+ for (size_t i=0; i < 3; i++) {
+ //axis_vector[i].rotate(axis_vector[1], -angle);
+ }
+}
+
+}