Stellarium
HEAD
|
Data Structures | |
struct | PlanetCorrections |
0.21+: Axes of planets and moons require terms depending on T=(jde-J2000)/36525, described in Explanatory Supplement 2013, Tables 10.1 and 10.10-14, updated in WGCCRE reports 2009 and 2015. More... | |
Public Types | |
enum | ComputationMethod { Traditional , WGCCRE } |
enum | PlanetCorrection { EarthMoon =3 , Mars =4 , Jupiter =5 , Saturn =6 , Uranus =7 , Neptune =8 } |
typedef double(* | axisRotFuncType) (const double, const double) |
Finetuning correction functions. More... | |
typedef void(* | axisOriFuncType) (const double, const double, double *, double *) |
Static Public Member Functions | |
static void | updatePlanetCorrections (const double JDE, const PlanetCorrection planet) |
Update the planet corrections. More... | |
static double | corrWnil (const double d, const double T) |
These corr* functions can be used as corrW. | |
static double | corrWMoon (const double d, const double T) |
static double | corrWMercury (const double d, const double T) |
static double | corrWMars (const double d, const double T) |
static double | corrWJupiter (const double d, const double T) |
The default W delivers SystemII longitude. More... | |
static double | corrWNeptune (const double d, const double T) |
static double | corrWPhobos (const double d, const double T) |
static double | corrWDeimos (const double d, const double T) |
static double | corrWIo (const double d, const double T) |
static double | corrWEuropa (const double d, const double T) |
static double | corrWGanymede (const double d, const double T) |
static double | corrWCallisto (const double d, const double T) |
static double | corrWAmalthea (const double d, const double T) |
static double | corrWThebe (const double d, const double T) |
static double | corrWMimas (const double d, const double T) |
static double | corrWTethys (const double d, const double T) |
static double | corrWRhea (const double d, const double T) |
static double | corrWJanus (const double d, const double T) |
static double | corrWEpimetheus (const double d, const double T) |
static double | corrWCordelia (const double d, const double T) |
static double | corrWOphelia (const double d, const double T) |
static double | corrWBianca (const double d, const double T) |
static double | corrWCressida (const double d, const double T) |
static double | corrWDesdemona (const double d, const double T) |
static double | corrWJuliet (const double d, const double T) |
static double | corrWPortia (const double d, const double T) |
static double | corrWRosalind (const double d, const double T) |
static double | corrWBelinda (const double d, const double T) |
static double | corrWPuck (const double d, const double T) |
static double | corrWAriel (const double d, const double T) |
static double | corrWUmbriel (const double d, const double T) |
static double | corrWTitania (const double d, const double T) |
static double | corrWOberon (const double d, const double T) |
static double | corrWMiranda (const double d, const double T) |
static double | corrWTriton (const double d, const double T) |
static double | corrWNaiad (const double d, const double T) |
static double | corrWThalassa (const double d, const double T) |
static double | corrWDespina (const double d, const double T) |
static double | corrWGalatea (const double d, const double T) |
static double | corrWLarissa (const double d, const double T) |
static double | corrWProteus (const double d, const double T) |
static void | corrOriNil (const double, const double, double *, double *) |
These functions can be used as corrOri. | |
static void | corrOriMoon (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriMars (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriJupiter (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriNeptune (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriPhobos (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriDeimos (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriIo (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriEuropa (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriGanymede (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriCallisto (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriAmalthea (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriThebe (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriMimas (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriTethys (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriRhea (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriJanus (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriEpimetheus (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriAriel (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriUmbriel (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriTitania (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriOberon (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriMiranda (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriCordelia (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriOphelia (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriBianca (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriCressida (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriDesdemona (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriJuliet (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriPortia (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriRosalind (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriBelinda (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriPuck (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriTriton (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriNaiad (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriThalassa (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriDespina (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriGalatea (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriLarissa (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static void | corrOriProteus (const double d, const double T, double *J2000NPoleRA, double *J2000NPoleDE) |
static double | getMarsMagLs (const double Ls, const bool albedo) |
Retrieve magnitude variation depending on angle Ls [radians]. More... | |
Data Fields | |
double | period |
double | offset |
double | epoch |
double | obliquity |
double | ascendingNode |
ComputationMethod | method |
double | ra0 |
double | ra1 |
double | de0 |
double | de1 |
double | W0 |
double | W1 |
double | currentAxisRA |
double | currentAxisDE |
double | currentAxisW |
axisRotFuncType | corrW |
axisOriFuncType | corrOri |
Static Public Attributes | |
static PlanetCorrections | planetCorrections |
static const QMap< QString, axisRotFuncType > | axisRotCorrFuncMap |
static const QMap< QString, axisOriFuncType > | axisOriCorrFuncMap |
static double | grsJD |
JD (epoch) for calculation of position of Great Red Spot. | |
static double | grsLongitude |
Longitude of Great Red Spot at grsJD (System II, degrees) | |
static double | grsDrift |
Annual drift of Great Red Spot position (degrees) | |
struct RotationElements::PlanetCorrections |
0.21+: Axes of planets and moons require terms depending on T=(jde-J2000)/36525, described in Explanatory Supplement 2013, Tables 10.1 and 10.10-14, updated in WGCCRE reports 2009 and 2015.
Others require frequent updates, depending on jde-J2000. (Moon etc.) These should be updated as frequently as needed, optimally with the planet. Light time correction should be applied when needed. best place to call update is the SolarSystem::computePlanets()
typedef double(* RotationElements::axisRotFuncType) (const double, const double) |
Finetuning correction functions.
These functions are attached to the planets in Planet::setRotationElements() and called at the right places. This avoids ugly sequences of name query ifelses. arguments are d=JDE-J2000, T=d/36525, J2000NPoleRA, J2000NPoleDE
|
static |
The default W delivers SystemII longitude.
We have to shift by GRS position and texture position. The final value will no longer be W but the rotation value required to show the GRS.
|
static |
Retrieve magnitude variation depending on angle Ls [radians].
Source: A. Mallama: The magnitude and albedo of Mars. Icarus 192(2007) 404-416.
|
static |
Update the planet corrections.
planet=3(Moon), 4 (Mars), 5(Jupiter), 6(Saturn), 7(Uranus), 8(Neptune). The values are immediately converted to radians.