Added AcTan method to Globals for use in observer calculations

feature/19
Daniel Warner 2011-04-09 21:39:13 +01:00
parent bbdf25f3cf
commit e395b21ce0
2 changed files with 25 additions and 6 deletions

View File

@ -6,7 +6,8 @@ Globals::Globals(void) {
Globals::~Globals(void) { Globals::~Globals(void) {
} }
double Globals::Fmod2p(const double& arg) { double Globals::Fmod2p(const double arg) {
double modu = fmod(arg, TWOPI()); double modu = fmod(arg, TWOPI());
if (modu < 0.0) if (modu < 0.0)
modu += TWOPI(); modu += TWOPI();
@ -14,10 +15,27 @@ double Globals::Fmod2p(const double& arg) {
return modu; return modu;
} }
double Globals::Deg2Rad(const double& deg) { double Globals::Deg2Rad(const double deg) {
return deg * PI() / 180.0; return deg * PI() / 180.0;
} }
double Globals::Rad2Deg(const double& rad) { double Globals::Rad2Deg(const double rad) {
return rad * 180.0 / PI(); 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);
}
}

View File

@ -65,9 +65,10 @@ public:
return 2451545.0; return 2451545.0;
} }
static double Fmod2p(const double& arg); static double Fmod2p(const double arg);
static double Deg2Rad(const double& deg); static double Deg2Rad(const double deg);
static double Rad2Deg(const double& rad); static double Rad2Deg(const double rad);
static double AcTan(const double sinx, const double cosx);
}; };
#endif #endif