SGEphemeris Class Reference

Ephemeris class. More...

#include <ephemeris.hxx>

List of all members.

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
SGVec3dgetPlanets ()
 Returns a pointer to an array of planet data in sgdVec3 format.
int getNumStars () const
SGVec3dgetStars ()
 Returns a pointer to an array of star data in sgdVec3 format.

Detailed Description

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.


Constructor & Destructor Documentation

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.

Parameters:
path path to your star database

Definition at line 34 of file ephemeris.cxx.


Member Function Documentation

MoonPos* SGEphemeris::get_moon (  )  const [inline]
Returns:
a pointer to a Moon class containing all the positional information for Earth's Moon.

Definition at line 137 of file ephemeris.hxx.

Star* SGEphemeris::get_sun (  )  const [inline]
Returns:
a pointer to a Star class containing all the positional information for Earth's Sun.

Definition at line 121 of file ephemeris.hxx.

double SGEphemeris::getMoonDeclination (  )  const [inline]
Returns:
the declination of the Moon.

Definition at line 145 of file ephemeris.hxx.

double SGEphemeris::getMoonRightAscension (  )  const [inline]
Returns:
the right ascension of the Moon.

Definition at line 140 of file ephemeris.hxx.

int SGEphemeris::getNumPlanets (  )  const [inline]
Returns:
the numbers of defined planets.

Definition at line 150 of file ephemeris.hxx.

int SGEphemeris::getNumStars (  )  const [inline]
Returns:
the numbers of defined stars.

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.

Returns:
planets array

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.

Returns:
star array

Definition at line 173 of file ephemeris.hxx.

double SGEphemeris::getSunDeclination (  )  const [inline]
Returns:
the declination of the Sun.

Definition at line 129 of file ephemeris.hxx.

double SGEphemeris::getSunRightAscension (  )  const [inline]
Returns:
the right ascension of the Sun.

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.

Parameters:
mjd modified julian date
lst current local sidereal time
lat current latitude

Definition at line 68 of file ephemeris.cxx.


The documentation for this class was generated from the following files:

Generated on 23 Feb 2010 for SimGear by  doxygen 1.6.1