Stellarium  0.21.3
Public Slots | Signals | Public Member Functions | Properties
SolarSystem Class Reference

This class and the handling of solar system data has seen many changes, and unfortunately, not much has been consistently documented. More...

#include <SolarSystem.hpp>

Public Slots

void setFlagPlanets (bool b)
 Set flag which determines if planets are drawn or hidden.
 
bool getFlagPlanets () const
 Get the current value of the flag which determines if planet are drawn or hidden.
 
void setFlagTrails (bool b)
 Set flag which determines if planet trails are drawn or hidden.
 
bool getFlagTrails () const
 Get the current value of the flag which determines if planet trails are drawn or hidden.
 
void setTrailsThickness (int v)
 Set thickness of trails.
 
int getTrailsThickness () const
 Get thickness of trail.
 
void setMaxTrailPoints (int max)
 Set maximum number of trail points. More...
 
int getMaxTrailPoints () const
 Get maximum number of trail points. Too many points may slow down the application. 5000 seems to be a good balance.
 
void setMaxTrailTimeExtent (int max)
 Set maximum number of trail time extent in years. More...
 
int getMaxTrailTimeExtent () const
 Get maximum number of trail time extent in years. Too many points may slow down the application. One year (365 days) seems to be a good balance.
 
void setFlagHints (bool b)
 Set flag which determines if planet hints are drawn or hidden along labels.
 
bool getFlagHints () const
 Get the current value of the flag which determines if planet hints are drawn or hidden along labels.
 
void setFlagLabels (bool b)
 Set flag which determines if planet labels are drawn or hidden.
 
bool getFlagLabels () const
 Get the current value of the flag which determines if planet labels are drawn or hidden.
 
void setLabelsAmount (double a)
 Set the amount of planet labels. More...
 
double getLabelsAmount (void) const
 Get the amount of planet labels. More...
 
void setFlagOrbits (bool b)
 Set flag which determines if planet orbits are drawn or hidden.
 
bool getFlagOrbits () const
 Get the current value of the flag which determines if planet orbits are drawn or hidden.
 
void setFlagPointer (bool b)
 Set flag which determines if the planet pointer (red cross) is drawn or hidden on a selected planet.
 
bool getFlagPointer () const
 Get the current value of the flag which determines if planet pointers are drawn or hidden.
 
void setFlagLightTravelTime (bool b)
 Set flag which determines if the light travel time calculation is used or not.
 
bool getFlagLightTravelTime (void) const
 Get the current value of the flag which determines if light travel time calculation is used or not.
 
void setFlagUseObjModels (bool b)
 Set flag whether to use OBJ models for rendering, where available.
 
bool getFlagUseObjModels (void) const
 Get the current value of the flag which determines wether to use OBJ models for rendering, where available.
 
void setFlagShowObjSelfShadows (bool b)
 Set flag whether OBJ models should render self-shadowing (using a shadow map)
 
bool getFlagShowObjSelfShadows (void) const
 Get the current value of the flag which determines whether OBJ models should render self-shadowing (using a shadow map)
 
void setFontSize (int newFontSize)
 Set planet names font size. More...
 
void setLabelsColor (const Vec3f &c)
 Set the color used to draw planet labels. More...
 
Vec3f getLabelsColor (void) const
 Get the current color used to draw planet labels. More...
 
void setOrbitsColor (const Vec3f &c)
 Set the color used to draw solar system object orbit lines. More...
 
Vec3f getOrbitsColor (void) const
 Get the current color used to draw solar system object orbit lines. More...
 
void setMajorPlanetsOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of the major planets. More...
 
Vec3f getMajorPlanetsOrbitsColor (void) const
 Get the current color used to draw orbits lines of the major planets. More...
 
void setMoonsOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of moons of planets. More...
 
Vec3f getMoonsOrbitsColor (void) const
 Get the current color used to draw orbits lines of moons of planets. More...
 
void setMinorPlanetsOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of the minor planets. More...
 
Vec3f getMinorPlanetsOrbitsColor (void) const
 Get the current color used to draw orbits lines of the minor planets. More...
 
void setDwarfPlanetsOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of the dwarf planets. More...
 
Vec3f getDwarfPlanetsOrbitsColor (void) const
 Get the current color used to draw orbits lines of the dwarf planets. More...
 
void setCubewanosOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of cubewanos. More...
 
Vec3f getCubewanosOrbitsColor (void) const
 Get the current color used to draw orbits lines of cubewanos. More...
 
void setPlutinosOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of plutinos. More...
 
Vec3f getPlutinosOrbitsColor (void) const
 Get the current color used to draw orbits lines of plutinos. More...
 
void setScatteredDiskObjectsOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of scattered disk objects. More...
 
Vec3f getScatteredDiskObjectsOrbitsColor (void) const
 Get the current color used to draw orbits lines of scattered disk objects. More...
 
void setOortCloudObjectsOrbitsColor (const Vec3f &c)
 Set the color used to draw orbits lines of Oort cloud objects. More...
 
Vec3f getOortCloudObjectsOrbitsColor (void) const
 Get the current color used to draw orbits lines of Oort cloud objects. More...
 
void setCometsOrbitsColor (const Vec3f &c)
 Set the color used to draw comet orbit lines. More...
 
Vec3f getCometsOrbitsColor (void) const
 Get the current color used to draw comet orbit lines. More...
 
void setSednoidsOrbitsColor (const Vec3f &c)
 Set the color used to draw sednoid orbit lines. More...
 
Vec3f getSednoidsOrbitsColor (void) const
 Get the current color used to draw sednoid orbit lines. More...
 
void setInterstellarOrbitsColor (const Vec3f &c)
 Set the color used to draw interstellar orbit (hyperbolic trajectory) lines. More...
 
Vec3f getInterstellarOrbitsColor (void) const
 Get the current color used to draw interstellar orbit lines. More...
 
void setMercuryOrbitColor (const Vec3f &c)
 Set the color used to draw Mercury orbit line. More...
 
Vec3f getMercuryOrbitColor (void) const
 Get the current color used to draw Mercury orbit line. More...
 
void setVenusOrbitColor (const Vec3f &c)
 Set the color used to draw Venus orbit line. More...
 
Vec3f getVenusOrbitColor (void) const
 Get the current color used to draw Venus orbit line. More...
 
void setEarthOrbitColor (const Vec3f &c)
 Set the color used to draw Earth orbit line. More...
 
Vec3f getEarthOrbitColor (void) const
 Get the current color used to draw Earth orbit line. More...
 
void setMarsOrbitColor (const Vec3f &c)
 Set the color used to draw Mars orbit line. More...
 
Vec3f getMarsOrbitColor (void) const
 Get the current color used to draw Mars orbit line. More...
 
void setJupiterOrbitColor (const Vec3f &c)
 Set the color used to draw Jupiter orbit line. More...
 
Vec3f getJupiterOrbitColor (void) const
 Get the current color used to draw Jupiter orbit line. More...
 
void setSaturnOrbitColor (const Vec3f &c)
 Set the color used to draw Saturn orbit line. More...
 
Vec3f getSaturnOrbitColor (void) const
 Get the current color used to draw Saturn orbit line. More...
 
void setUranusOrbitColor (const Vec3f &c)
 Set the color used to draw Uranus orbit line. More...
 
Vec3f getUranusOrbitColor (void) const
 Get the current color used to draw Uranus orbit line. More...
 
void setNeptuneOrbitColor (const Vec3f &c)
 Set the color used to draw Neptune orbit line. More...
 
Vec3f getNeptuneOrbitColor (void) const
 Get the current color used to draw Neptune orbit line. More...
 
void setTrailsColor (const Vec3f &c)
 Set the color used to draw planet trails lines. More...
 
Vec3f getTrailsColor () const
 Get the current color used to draw planet trails lines. More...
 
void setPointerColor (const Vec3f &c)
 Set the color used to draw planet pointers. More...
 
Vec3f getPointerColor () const
 Get the current color used to draw planet pointers. More...
 
void setFlagMoonScale (bool b)
 Set flag which determines if Earth's moon is scaled or not.
 
bool getFlagMoonScale (void) const
 Get the current value of the flag which determines if Earth's moon is scaled or not.
 
void setMoonScale (double f)
 Set the display scaling factor for Earth's moon.
 
double getMoonScale (void) const
 Get the display scaling factor for Earth's moon.
 
void setFlagMinorBodyScale (bool b)
 Set flag which determines if minor bodies (everything except the 8 planets) are drawn scaled or not.
 
bool getFlagMinorBodyScale (void) const
 Get the current value of the flag which determines if minor bodies (everything except the 8 planets) are drawn scaled or not.
 
void setMinorBodyScale (double f)
 Set the display scaling factor for minor bodies.
 
double getMinorBodyScale (void) const
 Get the display scaling factor for minor bodies.
 
void setFlagPlanetScale (bool b)
 Set flag which determines if planets are displayed scaled or not.
 
bool getFlagPlanetScale (void) const
 Get the current value of the flag which determines if planets are displayed scaled or not.
 
void setPlanetScale (double f)
 Set the display scaling factor for planets.
 
double getPlanetScale (void) const
 Get the display scaling factor for planets.
 
void setFlagSunScale (bool b)
 Set flag which determines if Sun is scaled or not.
 
bool getFlagSunScale (void) const
 Get the current value of the flag which determines if Sun is scaled or not.
 
void setSunScale (double f)
 Set the display scaling factor for Sun.
 
double getSunScale (void) const
 Get the display scaling factor for Sun.
 
void updateI18n ()
 Translate names. (public so that SolarSystemEditor can call it).
 
float getPlanetVMagnitude (QString planetName, bool withExtinction=false) const
 Get the V magnitude for Solar system bodies for scripts. More...
 
QString getPlanetType (QString planetName) const
 Get type for Solar system bodies for scripts. More...
 
double getDistanceToPlanet (QString planetName) const
 Get distance to Solar system bodies for scripts. More...
 
double getElongationForPlanet (QString planetName) const
 Get elongation for Solar system bodies for scripts. More...
 
double getPhaseAngleForPlanet (QString planetName) const
 Get phase angle for Solar system bodies for scripts. More...
 
float getPhaseForPlanet (QString planetName) const
 Get phase for Solar system bodies for scripts. More...
 
void setApparentMagnitudeAlgorithmOnEarth (QString algorithm)
 Set the algorithm for computation of apparent magnitudes for planets in case observer on the Earth. More...
 
QString getApparentMagnitudeAlgorithmOnEarth () const
 Get the algorithm used for computation of apparent magnitudes for planets in case observer on the Earth. More...
 
void setFlagNativePlanetNames (bool b)
 Set flag which enable use native names for planets or not.
 
bool getFlagNativePlanetNames (void) const
 Get the current value of the flag which enables showing native names for planets or not.
 
void setFlagIsolatedTrails (bool b)
 Set flag which enabled the showing of isolated trails for selected objects only or not.
 
bool getFlagIsolatedTrails (void) const
 Get the current value of the flag which enables showing of isolated trails for selected objects only or not.
 
void setNumberIsolatedTrails (int n)
 Set number of displayed of isolated trails for latest selected objects.
 
int getNumberIsolatedTrails (void) const
 Get the number of displayed of isolated trails for latest selected objects.
 
void setFlagIsolatedOrbits (bool b)
 Set flag which enabled the showing of isolated orbits for selected objects only or not.
 
bool getFlagIsolatedOrbits (void) const
 Get the current value of the flag which enables showing of isolated orbits for selected objects only or not.
 
void setFlagPlanetsOrbitsOnly (bool b)
 Set flag which enabled the showing of planets orbits only or not.
 
bool getFlagPlanetsOrbitsOnly (void) const
 Get the current value of the flag which enables showing of planets orbits only or not.
 
void setFlagPermanentSolarCorona (bool b)
 Set flag which enabled the showing of solar corona when atmosphere is disabled (true) of draw the corona when total solar eclipses is happened only (false)
 
bool getFlagPermanentSolarCorona (void) const
 Get the current value of the flag which enables showing of solar corona when atmosphere is disabled or when total solar eclipses is happened only.
 
void setFlagCustomGrsSettings (bool b)
 Set flag which determines if custom settings is using for Great Red Spot on Jupiter.
 
bool getFlagCustomGrsSettings () const
 Get the current value of the flag which determines if custom settings for Great Red Spot on Jupiter is used or not.
 
void setCustomGrsLongitude (int longitude)
 Set longitude of Great Red Spot (System II is used) More...
 
int getCustomGrsLongitude () const
 Get longitude of Great Red Spot (System II is used) More...
 
void setCustomGrsDrift (double drift)
 Set speed of annual drift for Great Red Spot (System II is used) More...
 
double getCustomGrsDrift () const
 Get speed of annual drift for Great Red Spot (System II is used)
 
void setCustomGrsJD (double JD)
 Set initial JD for calculation of position of Great Red Spot. More...
 
double getCustomGrsJD ()
 Get initial JD for calculation of position of Great Red Spot.
 
void setFlagEarthShadowEnlargementDanjon (bool b)
 Set whether earth shadow should be enlarged following Danjon's method.
 
bool getFlagEarthShadowEnlargementDanjon () const
 Get whether earth shadow should be enlarged following Danjon's method.
 
void setOrbitColorStyle (QString style)
 Set style of colors of orbits for Solar system bodies.
 
QString getOrbitColorStyle () const
 Get style of colors of orbits for Solar system bodies.
 
QStringList getObjectsList (QString objType="all") const
 Get list of objects by type. More...
 
void setFlagPermanentOrbits (bool b)
 Set flag which enables display of orbits for planets even if they are off screen.
 
bool getFlagPermanentOrbits () const
 
void setOrbitsThickness (int v)
 
int getOrbitsThickness () const
 
void setFlagDrawMoonHalo (bool b)
 
bool getFlagDrawMoonHalo () const
 
void setFlagDrawSunHalo (bool b)
 
bool getFlagDrawSunHalo () const
 
void recreateTrails ()
 Reset and recreate trails.
 
void resetTextures (const QString &planetName)
 Reset textures for planet. More...
 
void setTextureForPlanet (const QString &planetName, const QString &texName)
 Replace the texture for the planet. More...
 

Signals

void labelsDisplayedChanged (bool b)
 
void nomenclatureDisplayedChanged (bool b)
 
void flagOrbitsChanged (bool b)
 
void flagHintsChanged (bool b)
 
void flagDrawMoonHaloChanged (bool b)
 
void flagDrawSunHaloChanged (bool b)
 
void trailsDisplayedChanged (bool b)
 
void trailsThicknessChanged (int v)
 
void orbitsThicknessChanged (int v)
 
void maxTrailPointsChanged (int max)
 
void maxTrailTimeExtentChanged (int max)
 
void flagPointerChanged (bool b)
 
void flagNativePlanetNamesChanged (bool b)
 
void flagPlanetsDisplayedChanged (bool b)
 
void flagPlanetsOrbitsOnlyChanged (bool b)
 
void flagPermanentOrbitsChanged (bool b)
 
void flagIsolatedOrbitsChanged (bool b)
 
void flagIsolatedTrailsChanged (bool b)
 
void numberIsolatedTrailsChanged (int n)
 
void flagLightTravelTimeChanged (bool b)
 
void flagUseObjModelsChanged (bool b)
 
void flagShowObjSelfShadowsChanged (bool b)
 
void flagMoonScaleChanged (bool b)
 
void moonScaleChanged (double f)
 
void flagMinorBodyScaleChanged (bool b)
 
void minorBodyScaleChanged (double f)
 
void flagPlanetScaleChanged (bool b)
 
void planetScaleChanged (double f)
 
void flagSunScaleChanged (bool b)
 
void sunScaleChanged (double f)
 
void labelsAmountChanged (double f)
 
void ephemerisMarkersChanged (bool b)
 
void ephemerisHorizontalCoordinatesChanged (bool b)
 
void ephemerisDatesChanged (bool b)
 
void ephemerisMagnitudesChanged (bool b)
 
void ephemerisLineChanged (bool b)
 
void ephemerisAlwaysOnChanged (bool b)
 
void ephemerisLineThicknessChanged (int v)
 
void ephemerisSkipDataChanged (bool b)
 
void ephemerisSkipMarkersChanged (bool b)
 
void ephemerisDataStepChanged (int s)
 
void ephemerisDataLimitChanged (int s)
 
void ephemerisSmartDatesChanged (bool b)
 
void ephemerisScaleMarkersChanged (bool b)
 
void flagCustomGrsSettingsChanged (bool b)
 
void customGrsLongitudeChanged (int l)
 
void customGrsDriftChanged (double drift)
 
void customGrsJDChanged (double JD)
 
void earthShadowEnlargementDanjonChanged (bool b)
 
void flagPermanentSolarCoronaChanged (bool b)
 
void labelsColorChanged (const Vec3f &color) const
 
void pointerColorChanged (const Vec3f &color) const
 
void trailsColorChanged (const Vec3f &color) const
 
void orbitsColorChanged (const Vec3f &color) const
 
void nomenclatureColorChanged (const Vec3f &color) const
 
void majorPlanetsOrbitsColorChanged (const Vec3f &color) const
 
void minorPlanetsOrbitsColorChanged (const Vec3f &color) const
 
void dwarfPlanetsOrbitsColorChanged (const Vec3f &color) const
 
void moonsOrbitsColorChanged (const Vec3f &color) const
 
void cubewanosOrbitsColorChanged (const Vec3f &color) const
 
void plutinosOrbitsColorChanged (const Vec3f &color) const
 
void scatteredDiskObjectsOrbitsColorChanged (const Vec3f &color) const
 
void oortCloudObjectsOrbitsColorChanged (const Vec3f &color) const
 
void cometsOrbitsColorChanged (const Vec3f &color) const
 
void sednoidsOrbitsColorChanged (const Vec3f &color) const
 
void interstellarOrbitsColorChanged (const Vec3f &color) const
 
void mercuryOrbitColorChanged (const Vec3f &color) const
 
void venusOrbitColorChanged (const Vec3f &color) const
 
void earthOrbitColorChanged (const Vec3f &color) const
 
void marsOrbitColorChanged (const Vec3f &color) const
 
void jupiterOrbitColorChanged (const Vec3f &color) const
 
void saturnOrbitColorChanged (const Vec3f &color) const
 
void uranusOrbitColorChanged (const Vec3f &color) const
 
void neptuneOrbitColorChanged (const Vec3f &color) const
 
void ephemerisGenericMarkerColorChanged (const Vec3f &color) const
 
void ephemerisSecondaryMarkerColorChanged (const Vec3f &color) const
 
void ephemerisSelectedMarkerColorChanged (const Vec3f &color) const
 
void ephemerisMercuryMarkerColorChanged (const Vec3f &color) const
 
void ephemerisVenusMarkerColorChanged (const Vec3f &color) const
 
void ephemerisMarsMarkerColorChanged (const Vec3f &color) const
 
void ephemerisJupiterMarkerColorChanged (const Vec3f &color) const
 
void ephemerisSaturnMarkerColorChanged (const Vec3f &color) const
 
void orbitColorStyleChanged (QString style) const
 
void apparentMagnitudeAlgorithmOnEarthChanged (QString algorithm) const
 
void solarSystemDataReloaded ()
 
void requestEphemerisVisualization ()
 

Public Member Functions

virtual void init () Q_DECL_OVERRIDE
 Initialize the SolarSystem. More...
 
virtual void deinit () Q_DECL_OVERRIDE
 Called before the module will be delete, and before the openGL context is suppressed. More...
 
virtual void draw (StelCore *core) Q_DECL_OVERRIDE
 Draw SolarSystem objects (planets). More...
 
virtual void update (double deltaTime) Q_DECL_OVERRIDE
 Update time-varying components. More...
 
virtual double getCallOrder (StelModuleActionName actionName) const Q_DECL_OVERRIDE
 Used to determine what order to draw the various StelModules.
 
virtual QList< StelObjectPsearchAround (const Vec3d &v, double limitFov, const StelCore *core) const Q_DECL_OVERRIDE
 Search for SolarSystem objects in some area around a point. More...
 
virtual StelObjectP searchByNameI18n (const QString &nameI18n) const Q_DECL_OVERRIDE
 Search for a SolarSystem object based on the localised name. More...
 
virtual StelObjectP searchByName (const QString &name) const Q_DECL_OVERRIDE
 Search for a SolarSystem object based on the English name. More...
 
virtual StelObjectP searchByID (const QString &id) const Q_DECL_OVERRIDE
 Return the StelObject with the given ID if exists or the empty StelObject if not found. More...
 
virtual QStringList listMatchingObjects (const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false) const Q_DECL_OVERRIDE
 Find and return the list of at most maxNbItem objects auto-completing the passed object name. More...
 
virtual QStringList listAllObjects (bool inEnglish) const Q_DECL_OVERRIDE
 List all StelObjects. More...
 
virtual QStringList listAllObjectsByType (const QString &objType, bool inEnglish) const Q_DECL_OVERRIDE
 List all StelObjects by type. More...
 
virtual QString getName () const Q_DECL_OVERRIDE
 Gets a user-displayable name of the object category.
 
virtual QString getStelObjectType () const Q_DECL_OVERRIDE
 Returns the name that will be returned by StelObject::getType() for the objects this module manages.
 
PlanetP searchByEnglishName (QString planetEnglishName) const
 Get a pointer to a Planet object. More...
 
PlanetP searchMinorPlanetByEnglishName (QString planetEnglishName) const
 
PlanetP getSun () const
 Get the Planet object pointer for the Sun.
 
PlanetP getEarth () const
 Get the Planet object pointer for the Earth.
 
PlanetP getMoon () const
 Get the Planet object pointer for Earth's moon.
 
bool nearLunarEclipse () const
 Determine if a lunar eclipse is close at hand?
 
QStringList getAllPlanetEnglishNames () const
 Get the list of all the planet english names.
 
QStringList getAllPlanetLocalizedNames () const
 Get the list of all the planet localized names.
 
QStringList getAllMinorPlanetCommonEnglishNames () const
 Get the list of all the minor planet common english names.
 
void reloadPlanets ()
 Reload the planets.
 
bool removeMinorPlanet (QString name)
 New 0.16: delete a planet from the solar system. Writes a warning to log if this is not a minor object.
 
QPair< double, PlanetP > getSolarEclipseFactor (const StelCore *core) const
 Determines relative amount of sun visible from the observer's position (first element) and the Planet object pointer for eclipsing celestial body (second element). More...
 
QPair< Vec3d, Vec3dgetEarthShadowRadiiAtLunarDistance () const
 Retrieve Radius of Umbra and Penumbra at the distance of the Moon. More...
 
void computePositions (double dateJDE, PlanetP observerPlanet)
 Compute the position and transform matrix for every element of the solar system. More...
 
const QList< PlanetP > & getAllPlanets () const
 Get the list of all the bodies of the solar system.
 
const QList< PlanetP > & getAllMinorBodies () const
 Get the list of all the bodies of the solar system.
 
const QStringList getMinorBodiesList () const
 Get the list of all minor bodies names.
 
- Public Member Functions inherited from StelObjectModule
bool matchObjectName (const QString &objName, const QString &objPrefix, bool useStartOfWords) const
 Auxiliary method of listMatchingObjects() More...
 
- Public Member Functions inherited from StelModule
virtual QSettings * getSettings ()
 Return module-specific settings. More...
 
virtual QString getModuleVersion () const
 Get the version of the module, default is stellarium main version.
 
virtual QString getAuthorName () const
 Get the name of the module author.
 
virtual QString getAuthorEmail () const
 Get the email adress of the module author.
 
virtual void handleMouseClicks (class QMouseEvent *)
 Handle mouse clicks. More...
 
virtual void handleMouseWheel (class QWheelEvent *)
 Handle mouse wheel. More...
 
virtual bool handleMouseMoves (int x, int y, Qt::MouseButtons b)
 Handle mouse moves. More...
 
virtual void handleKeys (class QKeyEvent *e)
 Handle key events. More...
 
virtual bool handlePinch (qreal scale, bool started)
 Handle pinch gesture events. More...
 
virtual bool configureGui (bool show=true)
 Detect or show the configuration GUI elements for the module. More...
 

Properties

bool labelsDisplayed
 
bool flagOrbits
 
bool trailsDisplayed
 
int maxTrailPoints
 
int maxTrailTimeExtent
 
int trailsThickness
 
bool flagHints
 
bool flagPointer
 
bool flagNativePlanetNames
 
bool planetsDisplayed
 
bool flagPlanetsOrbitsOnly
 
bool flagPermanentOrbits
 
bool flagIsolatedOrbits
 
bool flagIsolatedTrails
 
int numberIsolatedTrails
 
bool flagLightTravelTime
 
bool flagUseObjModels
 
bool flagShowObjSelfShadows
 
bool flagMoonScale
 
double moonScale
 
bool flagMinorBodyScale
 
double minorBodyScale
 
bool flagPlanetScale
 
double planetScale
 
bool flagSunScale
 
double sunScale
 
double labelsAmount
 The amount of planet labels (between 0 and 10).
 
bool flagPermanentSolarCorona
 
bool ephemerisMarkersDisplayed
 
bool ephemerisHorizontalCoordinates
 
bool ephemerisDatesDisplayed
 
bool ephemerisMagnitudesDisplayed
 
bool ephemerisLineDisplayed
 
int ephemerisLineThickness
 
bool ephemerisSkippedData
 
bool ephemerisSkippedMarkers
 
int ephemerisDataStep
 
int ephemerisDataLimit
 
bool ephemerisSmartDates
 
bool ephemerisScaleMarkersDisplayed
 
bool ephemerisAlwaysOn
 
bool flagCustomGrsSettings
 
int customGrsLongitude
 
double customGrsDrift
 
double customGrsJD
 
bool earthShadowEnlargementDanjon
 Used to track whether earth shadow enlargement shall be computed after Danjon (1951)
 
Vec3f labelsColor
 
Vec3f pointerColor
 
Vec3f trailsColor
 
Vec3f orbitsColor
 
Vec3f majorPlanetsOrbitsColor
 
Vec3f minorPlanetsOrbitsColor
 
Vec3f dwarfPlanetsOrbitsColor
 
Vec3f moonsOrbitsColor
 
Vec3f cubewanosOrbitsColor
 
Vec3f plutinosOrbitsColor
 
Vec3f scatteredDiskObjectsOrbitsColor
 
Vec3f oortCloudObjectsOrbitsColor
 
Vec3f cometsOrbitsColor
 
Vec3f sednoidsOrbitsColor
 
Vec3f interstellarOrbitsColor
 
Vec3f mercuryOrbitColor
 
Vec3f venusOrbitColor
 
Vec3f earthOrbitColor
 
Vec3f marsOrbitColor
 
Vec3f jupiterOrbitColor
 
Vec3f saturnOrbitColor
 
Vec3f uranusOrbitColor
 
Vec3f neptuneOrbitColor
 
Vec3f ephemerisGenericMarkerColor
 
Vec3f ephemerisSecondaryMarkerColor
 
Vec3f ephemerisSelectedMarkerColor
 
Vec3f ephemerisMercuryMarkerColor
 
Vec3f ephemerisVenusMarkerColor
 
Vec3f ephemerisMarsMarkerColor
 
Vec3f ephemerisJupiterMarkerColor
 
Vec3f ephemerisSaturnMarkerColor
 
QString orbitColorStyle
 
QString apparentMagnitudeAlgorithmOnEarth
 
int orbitsThickness
 
bool flagDrawMoonHalo
 
bool flagDrawSunHalo
 

Additional Inherited Members

- Public Types inherited from StelModule
enum  StelModuleSelectAction { AddToSelection, ReplaceSelection, RemoveFromSelection }
 Enum used when selecting objects to define whether to add to, replace, or remove from the existing selection list. More...
 
enum  StelModuleActionName {
  ActionDraw, ActionUpdate, ActionHandleMouseClicks, ActionHandleMouseMoves,
  ActionHandleKeys
}
 Define the possible action for which an order is defined. More...
 
- Protected Member Functions inherited from StelModule
class StelActionaddAction (const QString &id, const QString &groupId, const QString &text, QObject *target, const char *slot, const QString &shortcut="", const QString &altShortcut="")
 convenience methods to add an action (call to slot) to the StelActionMgr object. More...
 
class StelActionaddAction (const QString &id, const QString &groupId, const QString &text, const char *slot, const QString &shortcut="", const QString &altShortcut="")
 convenience methods to add an action (call to own slot) to the StelActionMgr object. More...
 
StelActionaddAction (const QString &id, const QString &groupId, const QString &text, QObject *contextObject, std::function< void()> lambda, const QString &shortcut="", const QString &altShortcut="")
 convenience methods to add an action (call to Lambda functor) to the StelActionMgr object. More...
 

Detailed Description

The following is a reverse-engineered analysis.

This StelObjectModule derivative is used to model SolarSystem bodies. This includes the Major Planets (class Planet), Minor Planets (class MinorPlanet) and Comets (class Comet).

Member Function Documentation

◆ computePositions()

void SolarSystem::computePositions ( double  dateJDE,
PlanetP  observerPlanet 
)
Parameters
dateJDEthe Julian Day in JDE (Ephemeris Time or equivalent)
observerPlanetplanet of the observer (Required for light travel time or aberration computation).

◆ deinit()

virtual void SolarSystem::deinit ( )
virtual

Deinitialize all openGL texture in this method.

Reimplemented from StelModule.

◆ draw()

virtual void SolarSystem::draw ( StelCore core)
virtual
Parameters
coreThe StelCore object.
Returns
The maximum squared distance in pixels that any SolarSystem object has travelled since the last update.

Reimplemented from StelModule.

◆ getApparentMagnitudeAlgorithmOnEarth

QString SolarSystem::getApparentMagnitudeAlgorithmOnEarth ( ) const
slot

◆ getCometsOrbitsColor

Vec3f SolarSystem::getCometsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getCubewanosOrbitsColor

Vec3f SolarSystem::getCubewanosOrbitsColor ( void  ) const
slot
Returns
current color

◆ getCustomGrsLongitude

int SolarSystem::getCustomGrsLongitude ( ) const
slot
Returns
a longitude (degrees)

◆ getDistanceToPlanet

double SolarSystem::getDistanceToPlanet ( QString  planetName) const
slot
Parameters
planetNamethe case in-sensitive English planet name.
Returns
a distance (in AU)

◆ getDwarfPlanetsOrbitsColor

Vec3f SolarSystem::getDwarfPlanetsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getEarthOrbitColor

Vec3f SolarSystem::getEarthOrbitColor ( void  ) const
slot
Returns
current color

◆ getEarthShadowRadiiAtLunarDistance()

QPair<Vec3d,Vec3d> SolarSystem::getEarthShadowRadiiAtLunarDistance ( ) const

Returns a pair (umbra, penumbra) in (geocentric_arcseconds, AU, geometric_AU).

  • sizes in arcseconds are the usual result found as Bessel element in eclipse literature. It includes scaling for effects of atmosphere either after Chauvenet (2%) or after Danjon. (see Espenak: 5000 Years Canon of Lunar Eclipses.)
  • sizes in AU are the same, converted back to AU in Lunar distance.
  • sizes in geometric_AU derived from pure geometrical evaluations without scalings applied.

◆ getElongationForPlanet

double SolarSystem::getElongationForPlanet ( QString  planetName) const
slot
Parameters
planetNamethe case in-sensitive English planet name.
Returns
a elongation (in radians)

◆ getInterstellarOrbitsColor

Vec3f SolarSystem::getInterstellarOrbitsColor ( void  ) const
slot
Returns
current color

◆ getJupiterOrbitColor

Vec3f SolarSystem::getJupiterOrbitColor ( void  ) const
slot
Returns
current color

◆ getLabelsAmount

double SolarSystem::getLabelsAmount ( void  ) const
inlineslot

The real amount is also proportional with FOV.

Returns
the amount between 0 and 10. 0 is no labels, 10 is maximum of labels

◆ getLabelsColor

Vec3f SolarSystem::getLabelsColor ( void  ) const
slot
Returns
current color

◆ getMajorPlanetsOrbitsColor

Vec3f SolarSystem::getMajorPlanetsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getMarsOrbitColor

Vec3f SolarSystem::getMarsOrbitColor ( void  ) const
slot
Returns
current color

◆ getMercuryOrbitColor

Vec3f SolarSystem::getMercuryOrbitColor ( void  ) const
slot
Returns
current color

◆ getMinorPlanetsOrbitsColor

Vec3f SolarSystem::getMinorPlanetsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getMoonsOrbitsColor

Vec3f SolarSystem::getMoonsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getNeptuneOrbitColor

Vec3f SolarSystem::getNeptuneOrbitColor ( void  ) const
slot
Returns
current color

◆ getObjectsList

QStringList SolarSystem::getObjectsList ( QString  objType = "all") const
slot
Parameters
objTypeobject type

◆ getOortCloudObjectsOrbitsColor

Vec3f SolarSystem::getOortCloudObjectsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getOrbitsColor

Vec3f SolarSystem::getOrbitsColor ( void  ) const
slot
Returns
current color

◆ getPhaseAngleForPlanet

double SolarSystem::getPhaseAngleForPlanet ( QString  planetName) const
slot
Parameters
planetNamethe case in-sensitive English planet name.
Returns
a phase angle (in radians)

◆ getPhaseForPlanet

float SolarSystem::getPhaseForPlanet ( QString  planetName) const
slot
Parameters
planetNamethe case in-sensitive English planet name.
Returns
phase, i.e. illuminated fraction [0..1]

◆ getPlanetType

QString SolarSystem::getPlanetType ( QString  planetName) const
slot
Parameters
planetNamethe case in-sensitive English planet name.
Returns
a type of planet (star, planet, moon, observer, artificial, asteroid, plutino, comet, dwarf planet, cubewano, scattered disc object, Oort cloud object, sednoid, interstellar object)

◆ getPlanetVMagnitude

float SolarSystem::getPlanetVMagnitude ( QString  planetName,
bool  withExtinction = false 
) const
slot
Parameters
planetNamethe case in-sensitive English planet name.
withExtinctionthe flag for use extinction effect for magnitudes (default not use)
Returns
a magnitude

◆ getPlutinosOrbitsColor

Vec3f SolarSystem::getPlutinosOrbitsColor ( void  ) const
slot
Returns
current color

◆ getPointerColor

Vec3f SolarSystem::getPointerColor ( ) const
inlineslot
Returns
current color

◆ getSaturnOrbitColor

Vec3f SolarSystem::getSaturnOrbitColor ( void  ) const
slot
Returns
current color

◆ getScatteredDiskObjectsOrbitsColor

Vec3f SolarSystem::getScatteredDiskObjectsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getSednoidsOrbitsColor

Vec3f SolarSystem::getSednoidsOrbitsColor ( void  ) const
slot
Returns
current color

◆ getSolarEclipseFactor()

QPair<double, PlanetP> SolarSystem::getSolarEclipseFactor ( const StelCore core) const

In the unlikely event of multiple objects in front of the sun, only the largest will be reported.

◆ getTrailsColor

Vec3f SolarSystem::getTrailsColor ( ) const
inlineslot
Returns
current color

◆ getUranusOrbitColor

Vec3f SolarSystem::getUranusOrbitColor ( void  ) const
slot
Returns
current color

◆ getVenusOrbitColor

Vec3f SolarSystem::getVenusOrbitColor ( void  ) const
slot
Returns
current color

◆ init()

virtual void SolarSystem::init ( )
virtual

Includes:

  • loading planetary body orbital and model data from data/ssystem.ini
  • perform initial planet position calculation
  • set display options from application settings

Implements StelModule.

◆ listAllObjects()

virtual QStringList SolarSystem::listAllObjects ( bool  inEnglish) const
virtual
Parameters
inEnglishlist names in English (true) or translated (false)
Returns
a list of matching object name by order of relevance, or an empty list if nothing matches

Implements StelObjectModule.

◆ listAllObjectsByType()

virtual QStringList SolarSystem::listAllObjectsByType ( const QString &  objType,
bool  inEnglish 
) const
virtual
Parameters
objTypeobject type
inEnglishlist translated names (false) or in English (true)
Returns
a list of matching object name by order of relevance, or an empty list if nothing matches

Reimplemented from StelObjectModule.

◆ listMatchingObjects()

virtual QStringList SolarSystem::listMatchingObjects ( const QString &  objPrefix,
int  maxNbItem = 5,
bool  useStartOfWords = false 
) const
virtual
Parameters
objPrefixthe case insensitive first letters of the searched object
maxNbItemthe maximum number of returned object names
useStartOfWordsthe autofill mode for returned objects names
Returns
a list of matching object name by order of relevance, or an empty list if nothing match

Reimplemented from StelObjectModule.

◆ resetTextures

void SolarSystem::resetTextures ( const QString &  planetName)
slot
Parameters
planetName
Note
if
Parameters
planetNameis empty then reset will happen for all solar system objects

◆ searchAround()

virtual QList<StelObjectP> SolarSystem::searchAround ( const Vec3d v,
double  limitFov,
const StelCore core 
) const
virtual
Parameters
vA vector representing a point in the sky in equatorial J2000 coordinates (without aberration).
limitFovThe radius of the circle around the point v which defines the size of the area to search.
corethe core object
Returns
QList of StelObjectP (pointers) containing all SolarSystem objects found in the specified area. This vector is not sorted by distance from v.

Implements StelObjectModule.

◆ searchByEnglishName()

PlanetP SolarSystem::searchByEnglishName ( QString  planetEnglishName) const
Parameters
planetEnglishNamethe English name of the desired planet.
Returns
The matching planet pointer if exists or Q_NULLPTR.

◆ searchByID()

virtual StelObjectP SolarSystem::searchByID ( const QString &  id) const
inlinevirtual
Parameters
namethe english object name

Implements StelObjectModule.

◆ searchByName()

virtual StelObjectP SolarSystem::searchByName ( const QString &  name) const
virtual
Parameters
namethe case in-sensitive English planet name.
Returns
a StelObjectP for the object if found, else Q_NULLPTR.

Implements StelObjectModule.

◆ searchByNameI18n()

virtual StelObjectP SolarSystem::searchByNameI18n ( const QString &  nameI18n) const
virtual
Parameters
nameI18nthe case in-sensitive translated planet name.
Returns
a StelObjectP for the object if found, else Q_NULLPTR.

Implements StelObjectModule.

◆ setApparentMagnitudeAlgorithmOnEarth

void SolarSystem::setApparentMagnitudeAlgorithmOnEarth ( QString  algorithm)
slot

Possible values:

  • Mueller1893 Explanatory Supplement to the Astronomical Ephemeris, 1961
  • AstrAlm1984 [Astronomical Almanac 1984] and later. These give V (instrumental) magnitudes.
  • ExpSup1992 [Explanatory Supplement to the Astronomical Almanac, 1992] (algorithm contributed by Pere Planesas, Observatorio Astronomico Nacional)
  • ExpSup2013 [Explanatory Supplement to the Astronomical Almanac, 3rd edition, 2013]
  • Generic Visual magnitude based on phase angle and albedo. Details:
  • J. Meeus "Astronomical Algorithms" (2nd ed. 1998, with corrections as of August 10, 2009) p.283-286.
  • O. Montenbruck, T. Pfleger "Astronomy on the Personal Computer" (4th ed.) p.143-145.
  • Daniel L. Harris "Photometry and Colorimetry of Planets and Satellites" http://adsabs.harvard.edu/abs/1961plsa.book..272H
  • Sean E. Urban and P. Kenneth Seidelmann "Explanatory Supplement to the Astronomical Almanac" (3rd edition, 2013) It is interesting to note that Meeus in his discussion of "Harris" states that Harris did not give new values. The book indeed mentions a few values for the inner planets citing Danjon, but different from those then listed by Meeus. Therefore it must be assumed that the "Harris" values are misnomed, and are the least certain set. Hint: Default option in config.ini: astro/apparent_magnitude_algorithm = ExpSup2013
    Parameters
    algorithmthe case in-sensitive algorithm name
    Note
    : The structure of algorithms is almost identical, just the numbers are different! You should activate Mueller's algorithm to simulate the eye's impression. (Esp. Venus!)

◆ setCometsOrbitsColor

void SolarSystem::setCometsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of the comet orbit lines (R,G,B)
// example of usage in scripts

◆ setCubewanosOrbitsColor

void SolarSystem::setCubewanosOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of cubewanos (R,G,B)
// example of usage in scripts

◆ setCustomGrsDrift

void SolarSystem::setCustomGrsDrift ( double  drift)
slot
Parameters
annualdrift (degrees)

◆ setCustomGrsJD

void SolarSystem::setCustomGrsJD ( double  JD)
slot
Parameters
JD

◆ setCustomGrsLongitude

void SolarSystem::setCustomGrsLongitude ( int  longitude)
slot
Parameters
longitude(degrees)

◆ setDwarfPlanetsOrbitsColor

void SolarSystem::setDwarfPlanetsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of the dwarf planets (R,G,B)
// example of usage in scripts

◆ setEarthOrbitColor

void SolarSystem::setEarthOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Earth orbit line (R,G,B)
// example of usage in scripts

◆ setFontSize

void SolarSystem::setFontSize ( int  newFontSize)
slot
Returns
font size

◆ setInterstellarOrbitsColor

void SolarSystem::setInterstellarOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of the interstellar orbit lines (R,G,B)
// example of usage in scripts

◆ setJupiterOrbitColor

void SolarSystem::setJupiterOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Jupiter orbit line (R,G,B)
// example of usage in scripts

◆ setLabelsAmount

void SolarSystem::setLabelsAmount ( double  a)
inlineslot

The real amount is also proportional with FOV. The limit is set in function of the planets magnitude

Parameters
athe amount between 0 and 10. 0 is no labels, 10 is maximum of labels

◆ setLabelsColor

void SolarSystem::setLabelsColor ( const Vec3f c)
slot
Parameters
cThe color of the planet labels (R,G,B)
// example of usage in scripts

◆ setMajorPlanetsOrbitsColor

void SolarSystem::setMajorPlanetsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of the major planets (R,G,B)
// example of usage in scripts

◆ setMarsOrbitColor

void SolarSystem::setMarsOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Mars orbit line (R,G,B)
// example of usage in scripts

◆ setMaxTrailPoints

void SolarSystem::setMaxTrailPoints ( int  max)
slot

Too many points may slow down the application. 5000 seems to be a good balance. The trails are drawn for a maximum of 365 days and then fade out. If drawing many trails slows down the application, you can set a new maximum trail step length. Note that the fadeout may require more points or a decent simulation speed.

◆ setMaxTrailTimeExtent

void SolarSystem::setMaxTrailTimeExtent ( int  max)
slot

Too many points may slow down the application. One year (365 days) seems to be a good balance. If drawing many trails slows down the application, you can set a new maximum trail time extent or step length. Note that the fadeout may require more points or a decent simulation speed.

◆ setMercuryOrbitColor

void SolarSystem::setMercuryOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Mercury orbit line (R,G,B)
// example of usage in scripts

◆ setMinorPlanetsOrbitsColor

void SolarSystem::setMinorPlanetsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of the minor planets (R,G,B)
// example of usage in scripts

◆ setMoonsOrbitsColor

void SolarSystem::setMoonsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of moons of planets lines (R,G,B)
// example of usage in scripts

◆ setNeptuneOrbitColor

void SolarSystem::setNeptuneOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Neptune orbit line (R,G,B)
// example of usage in scripts

◆ setOortCloudObjectsOrbitsColor

void SolarSystem::setOortCloudObjectsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of Oort cloud objects (R,G,B)
// example of usage in scripts

◆ setOrbitsColor

void SolarSystem::setOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of the solar system object orbit lines (R,G,B)
// example of usage in scripts

◆ setPlutinosOrbitsColor

void SolarSystem::setPlutinosOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of plutinos (R,G,B)
// example of usage in scripts

◆ setPointerColor

void SolarSystem::setPointerColor ( const Vec3f c)
inlineslot
Parameters
cThe color of the planet pointers
// example of usage in scripts

◆ setSaturnOrbitColor

void SolarSystem::setSaturnOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Saturn orbit line (R,G,B)
// example of usage in scripts

◆ setScatteredDiskObjectsOrbitsColor

void SolarSystem::setScatteredDiskObjectsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of orbits lines of scattered disk objects (R,G,B)
// example of usage in scripts

◆ setSednoidsOrbitsColor

void SolarSystem::setSednoidsOrbitsColor ( const Vec3f c)
slot
Parameters
cThe color of the sednoid orbit lines (R,G,B)
// example of usage in scripts

◆ setTextureForPlanet

void SolarSystem::setTextureForPlanet ( const QString &  planetName,
const QString &  texName 
)
slot
Parameters
planetName
planetName- English name of the planet
texName- file path for texture The texture path starts in the scripts directory.

◆ setTrailsColor

void SolarSystem::setTrailsColor ( const Vec3f c)
inlineslot
Parameters
cThe color of the planet trails lines (R,G,B)
// example of usage in scripts

◆ setUranusOrbitColor

void SolarSystem::setUranusOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Uranus orbit line (R,G,B)
// example of usage in scripts

◆ setVenusOrbitColor

void SolarSystem::setVenusOrbitColor ( const Vec3f c)
slot
Parameters
cThe color of Venus orbit line (R,G,B)
// example of usage in scripts

◆ update()

virtual void SolarSystem::update ( double  deltaTime)
virtual

This includes planet motion trails.

Implements StelModule.