Ephemeris class. More...
#include <ephemeris.hxx>
Public Member Functions | |
SGEphemeris (const std::string &path) | |
Constructor. | |
~SGEphemeris (void) | |
Destructor. | |
void | update (double mjd, double lst, double lat) |
Update (recalculate) the positions of all objects for the specified time. | |
Star * | get_sun () const |
double | getSunRightAscension () const |
double | getSunDeclination () const |
MoonPos * | get_moon () const |
double | getMoonRightAscension () const |
double | getMoonDeclination () const |
int | getNumPlanets () const |
SGVec3d * | getPlanets () |
Returns a pointer to an array of planet data in sgdVec3 format. | |
int | getNumStars () const |
SGVec3d * | getStars () |
Returns a pointer to an array of star data in sgdVec3 format. |
Ephemeris class.
Written by Durk Talsma <d.talsma@direct.a2000.nl> and Curtis Olson <http://www.flightgear.org/~curt>
Introduction
The SGEphemeris class computes and stores the positions of the Sun, the Moon, the planets, and the brightest stars. These positions can then be used to accurately render the dominant visible items in the Earth's sky. Note, this class isn't intended for use in an interplanetary/interstellar/intergalactic type application. It is calculates everything relative to the Earth and is therefore best suited for Earth centric applications.
The positions of the various astronomical objects are time dependent, so to maintain accuracy, you will need to periodically call the update() method. The SGTime class conveniently provides the two time related values you need to pass to the update() method.
Definition at line 71 of file ephemeris.hxx.
SGEphemeris::SGEphemeris | ( | const std::string & | path | ) |
Constructor.
This creates an instance of the SGEphemeris object. When calling the constructor you need to provide a path pointing to your star database file.
path | path to your star database |
Definition at line 34 of file ephemeris.cxx.
MoonPos* SGEphemeris::get_moon | ( | ) | const [inline] |
Definition at line 137 of file ephemeris.hxx.
Star* SGEphemeris::get_sun | ( | ) | const [inline] |
Definition at line 121 of file ephemeris.hxx.
double SGEphemeris::getMoonDeclination | ( | ) | const [inline] |
Definition at line 145 of file ephemeris.hxx.
double SGEphemeris::getMoonRightAscension | ( | ) | const [inline] |
Definition at line 140 of file ephemeris.hxx.
int SGEphemeris::getNumPlanets | ( | ) | const [inline] |
Definition at line 150 of file ephemeris.hxx.
int SGEphemeris::getNumStars | ( | ) | const [inline] |
Definition at line 164 of file ephemeris.hxx.
SGVec3d* SGEphemeris::getPlanets | ( | ) | [inline] |
Returns a pointer to an array of planet data in sgdVec3 format.
(See plib.sourceforge.net for information on plib and the ``sg'' package.) An sgdVec3 is a 3 element double array. The first element is the right ascension of the planet, the second is the declination, and the third is the magnitude.
Definition at line 160 of file ephemeris.hxx.
SGVec3d* SGEphemeris::getStars | ( | ) | [inline] |
Returns a pointer to an array of star data in sgdVec3 format.
An The first element of the sgdVec3 is the right ascension of the planet, the second is the declination, and the third is the magnitude.
Definition at line 173 of file ephemeris.hxx.
double SGEphemeris::getSunDeclination | ( | ) | const [inline] |
Definition at line 129 of file ephemeris.hxx.
double SGEphemeris::getSunRightAscension | ( | ) | const [inline] |
Definition at line 124 of file ephemeris.hxx.
void SGEphemeris::update | ( | double | mjd, | |
double | lst, | |||
double | lat | |||
) |
Update (recalculate) the positions of all objects for the specified time.
The update() method requires you to pass in the current modified Julian date, the current local sidereal time, and the current latitude. The update() method is designed to be called by the host application before every frame.
mjd | modified julian date | |
lst | current local sidereal time | |
lat | current latitude |
Definition at line 68 of file ephemeris.cxx.