X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fephemeris%2FcelestialBody.hxx;h=43b1d480d2017c98c631f0638086e381bc38903d;hb=a0bdec284624820feb0a96a06c0c38e2f07d5e4e;hp=e477c65c5735cab0b85f580160c884ffd95d4339;hpb=a7459489ff6624d5696814d0165d399220cef09d;p=simgear.git diff --git a/simgear/ephemeris/celestialBody.hxx b/simgear/ephemeris/celestialBody.hxx index e477c65c..43b1d480 100644 --- a/simgear/ephemeris/celestialBody.hxx +++ b/simgear/ephemeris/celestialBody.hxx @@ -87,113 +87,6 @@ public: void updatePosition(double mjd, Star *ourSun); }; -/***************************************************************************** - * inline CelestialBody::CelestialBody - * public constructor for a generic celestialBody object. - * initializes the 6 primary orbital elements. The elements are: - * N: longitude of the ascending node - * i: inclination to the ecliptic - * w: argument of perihelion - * a: semi-major axis, or mean distance from the sun - * e: eccenticity - * M: mean anomaly - * Each orbital element consists of a constant part and a variable part that - * gradually changes over time. - * - * Argumetns: - * the 13 arguments to the constructor constitute the first, constant - * ([NiwaeM]f) and the second variable ([NiwaeM]s) part of the orbital - * elements. The 13th argument is the current time. Note that the inclination - * is written with a capital (If, Is), because 'if' is a reserved word in the - * C/C++ programming language. - ***************************************************************************/ -inline CelestialBody::CelestialBody(double Nf, double Ns, - double If, double Is, - double wf, double ws, - double af, double as, - double ef, double es, - double Mf, double Ms, double mjd) -{ - NFirst = Nf; NSec = Ns; - iFirst = If; iSec = Is; - wFirst = wf; wSec = ws; - aFirst = af; aSec = as; - eFirst = ef; eSec = es; - MFirst = Mf; MSec = Ms; - updateOrbElements(mjd); -} - -inline CelestialBody::CelestialBody(double Nf, double Ns, - double If, double Is, - double wf, double ws, - double af, double as, - double ef, double es, - double Mf, double Ms) -{ - NFirst = Nf; NSec = Ns; - iFirst = If; iSec = Is; - wFirst = wf; wSec = ws; - aFirst = af; aSec = as; - eFirst = ef; eSec = es; - MFirst = Mf; MSec = Ms; -} - -/**************************************************************************** - * inline void CelestialBody::updateOrbElements(double mjd) - * given the current time, this private member calculates the actual - * orbital elements - * - * Arguments: double mjd: the current modified julian date: - * - * return value: none - ***************************************************************************/ -inline void CelestialBody::updateOrbElements(double mjd) -{ - double actTime = sgCalcActTime(mjd); - M = SGD_DEGREES_TO_RADIANS * (MFirst + (MSec * actTime)); - w = SGD_DEGREES_TO_RADIANS * (wFirst + (wSec * actTime)); - N = SGD_DEGREES_TO_RADIANS * (NFirst + (NSec * actTime)); - i = SGD_DEGREES_TO_RADIANS * (iFirst + (iSec * actTime)); - e = eFirst + (eSec * actTime); - a = aFirst + (aSec * actTime); -} -/***************************************************************************** - * inline double CelestialBody::sgCalcActTime(double mjd) - * this private member function returns the offset in days from the epoch for - * wich the orbital elements are calculated (Jan, 1st, 2000). - * - * Argument: the current time - * - * return value: the (fractional) number of days until Jan 1, 2000. - ****************************************************************************/ -inline double CelestialBody::sgCalcActTime(double mjd) -{ - return (mjd - 36523.5); -} - -/***************************************************************************** - * inline void CelestialBody::getPos(double* ra, double* dec) - * gives public access to Right Ascension and declination - * - ****************************************************************************/ -inline void CelestialBody::getPos(double* ra, double* dec) -{ - *ra = rightAscension; - *dec = declination; -} - -/***************************************************************************** - * inline void CelestialBody::getPos(double* ra, double* dec, double* magnitude - * gives public acces to the current Right ascension, declination, and - * magnitude - ****************************************************************************/ -inline void CelestialBody::getPos(double* ra, double* dec, double* magn) -{ - *ra = rightAscension; - *dec = declination; - *magn = magnitude; -} - inline double CelestialBody::getRightAscension() { return rightAscension; } inline double CelestialBody::getDeclination() { return declination; } inline double CelestialBody::getMagnitude() { return magnitude; } @@ -210,14 +103,3 @@ inline double CelestialBody::getLat() #endif // _CELESTIALBODY_H_ - - - - - - - - - - -