periapsis::space Namespace Reference


Classes

class  atmosphere
class  body_rotator
 Base class for celestial body rotators. More...
class  celestial_body
 Base class for celestial bodies: stars, planets, asteroids, etc. More...
class  clipmap_ring
class  galaxy
class  gas_body
class  gas_body_atmosphere
class  keplerian_element_propagator
 Propagates using 6 Keplerian elements and rates:. More...
class  large_lithosphere
class  large_rocky_body
class  lithosphere
class  lithosphere_qt_node
 Quadtree nodes for the lithosphere quadtree. More...
class  lithosphere_quadtree
 A quadtree used for drawing planetary lithospheres. More...
struct  major_planet_rec
class  major_planet_rotator
class  orbital_frame
 A base class for those frames whose location and velocity is specified by orbital elements. More...
class  planet_earth
class  planet_system
 A planetary system, with its origin at the barycentre of the planet and its satellites. More...
class  propagator
 Base class for orbital propagators. More...
class  rocky_body_atmosphere
class  rotating_body
 Implements bodies that are rotated using a body_rotator. More...
class  satellite_element_propagator
 Propagates using satellite elements:. More...
class  scenery_patch_set
 A dummy node that holds texture and height data for a planetary surface. More...
class  ship1
class  solar_system
class  space_context
class  spacecraft
class  spacecraft_module
class  sph_qt_node
 Base class for quadtree nodes. More...
class  spherical_clipmap
class  spherical_quadtree
 A class that maintains and draws LOD spheroids. More...
class  star
class  stellar_db

Namespaces

namespace  rotator

Functions

 BROKER_DEFINE_CREATOR (periapsis::space::stellar_db)
 BROKER_DEFINE_CREATOR (periapsis::space::star)
 BROKER_DEFINE_CREATOR (periapsis::space::spacecraft)
 BROKER_DEFINE_CREATOR (periapsis::space::solar_system)
 BROKER_DEFINE_CREATOR (periapsis::space::ship1)
 BROKER_DEFINE_CREATOR (periapsis::space::scenery_patch_set)
 BROKER_DEFINE_CREATOR (periapsis::space::satellite_element_propagator)
 BROKER_DEFINE_CREATOR (periapsis::space::planet_system)
 BROKER_DEFINE_CREATOR (periapsis::space::large_rocky_body)
 BROKER_DEFINE_CREATOR (periapsis::space::keplerian_element_propagator)
 BROKER_DEFINE_CREATOR (periapsis::space::gas_body)
 BROKER_DEFINE_CREATOR (periapsis::space::galaxy)
 BROKER_DEFINE_CREATOR (periapsis::space::planet_earth)
Geographic Coordinates
void geocentric_to_geographic (const gsgl::real_t &polar_radius, const gsgl::real_t &equatorial_radius, const gsgl::real_t &x, const gsgl::real_t &y, const gsgl::real_t &z, gsgl::real_t &lat, gsgl::real_t &lon, gsgl::real_t &alt)
 Converts from geocentric cartesian coordinates to geographic polar coordinates.
void geographic_to_geocentric (const gsgl::real_t &polar_radius, const gsgl::real_t &equatorial_radius, const gsgl::real_t &lat, const gsgl::real_t &lon, const gsgl::real_t &alt, gsgl::real_t &x, gsgl::real_t &y, gsgl::real_t &z)
 Converts from geographic polar coordinates to geocentric cartesian coordinates.

Variables

gsgl::real_t eq_wrt_ec_pre_mult []
 Also from the Hipparcos data paper; the pre-multiplicative orientation of the orientation of the equatorial frame wrt. the ecliptic.
double J2000 = 2451545.0
Coordinate System Transforms
Note that these are for the usual OpenGL setup where transforms are done by multiplying the matrix by the vector to transform.

transform ECLIPTIC_WRT_EQUATORIAL (eq_wrt_ec_pre_mult)
transform ECLIPTIC_WRT_GALACTIC = EQUATORIAL_WRT_GALACTIC * ECLIPTIC_WRT_EQUATORIAL
transform EQUATORIAL_WRT_ECLIPTIC = ECLIPTIC_WRT_EQUATORIAL.transpose()
transform EQUATORIAL_WRT_GALACTIC = GALACTIC_WRT_EQUATORIAL.transpose()
transform GALACTIC_WRT_ECLIPTIC = ECLIPTIC_WRT_GALACTIC.transpose()
transform GALACTIC_WRT_EQUATORIAL (eq_wrt_gal_pre_mult)


Function Documentation

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::stellar_db   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::star   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::spacecraft   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::solar_system   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::ship1   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::scenery_patch_set   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::satellite_element_propagator   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::planet_system   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::large_rocky_body   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::keplerian_element_propagator   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::gas_body   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::galaxy   ) 

periapsis::space::BROKER_DEFINE_CREATOR ( periapsis::space::planet_earth   ) 

void SPACE_API geocentric_to_geographic ( const gsgl::real_t polar_radius,
const gsgl::real_t equatorial_radius,
const gsgl::real_t x,
const gsgl::real_t y,
const gsgl::real_t z,
gsgl::real_t lat,
gsgl::real_t lon,
gsgl::real_t alt 
)

Converts from geocentric cartesian coordinates to geographic polar coordinates.

This function is much more expensive than its inverse, so use sparingly...

Parameters:
polar_radius The polar radius of the planet.
equatorial_radius The equatorial radius of the planet.
x The x coordinate.
y The y coordinate.
z The z coordinate.
lat The resulting geodedic latitude.
lon The resulting geodedic longitude.
alt The altitude above the surface of the earth.

Definition at line 117 of file astronomy.cpp.

void SPACE_API geographic_to_geocentric ( const gsgl::real_t polar_radius,
const gsgl::real_t equatorial_radius,
const gsgl::real_t lat,
const gsgl::real_t lon,
const gsgl::real_t alt,
gsgl::real_t x,
gsgl::real_t y,
gsgl::real_t z 
)

Converts from geographic polar coordinates to geocentric cartesian coordinates.

Parameters:
polar_radius The polar radius of the planet.
equatorial_radius The equatorial radius of the planet.
lat The geodedic latitude.
lon The geodedic longitude.
alt The altitude above the planet.
x The resulting x coordinate.
y The resulting y coordinate.
z The resulting z coordinate.

Definition at line 144 of file astronomy.cpp.


Variable Documentation

Definition at line 57 of file astronomy.hpp.

Definition at line 111 of file astronomy.cpp.

Referenced by solar_system::solar_system().

Initial value:

 
        {
            1.0f,
            0.0f,
            0.0f,
            0.0f,

            0.0f,
            0.9174820621f,
            0.3977771559f,
            0.0f,

            0.0f,
            -0.3977771559f,
            0.9174820621f,
            0.0f,

            0.0f,
            0.0f,
            0.0f,
            1.0f
        }
Also from the Hipparcos data paper; the pre-multiplicative orientation of the orientation of the equatorial frame wrt. the ecliptic.

Definition at line 81 of file astronomy.cpp.

SPACE_API gsgl::math::transform EQUATORIAL_WRT_ECLIPTIC = ECLIPTIC_WRT_EQUATORIAL.transpose()

Definition at line 106 of file astronomy.cpp.

Referenced by body_rotator::calc_orientation_aux(), and planet_system::draw().

SPACE_API gsgl::math::transform EQUATORIAL_WRT_GALACTIC = GALACTIC_WRT_EQUATORIAL.transpose()

Definition at line 76 of file astronomy.cpp.

Referenced by stellar_db::load_db().

SPACE_API gsgl::math::transform GALACTIC_WRT_ECLIPTIC = ECLIPTIC_WRT_GALACTIC.transpose()

Definition at line 112 of file astronomy.cpp.

Definition at line 55 of file astronomy.hpp.

SPACE_API double J2000 = 2451545.0


Generated on Sat Mar 1 13:50:08 2008 for Periapsis Project by  doxygen 1.5.5