/* 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); } } }