#include <ephemeris.hxx>
Public Member Functions | |
| SGEphemeris (const 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 |
| |
| sgdVec3 * | getPlanets () |
| Returns a pointer to an array of planet data in sgdVec3 format. | |
| int | getNumStars () const |
| |
| sgdVec3 * | getStars () |
| Returns a pointer to an array of star data in sgdVec3 format. | |
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 69 of file ephemeris.hxx.
| SGEphemeris::SGEphemeris | ( | const 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.
| 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 69 of file ephemeris.cxx.
References CelestialBody::getPos(), Neptune::updatePosition(), Uranus::updatePosition(), Saturn::updatePosition(), Jupiter::updatePosition(), Mars::updatePosition(), Venus::updatePosition(), Mercury::updatePosition(), MoonPos::updatePosition(), and Star::updatePosition().
| sgdVec3* 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 158 of file ephemeris.hxx.
| sgdVec3* 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 170 of file ephemeris.hxx.
References SGStarData::getStars().
1.5.1