Stellarium  HEAD
Data Structures | Public Slots | Signals | Public Member Functions | Static 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 setFlagMarkers (bool b)
 Set flag which determines if planet markers are drawn for minor bodies.
 
bool getFlagMarkers () const
 Get the current value of the flag which determines if planet markers are drawn for minor bodies.
 
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 whether 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 (const QString &planetName, bool withExtinction=false) const
 Get the V magnitude for Solar system bodies for scripts. More...
 
QString getPlanetType (const QString &planetName) const
 Get type for Solar system bodies for scripts. More...
 
double getDistanceToPlanet (const QString &planetName) const
 Get distance to Solar system bodies for scripts. More...
 
double getElongationForPlanet (const QString &planetName) const
 Get elongation for Solar system bodies for scripts. More...
 
double getPhaseAngleForPlanet (const QString &planetName) const
 Get phase angle for Solar system bodies for scripts. More...
 
float getPhaseForPlanet (const QString &planetName) const
 Get phase for Solar system bodies for scripts. More...
 
void setApparentMagnitudeAlgorithmOnEarth (const 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 setFlagPlanetsOrbits (bool b)
 Set flag which enabled the showing of planets orbits, regardless of the other orbit settings.
 
bool getFlagPlanetsOrbits (void) const
 Get the current value of the flag which enables showing of planets orbits, regardless of the other orbit settings.
 
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 setFlagOrbitsWithMoons (bool b)
 Set flag which enables showing of planets orbits together mith orbits of their moons.
 
bool getFlagOrbitsWithMoons (void) const
 Get the current value of the flag for showing of planets orbits together mith orbits of their moons.
 
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 setGrsLongitude (int longitude)
 Set longitude of Great Red Spot (System II is used) More...
 
int getGrsLongitude () const
 Get longitude of Great Red Spot (System II is used) More...
 
void setGrsDrift (double drift)
 Set speed of annual drift for Great Red Spot (System II is used) More...
 
double getGrsDrift () const
 Get speed of annual drift for Great Red Spot (System II is used)
 
void setGrsJD (double JD)
 Set initial JD for calculation of position of Great Red Spot. More...
 
double getGrsJD ()
 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 (const 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 reloadPlanets ()
 Reload the planets. This can be helpful as scripting command when editing planet details, e.g. comet tails or magnitude parameters.
 
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...
 
int getExtraThreads () const
 Return the number of additional threads (in addition to the main thread) configured to compute planet positions.
 
void setExtraThreads (int n)
 Configure the number of additional threads (in addition to the main thread) to compute planet positions. More...
 
double getMarkerMagThreshold () const
 Return the limiting absolute magnitude configured for plotting minor bodies. (min. mag. 37 includes de facto "all".)
 
void setMarkerMagThreshold (double m)
 Configure the limiting absolute magnitude for plotting minor bodies. Configured value is clamped to -2..37 (practical limit)
 

Signals

void labelsDisplayedChanged (bool b)
 
void flagOrbitsChanged (bool b)
 
void flagHintsChanged (bool b)
 
void markersDisplayedChanged (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 flagPlanetsOrbitsChanged (bool b)
 
void flagPlanetsOrbitsOnlyChanged (bool b)
 
void flagPermanentOrbitsChanged (bool b)
 
void flagIsolatedOrbitsChanged (bool b)
 
void flagOrbitsWithMoonsChanged (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 ephemerisNowChanged (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 grsLongitudeChanged (int l)
 
void grsDriftChanged (double drift)
 
void grsJDChanged (double JD)
 
void earthShadowEnlargementDanjonChanged (bool b)
 
void flagPermanentSolarCoronaChanged (bool b)
 
void labelsColorChanged (const Vec3f &color)
 
void pointerColorChanged (const Vec3f &color)
 
void trailsColorChanged (const Vec3f &color)
 
void orbitsColorChanged (const Vec3f &color)
 
void nomenclatureColorChanged (const Vec3f &color)
 
void majorPlanetsOrbitsColorChanged (const Vec3f &color)
 
void minorPlanetsOrbitsColorChanged (const Vec3f &color)
 
void dwarfPlanetsOrbitsColorChanged (const Vec3f &color)
 
void moonsOrbitsColorChanged (const Vec3f &color)
 
void cubewanosOrbitsColorChanged (const Vec3f &color)
 
void plutinosOrbitsColorChanged (const Vec3f &color)
 
void scatteredDiskObjectsOrbitsColorChanged (const Vec3f &color)
 
void oortCloudObjectsOrbitsColorChanged (const Vec3f &color)
 
void cometsOrbitsColorChanged (const Vec3f &color)
 
void sednoidsOrbitsColorChanged (const Vec3f &color)
 
void interstellarOrbitsColorChanged (const Vec3f &color)
 
void mercuryOrbitColorChanged (const Vec3f &color)
 
void venusOrbitColorChanged (const Vec3f &color)
 
void earthOrbitColorChanged (const Vec3f &color)
 
void marsOrbitColorChanged (const Vec3f &color)
 
void jupiterOrbitColorChanged (const Vec3f &color)
 
void saturnOrbitColorChanged (const Vec3f &color)
 
void uranusOrbitColorChanged (const Vec3f &color)
 
void neptuneOrbitColorChanged (const Vec3f &color)
 
void ephemerisGenericMarkerColorChanged (const Vec3f &color)
 
void ephemerisSecondaryMarkerColorChanged (const Vec3f &color)
 
void ephemerisSelectedMarkerColorChanged (const Vec3f &color)
 
void ephemerisMercuryMarkerColorChanged (const Vec3f &color)
 
void ephemerisVenusMarkerColorChanged (const Vec3f &color)
 
void ephemerisMarsMarkerColorChanged (const Vec3f &color)
 
void ephemerisJupiterMarkerColorChanged (const Vec3f &color)
 
void ephemerisSaturnMarkerColorChanged (const Vec3f &color)
 
void orbitColorStyleChanged (const QString &style)
 
void apparentMagnitudeAlgorithmOnEarthChanged (const QString &algorithm)
 
void solarSystemDataReloaded ()
 
void requestEphemerisVisualization ()
 
void extraThreadsChanged (const int)
 
void markerMagThresholdChanged (double m)
 

Public Member Functions

void init () override
 Initialize the SolarSystem. More...
 
void deinit () override
 Called before the module will be deleted, and before the OpenGL context is suppressed. More...
 
void draw (StelCore *core) override
 Draw SolarSystem objects (planets). More...
 
void update (double deltaTime) override
 Update time-varying components. More...
 
double getCallOrder (StelModuleActionName actionName) const override
 Used to determine what order to draw the various StelModules.
 
QList< StelObjectPsearchAround (const Vec3d &v, double limitFov, const StelCore *core) const override
 Search for SolarSystem objects in some area around a point. More...
 
StelObjectP searchByNameI18n (const QString &nameI18n) const override
 Search for a SolarSystem object based on the localised name. More...
 
StelObjectP searchByName (const QString &name) const override
 Search for a SolarSystem object based on the English name. More...
 
StelObjectP searchByID (const QString &id) const override
 Return the StelObject with the given ID if exists or the empty StelObject if not found. More...
 
QStringList listMatchingObjects (const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false) const override
 Find and return the list of at most maxNbItem objects auto-completing the passed object name. More...
 
QStringList listAllObjects (bool inEnglish) const override
 List all StelObjects. More...
 
QStringList listAllObjectsByType (const QString &objType, bool inEnglish) const override
 List all StelObjects by type. More...
 
QString getName () const override
 Gets a user-displayable name of the object category.
 
QString getStelObjectType () const override
 Returns the name that will be returned by StelObject::getType() for the objects this module manages.
 
PlanetP searchByEnglishName (const QString &planetEnglishName) const
 Get a pointer to a Planet object. More...
 
PlanetP searchMinorPlanetByEnglishName (const 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.
 
bool removeMinorPlanet (const 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 (StelCore *core, 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.
 
bool drawAsteroidMarker (StelCore *core, StelPainter *sPainter, const float x, const float y, Vec3f &color)
 
float getMarkerValue () const
 
- 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
 StelModule ()
 Constructor. Every derived class MUST call setObjectName(className) in its constructor.
 
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 address 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...
 

Static Public Member Functions

static double getEclipseCrescentAngle (const double lunarSize, const double solarSize, const double eclipseMagnitude)
 Opening angle of the bright Solar crescent, radians From: J. More...
 

Properties

bool labelsDisplayed
 
bool trailsDisplayed
 
int maxTrailPoints
 
int maxTrailTimeExtent
 
int trailsThickness
 
bool flagHints
 
bool flagMarkers
 
bool flagPointer
 
bool flagNativePlanetNames
 
bool planetsDisplayed
 
bool flagOrbits
 
bool flagPlanetsOrbits
 
bool flagPlanetsOrbitsOnly
 
bool flagPermanentOrbits
 
bool flagIsolatedOrbits
 
bool flagOrbitsWithMoons
 
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 ephemerisNow
 
int grsLongitude
 
double grsDrift
 
double grsJD
 
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
 
int extraThreads
 Number of additional threads. This could be automatically derived, but for now we can experiment.
 
double markerMagThreshold
 absolute value of the dimmest SSO drawn by drawAsteroidMarker()
 

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

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

This StelObjectModule derivative is used to model SolarSystem bodies.

The following is a reverse-engineered analysis.

This includes the Major Planets (class Planet), Minor Planets (class MinorPlanet) and Comets (class Comet).

Member Function Documentation

◆ computePositions()

void SolarSystem::computePositions ( StelCore core,
double  dateJDE,
PlanetP  observerPlanet 
)

Compute the position and transform matrix for every element of the solar system.

Parameters
corethe central StelCore instance
dateJDEthe Julian Day in JDE (Ephemeris Time or equivalent)
observerPlanetplanet of the observer (Required for light travel time or aberration computation).

◆ deinit()

void SolarSystem::deinit ( )
overridevirtual

Called before the module will be deleted, and before the OpenGL context is suppressed.

Deinitialize all OpenGL texture in this method.

Reimplemented from StelModule.

◆ draw()

void SolarSystem::draw ( StelCore core)
overridevirtual

Draw SolarSystem objects (planets).

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

Get the algorithm used for computation of apparent magnitudes for planets in case observer on the Earth.

See also
setApparentMagnitudeAlgorithmOnEarth()

◆ getCometsOrbitsColor

Vec3f SolarSystem::getCometsOrbitsColor ( void  ) const
slot

Get the current color used to draw comet orbit lines.

Returns
current color

◆ getCubewanosOrbitsColor

Vec3f SolarSystem::getCubewanosOrbitsColor ( void  ) const
slot

Get the current color used to draw orbits lines of cubewanos.

Returns
current color

◆ getDistanceToPlanet

double SolarSystem::getDistanceToPlanet ( const QString &  planetName) const
slot

Get distance to Solar system bodies for scripts.

Parameters
planetNamethe case in-sensitive English planet name.
Returns
a distance (in AU)

◆ getDwarfPlanetsOrbitsColor

Vec3f SolarSystem::getDwarfPlanetsOrbitsColor ( void  ) const
slot

Get the current color used to draw orbits lines of the dwarf planets.

Returns
current color

◆ getEarthOrbitColor

Vec3f SolarSystem::getEarthOrbitColor ( void  ) const
slot

Get the current color used to draw Earth orbit line.

Returns
current color

◆ getEarthShadowRadiiAtLunarDistance()

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

Retrieve Radius of Umbra and Penumbra at the distance of the Moon.

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.

◆ getEclipseCrescentAngle()

static double SolarSystem::getEclipseCrescentAngle ( const double  lunarSize,
const double  solarSize,
const double  eclipseMagnitude 
)
static

Opening angle of the bright Solar crescent, radians From: J.

Meeus, Morsels IV, ch.15

Parameters
lunarSizeapparent Lunar angular size (radius or diameter), angular units of your preference
solarSizeapparent Solar angular size (radius or diameter, resp.), same angular units
eclipseMagnitudecovered fraction of the Solar diameter.

◆ getElongationForPlanet

double SolarSystem::getElongationForPlanet ( const QString &  planetName) const
slot

Get elongation for Solar system bodies for scripts.

Parameters
planetNamethe case in-sensitive English planet name.
Returns
a elongation (in radians)

◆ getGrsLongitude

int SolarSystem::getGrsLongitude ( ) const
slot

Get longitude of Great Red Spot (System II is used)

Returns
a longitude (degrees)

◆ getInterstellarOrbitsColor

Vec3f SolarSystem::getInterstellarOrbitsColor ( void  ) const
slot

Get the current color used to draw interstellar orbit lines.

Returns
current color

◆ getJupiterOrbitColor

Vec3f SolarSystem::getJupiterOrbitColor ( void  ) const
slot

Get the current color used to draw Jupiter orbit line.

Returns
current color

◆ getLabelsAmount

double SolarSystem::getLabelsAmount ( void  ) const
inlineslot

Get the amount of planet labels.

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

Get the current color used to draw planet labels.

Returns
current color

◆ getMajorPlanetsOrbitsColor

Vec3f SolarSystem::getMajorPlanetsOrbitsColor ( void  ) const
slot

Get the current color used to draw orbits lines of the major planets.

Returns
current color

◆ getMarsOrbitColor

Vec3f SolarSystem::getMarsOrbitColor ( void  ) const
slot

Get the current color used to draw Mars orbit line.

Returns
current color

◆ getMercuryOrbitColor

Vec3f SolarSystem::getMercuryOrbitColor ( void  ) const
slot

Get the current color used to draw Mercury orbit line.

Returns
current color

◆ getMinorPlanetsOrbitsColor

Vec3f SolarSystem::getMinorPlanetsOrbitsColor ( void  ) const
slot

Get the current color used to draw orbits lines of the minor planets.

Returns
current color

◆ getMoonsOrbitsColor

Vec3f SolarSystem::getMoonsOrbitsColor ( void  ) const
slot

Get the current color used to draw orbits lines of moons of planets.

Returns
current color

◆ getNeptuneOrbitColor

Vec3f SolarSystem::getNeptuneOrbitColor ( void  ) const
slot

Get the current color used to draw Neptune orbit line.

Returns
current color

◆ getObjectsList

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

Get list of objects by type.

Parameters
objTypeobject type

◆ getOortCloudObjectsOrbitsColor

Vec3f SolarSystem::getOortCloudObjectsOrbitsColor ( void  ) const
slot

Get the current color used to draw orbits lines of Oort cloud objects.

Returns
current color

◆ getOrbitsColor

Vec3f SolarSystem::getOrbitsColor ( void  ) const
slot

Get the current color used to draw solar system object orbit lines.

Returns
current color

◆ getPhaseAngleForPlanet

double SolarSystem::getPhaseAngleForPlanet ( const QString &  planetName) const
slot

Get phase angle for Solar system bodies for scripts.

Parameters
planetNamethe case in-sensitive English planet name.
Returns
a phase angle (in radians)

◆ getPhaseForPlanet

float SolarSystem::getPhaseForPlanet ( const QString &  planetName) const
slot

Get phase for Solar system bodies for scripts.

Parameters
planetNamethe case in-sensitive English planet name.
Returns
phase, i.e. illuminated fraction [0..1]

◆ getPlanetType

QString SolarSystem::getPlanetType ( const QString &  planetName) const
slot

Get type for Solar system bodies for scripts.

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 ( const QString &  planetName,
bool  withExtinction = false 
) const
slot

Get the V magnitude for Solar system bodies for scripts.

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

Get the current color used to draw orbits lines of plutinos.

Returns
current color

◆ getPointerColor

Vec3f SolarSystem::getPointerColor ( ) const
inlineslot

Get the current color used to draw planet pointers.

Returns
current color

◆ getSaturnOrbitColor

Vec3f SolarSystem::getSaturnOrbitColor ( void  ) const
slot

Get the current color used to draw Saturn orbit line.

Returns
current color

◆ getScatteredDiskObjectsOrbitsColor

Vec3f SolarSystem::getScatteredDiskObjectsOrbitsColor ( void  ) const
slot

Get the current color used to draw orbits lines of scattered disk objects.

Returns
current color

◆ getSednoidsOrbitsColor

Vec3f SolarSystem::getSednoidsOrbitsColor ( void  ) const
slot

Get the current color used to draw sednoid orbit lines.

Returns
current color

◆ getSolarEclipseFactor()

QPair<double, PlanetP> SolarSystem::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).

Full sun is 1.0, fully covered sun is 0.0. In the unlikely event of multiple objects in front of the sun, only the largest will be reported.

◆ getTrailsColor

Vec3f SolarSystem::getTrailsColor ( ) const
inlineslot

Get the current color used to draw planet trails lines.

Returns
current color

◆ getUranusOrbitColor

Vec3f SolarSystem::getUranusOrbitColor ( void  ) const
slot

Get the current color used to draw Uranus orbit line.

Returns
current color

◆ getVenusOrbitColor

Vec3f SolarSystem::getVenusOrbitColor ( void  ) const
slot

Get the current color used to draw Venus orbit line.

Returns
current color

◆ init()

void SolarSystem::init ( )
overridevirtual

Initialize the SolarSystem.

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()

QStringList SolarSystem::listAllObjects ( bool  inEnglish) const
overridevirtual

List all StelObjects.

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()

QStringList SolarSystem::listAllObjectsByType ( const QString &  objType,
bool  inEnglish 
) const
overridevirtual

List all StelObjects by type.

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()

QStringList SolarSystem::listMatchingObjects ( const QString &  objPrefix,
int  maxNbItem = 5,
bool  useStartOfWords = false 
) const
overridevirtual

Find and return the list of at most maxNbItem objects auto-completing the passed object name.

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

Reset textures for planet.

Parameters
planetName
Note
if
Parameters
planetNameis empty then reset will happen for all solar system objects

◆ searchAround()

QList<StelObjectP> SolarSystem::searchAround ( const Vec3d v,
double  limitFov,
const StelCore core 
) const
overridevirtual

Search for SolarSystem objects in some area around a point.

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 ( const QString &  planetEnglishName) const

Get a pointer to a Planet object.

Parameters
planetEnglishNamethe English name of the desired planet.
Returns
The matching planet pointer if exists or Q_NULLPTR.

◆ searchByID()

StelObjectP SolarSystem::searchByID ( const QString &  id) const
inlineoverridevirtual

Return the StelObject with the given ID if exists or the empty StelObject if not found.

Parameters
namethe english object name

Implements StelObjectModule.

◆ searchByName()

StelObjectP SolarSystem::searchByName ( const QString &  name) const
overridevirtual

Search for a SolarSystem object based on the English name.

Parameters
namethe case in-sensitive English planet name.
Returns
a StelObjectP for the object if found, else Q_NULLPTR.

Implements StelObjectModule.

◆ searchByNameI18n()

StelObjectP SolarSystem::searchByNameI18n ( const QString &  nameI18n) const
overridevirtual

Search for a SolarSystem object based on the localised name.

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 ( const QString &  algorithm)
slot

Set the algorithm for computation of apparent magnitudes for planets in case observer on the Earth.

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

Set the color used to draw comet orbit lines.

Parameters
cThe color of the comet orbit lines (R,G,B)
// example of usage in scripts

◆ setCubewanosOrbitsColor

void SolarSystem::setCubewanosOrbitsColor ( const Vec3f c)
slot

Set the color used to draw orbits lines of cubewanos.

Parameters
cThe color of orbits lines of cubewanos (R,G,B)
// example of usage in scripts

◆ setDwarfPlanetsOrbitsColor

void SolarSystem::setDwarfPlanetsOrbitsColor ( const Vec3f c)
slot

Set the color used to draw orbits lines of the dwarf planets.

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

Set the color used to draw Earth orbit line.

Parameters
cThe color of Earth orbit line (R,G,B)
// example of usage in scripts

◆ setExtraThreads

void SolarSystem::setExtraThreads ( int  n)
slot

Configure the number of additional threads (in addition to the main thread) to compute planet positions.

The argument will be bounded by 0 and QThreadPool::globalInstance()->maxThreadCount()-1

◆ setFontSize

void SolarSystem::setFontSize ( int  newFontSize)
slot

Set planet names font size.

Returns
font size

◆ setGrsDrift

void SolarSystem::setGrsDrift ( double  drift)
slot

Set speed of annual drift for Great Red Spot (System II is used)

Parameters
annualdrift (degrees)

◆ setGrsJD

void SolarSystem::setGrsJD ( double  JD)
slot

Set initial JD for calculation of position of Great Red Spot.

Parameters
JD

◆ setGrsLongitude

void SolarSystem::setGrsLongitude ( int  longitude)
slot

Set longitude of Great Red Spot (System II is used)

Parameters
longitude(degrees)

◆ setInterstellarOrbitsColor

void SolarSystem::setInterstellarOrbitsColor ( const Vec3f c)
slot

Set the color used to draw interstellar orbit (hyperbolic trajectory) lines.

Parameters
cThe color of the interstellar orbit lines (R,G,B)
// example of usage in scripts

◆ setJupiterOrbitColor

void SolarSystem::setJupiterOrbitColor ( const Vec3f c)
slot

Set the color used to draw Jupiter orbit line.

Parameters
cThe color of Jupiter orbit line (R,G,B)
// example of usage in scripts

◆ setLabelsAmount

void SolarSystem::setLabelsAmount ( double  a)
inlineslot

Set the amount of planet labels.

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

Set the color used to draw planet labels.

Parameters
cThe color of the planet labels (R,G,B)
// example of usage in scripts

◆ setMajorPlanetsOrbitsColor

void SolarSystem::setMajorPlanetsOrbitsColor ( const Vec3f c)
slot

Set the color used to draw orbits lines of the major planets.

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

Set the color used to draw Mars orbit line.

Parameters
cThe color of Mars orbit line (R,G,B)
// example of usage in scripts

◆ setMaxTrailPoints

void SolarSystem::setMaxTrailPoints ( int  max)
slot

Set maximum number of trail points.

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

Set 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. 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

Set the color used to draw Mercury orbit line.

Parameters
cThe color of Mercury orbit line (R,G,B)
// example of usage in scripts

◆ setMinorPlanetsOrbitsColor

void SolarSystem::setMinorPlanetsOrbitsColor ( const Vec3f c)
slot

Set the color used to draw orbits lines of the minor planets.

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

Set the color used to draw orbits lines of moons of planets.

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

Set the color used to draw Neptune orbit line.

Parameters
cThe color of Neptune orbit line (R,G,B)
// example of usage in scripts

◆ setOortCloudObjectsOrbitsColor

void SolarSystem::setOortCloudObjectsOrbitsColor ( const Vec3f c)
slot

Set the color used to draw orbits lines of Oort cloud objects.

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

Set the color used to draw solar system object orbit lines.

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

Set the color used to draw orbits lines of plutinos.

Parameters
cThe color of orbits lines of plutinos (R,G,B)
// example of usage in scripts

◆ setPointerColor

void SolarSystem::setPointerColor ( const Vec3f c)
inlineslot

Set the color used to draw planet pointers.

Parameters
cThe color of the planet pointers
// example of usage in scripts

◆ setSaturnOrbitColor

void SolarSystem::setSaturnOrbitColor ( const Vec3f c)
slot

Set the color used to draw Saturn orbit line.

Parameters
cThe color of Saturn orbit line (R,G,B)
// example of usage in scripts

◆ setScatteredDiskObjectsOrbitsColor

void SolarSystem::setScatteredDiskObjectsOrbitsColor ( const Vec3f c)
slot

Set the color used to draw orbits lines of scattered disk objects.

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

Set the color used to draw sednoid orbit lines.

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

Replace the texture for the planet.

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

Set the color used to draw planet trails lines.

Parameters
cThe color of the planet trails lines (R,G,B)
// example of usage in scripts

◆ setUranusOrbitColor

void SolarSystem::setUranusOrbitColor ( const Vec3f c)
slot

Set the color used to draw Uranus orbit line.

Parameters
cThe color of Uranus orbit line (R,G,B)
// example of usage in scripts

◆ setVenusOrbitColor

void SolarSystem::setVenusOrbitColor ( const Vec3f c)
slot

Set the color used to draw Venus orbit line.

Parameters
cThe color of Venus orbit line (R,G,B)
// example of usage in scripts

◆ update()

void SolarSystem::update ( double  deltaTime)
overridevirtual

Update time-varying components.

This includes planet motion trails.

Reimplemented from StelModule.