From e395b21ce02b3459e1b98f3c1af54132917989fd Mon Sep 17 00:00:00 2001 From: Daniel Warner Date: Sat, 9 Apr 2011 21:39:13 +0100 Subject: [PATCH] Added AcTan method to Globals for use in observer calculations --- Globals.cpp | 24 +++++++++++++++++++++--- Globals.h | 7 ++++--- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/Globals.cpp b/Globals.cpp index a2e2179..fd798ec 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -6,7 +6,8 @@ Globals::Globals(void) { Globals::~Globals(void) { } -double Globals::Fmod2p(const double& arg) { +double Globals::Fmod2p(const double arg) { + double modu = fmod(arg, TWOPI()); if (modu < 0.0) modu += TWOPI(); @@ -14,10 +15,27 @@ double Globals::Fmod2p(const double& arg) { return modu; } -double Globals::Deg2Rad(const double& deg) { +double Globals::Deg2Rad(const double deg) { + return deg * PI() / 180.0; } -double Globals::Rad2Deg(const double& rad) { +double Globals::Rad2Deg(const double rad) { + return rad * 180.0 / PI(); } + +double Globals::AcTan(const double sinx, const double cosx) { + + if (cosx == 0.0) { + if (sinx > 0.0) + return PI() / 2.0; + else + return 3.0 * PI() / 2.0; + } else { + if (cosx > 0.0) + return atan(sinx / cosx); + else + return PI() + atan(sinx / cosx); + } +} \ No newline at end of file diff --git a/Globals.h b/Globals.h index 320d158..9910f25 100644 --- a/Globals.h +++ b/Globals.h @@ -65,9 +65,10 @@ public: return 2451545.0; } - static double Fmod2p(const double& arg); - static double Deg2Rad(const double& deg); - static double Rad2Deg(const double& rad); + static double Fmod2p(const double arg); + static double Deg2Rad(const double deg); + static double Rad2Deg(const double rad); + static double AcTan(const double sinx, const double cosx); }; #endif