From 847f84e1e3797277407bc34f5acc51b801b2bf29 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Thu, 18 Nov 2010 13:50:47 +0000 Subject: Unified radiant angles conversion into a single math::Axis.assign() method, corrected transformation order. Removed unnecessary model::LIGHTSCALE constant, light and flare sizes are rescaled according to the global model::SCALE. Added gl::depthfunc, enabled GL_LEQUAL while drawing lights and flares. --- src/math/axis.cc | 11 +++++++++++ src/math/axis.h | 7 +++++++ 2 files changed, 18 insertions(+) (limited to 'src/math') diff --git a/src/math/axis.cc b/src/math/axis.cc index 3710c89..60d3797 100644 --- a/src/math/axis.cc +++ b/src/math/axis.cc @@ -44,6 +44,17 @@ void Axis::assign(const btMatrix3x3 & other) } } +void Axis::assign(const float yaw, const float pitch, const float roll) +{ + clear(); + if (yaw) + change_direction(yaw); + if (pitch) + change_pitch(-pitch); + if (roll) + change_roll(-roll); +} + Axis & Axis::operator=(const Axis & other) { assign(other); diff --git a/src/math/axis.h b/src/math/axis.h index f9da159..3991843 100644 --- a/src/math/axis.h +++ b/src/math/axis.h @@ -26,6 +26,13 @@ public: void assign(const Axis & other); void assign(const btMatrix3x3 & other); + + /** + * @brief assign radiant yaw, pitch and roll angles. + * This method changes the sign of the pitch and roll angles + * before applying them + */ + void assign(const float yaw, const float pitch, const float roll); /// global coordinates of the X-axis in the local coordinates system inline const Vector3f & forward() const { -- cgit v1.2.3