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) |
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...
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.
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.
SPACE_API gsgl::math::transform ECLIPTIC_WRT_EQUATORIAL |
Definition at line 57 of file astronomy.hpp.
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 }
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() |
SPACE_API gsgl::math::transform GALACTIC_WRT_ECLIPTIC = ECLIPTIC_WRT_GALACTIC.transpose() |
Definition at line 112 of file astronomy.cpp.
SPACE_API gsgl::math::transform GALACTIC_WRT_EQUATORIAL |
Definition at line 55 of file astronomy.hpp.
SPACE_API double J2000 = 2451545.0 |
Definition at line 46 of file astronomy.cpp.
Referenced by moon::calc_orientation(), major_planet_rotator::calc_orientation(), jupiter_rotator::calc_orientation_pre(), and mars_rotator::calc_orientation_pre().