SolarSystem.hpp   SolarSystem.hpp 
skipping to change at line 31 skipping to change at line 31
#ifndef _SOLARSYSTEM_HPP_ #ifndef _SOLARSYSTEM_HPP_
#define _SOLARSYSTEM_HPP_ #define _SOLARSYSTEM_HPP_
//sun is already defined in Sun C/Solaris //sun is already defined in Sun C/Solaris
#if defined(sun) #if defined(sun)
#undef sun #undef sun
#endif #endif
#include "StelObjectModule.hpp" #include "StelObjectModule.hpp"
#include "StelTextureTypes.hpp" #include "StelTextureTypes.hpp"
#include "Planet.hpp" #include "Planet.hpp"
#include "StelGui.hpp"
#include <QFont> #include <QFont>
class Orbit; class Orbit;
class StelTranslator; class StelTranslator;
class StelObject; class StelObject;
class StelCore; class StelCore;
class StelProjector; class StelProjector;
class QSettings; class QSettings;
typedef QSharedPointer<Planet> PlanetP; typedef QSharedPointer<Planet> PlanetP;
//! @class SolarSystem //! @class SolarSystem
//! This StelObjectModule derivative is used to model SolarSystem bodies. //! This StelObjectModule derivative is used to model SolarSystem bodies.
//! This includes the Major Planets, Minor Planets and Comets. //! This includes the Major Planets, Minor Planets and Comets.
class SolarSystem : public StelObjectModule class SolarSystem : public StelObjectModule
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool labelsDisplayed Q_PROPERTY(bool labelsDisplayed // This is a "forwarding property" w hich sets labeling into all planets.
READ getFlagLabels READ getFlagLabels
WRITE setFlagLabels) WRITE setFlagLabels
Q_PROPERTY(bool orbitsDisplayed NOTIFY labelsDisplayedChanged)
Q_PROPERTY(bool flagOrbits // was bool orbitsDisplayed
READ getFlagOrbits READ getFlagOrbits
WRITE setFlagOrbits) WRITE setFlagOrbits
NOTIFY flagOrbitsChanged)
Q_PROPERTY(bool trailsDisplayed Q_PROPERTY(bool trailsDisplayed
READ getFlagTrails READ getFlagTrails
WRITE setFlagTrails) WRITE setFlagTrails
NOTIFY trailsDisplayedChanged)
Q_PROPERTY(bool flagHints // was bool hintsDisplayed. This is a "for
warding property" only, without own variable.
READ getFlagHints
WRITE setFlagHints
NOTIFY flagHintsChanged)
Q_PROPERTY(bool flagPointer // was bool pointersDisplayed
READ getFlagPointer
WRITE setFlagPointer
NOTIFY flagPointerChanged)
Q_PROPERTY(bool flagNativeNames // was bool nativeNamesDisplayed
READ getFlagNativeNames
WRITE setFlagNativeNames
NOTIFY flagNativeNamesChanged)
Q_PROPERTY(bool flagTranslatedNames
READ getFlagTranslatedNames
WRITE setFlagTranslatedNames
NOTIFY flagTranslatedNamesChanged)
//StelProperties
Q_PROPERTY(bool planetsDisplayed Q_PROPERTY(bool planetsDisplayed
READ getFlagPlanets READ getFlagPlanets
WRITE setFlagPlanets) WRITE setFlagPlanets
NOTIFY flagPlanetsDisplayedChanged
)
Q_PROPERTY(bool flagIsolatedOrbits
READ getFlagIsolatedOrbits
WRITE setFlagIsolatedOrbits
NOTIFY flagIsolatedOrbitsChanged
)
Q_PROPERTY(bool flagIsolatedTrails
READ getFlagIsolatedTrails
WRITE setFlagIsolatedTrails
NOTIFY flagIsolatedTrailsChanged
)
Q_PROPERTY(bool flagLightTravelTime
READ getFlagLightTravelTime
WRITE setFlagLightTravelTime
NOTIFY flagLightTravelTimeChanged
)
Q_PROPERTY(bool flagMoonScale
READ getFlagMoonScale
WRITE setFlagMoonScale
NOTIFY flagMoonScaleChanged
)
Q_PROPERTY(double moonScale
READ getMoonScale
WRITE setMoonScale
NOTIFY moonScaleChanged
)
Q_PROPERTY(double labelsAmount
READ getLabelsAmount
WRITE setLabelsAmount
NOTIFY labelsAmountChanged
)
Q_PROPERTY(bool ephemerisMarkersDisplayed
READ getFlagEphemerisMarkers
WRITE setFlagEphemerisMarkers
NOTIFY ephemerisMarkersChanged
)
Q_PROPERTY(bool ephemerisDatesDisplayed
READ getFlagEphemerisDates
WRITE setFlagEphemerisDates
NOTIFY ephemerisDatesChanged
)
Q_PROPERTY(bool flagCustomGrsSettings
READ getFlagCustomGrsSettings
WRITE setFlagCustomGrsSettings
NOTIFY flagCustomGrsSettingsChanged
)
Q_PROPERTY(int customGrsLongitude
READ getCustomGrsLongitude
WRITE setCustomGrsLongitude
NOTIFY customGrsLongitudeChanged
)
Q_PROPERTY(double customGrsDrift
READ getCustomGrsDrift
WRITE setCustomGrsDrift
NOTIFY customGrsDriftChanged
)
Q_PROPERTY(double customGrsJD
READ getCustomGrsJD
WRITE setCustomGrsJD
NOTIFY customGrsJDChanged
)
public: public:
SolarSystem(); SolarSystem();
virtual ~SolarSystem(); virtual ~SolarSystem();
//////////////////////////////////////////////////////////////////// /////// //////////////////////////////////////////////////////////////////// ///////
// Methods defined in the StelModule class // Methods defined in the StelModule class
//! Initialize the SolarSystem. //! Initialize the SolarSystem.
//! Includes: //! Includes:
//! - loading planetary body orbital and model data from data/ssyste m.ini //! - loading planetary body orbital and model data from data/ssyste m.ini
//! - perform initial planet position calculation //! - perform initial planet position calculation
skipping to change at line 112 skipping to change at line 196
//! Search for a SolarSystem object based on the localised name. //! Search for a SolarSystem object based on the localised name.
//! @param nameI18n the case in-sensistive translated planet name. //! @param nameI18n the case in-sensistive translated planet name.
//! @return a StelObjectP for the object if found, else NULL. //! @return a StelObjectP for the object if found, else NULL.
virtual StelObjectP searchByNameI18n(const QString& nameI18n) const; virtual StelObjectP searchByNameI18n(const QString& nameI18n) const;
//! Search for a SolarSystem object based on the English name. //! Search for a SolarSystem object based on the English name.
//! @param name the case in-sensistive English planet name. //! @param name the case in-sensistive English planet name.
//! @return a StelObjectP for the object if found, else NULL. //! @return a StelObjectP for the object if found, else NULL.
virtual StelObjectP searchByName(const QString& name) const; virtual StelObjectP searchByName(const QString& name) const;
//! Find objects by translated name prefix. virtual QStringList listAllObjects(bool inEnglish) const;
//! Find and return the list of at most maxNbItem objects auto-compl
eting
//! the passed object I18n name.
//! @param objPrefix the case insensitive first letters of the searc
hed object.
//! @param maxNbItem the maximum number of returned object names.
//! @param useStartOfWords the autofill mode for returned objects na
mes.
//! @return a list of matching object name by order of relevance, or
an empty list if nothing matches.
virtual QStringList listMatchingObjectsI18n(const QString& objPrefix
, int maxNbItem=5, bool useStartOfWords=false) const;
//! Find objects by translated name prefix.
//! Find and return the list of at most maxNbItem objects auto-compl
eting
//! the passed object English name.
//! @param objPrefix the case insensitive first letters of the searc
hed object.
//! @param maxNbItem the maximum number of returned object names.
//! @param useStartOfWords the autofill mode for returned objects na
mes.
//! @return a list of matching object name by order of relevance, or
an empty list if nothing matches.
virtual QStringList listMatchingObjects(const QString& objPrefix, in
t maxNbItem=5, bool useStartOfWords=false) const;
virtual QStringList listAllObjects(bool inEnglish) const { Q_UNUSED(
inEnglish) return QStringList(); }
virtual QStringList listAllObjectsByType(const QString& objType, boo l inEnglish) const; virtual QStringList listAllObjectsByType(const QString& objType, boo l inEnglish) const;
virtual QString getName() const { return "Solar System"; } virtual QString getName() const { return "Solar System"; }
public slots: public slots:
//////////////////////////////////////////////////////////////////// /////// //////////////////////////////////////////////////////////////////// ///////
// Method callable from script and GUI // Method callable from script and GUI
// Properties setters and getters // Properties setters and getters
//! Set flag which determines if planets are drawn or hidden. //! Set flag which determines if planets are drawn or hidden.
void setFlagPlanets(bool b); void setFlagPlanets(bool b);
//! Get the current value of the flag which determines if planet are drawn or hidden. //! Get the current value of the flag which determines if planet are drawn or hidden.
skipping to change at line 159 skipping to change at line 227
bool getFlagHints() const; bool getFlagHints() const;
//! Set flag which determines if planet labels are drawn or hidden. //! Set flag which determines if planet labels are drawn or hidden.
void setFlagLabels(bool b); void setFlagLabels(bool b);
//! Get the current value of the flag which determines if planet lab els are drawn or hidden. //! Get the current value of the flag which determines if planet lab els are drawn or hidden.
bool getFlagLabels() const; bool getFlagLabels() const;
//! Set the amount of planet labels. The real amount is also proport ional with FOV. //! Set the amount of planet labels. The real amount is also proport ional with FOV.
//! The limit is set in function of the planets magnitude //! The limit is set in function of the planets magnitude
//! @param a the amount between 0 and 10. 0 is no labels, 10 is maxi mum of labels //! @param a the amount between 0 and 10. 0 is no labels, 10 is maxi mum of labels
void setLabelsAmount(float a) {labelsAmount=a;} void setLabelsAmount(double a) {if(a!=labelsAmount) {labelsAmount=a; emit labelsAmountChanged(a);}}
//! Get the amount of planet labels. The real amount is also proport ional with FOV. //! Get the amount of planet labels. The real amount is also proport ional with FOV.
//! @return the amount between 0 and 10. 0 is no labels, 10 is maxim um of labels //! @return the amount between 0 and 10. 0 is no labels, 10 is maxim um of labels
float getLabelsAmount(void) const {return labelsAmount;} double getLabelsAmount(void) const {return labelsAmount;}
//! Set flag which determines if planet orbits are drawn or hidden. //! Set flag which determines if planet orbits are drawn or hidden.
void setFlagOrbits(bool b); void setFlagOrbits(bool b);
//! Get the current value of the flag which determines if planet orb its are drawn or hidden. //! Get the current value of the flag which determines if planet orb its are drawn or hidden.
bool getFlagOrbits() const {return flagOrbits;} bool getFlagOrbits() const {return flagOrbits;}
//! Set flag which determines if planet markers are drawn or hidden. //! Set flag which determines if the planet pointer (red cross) is d
void setFlagMarkers(bool b) { flagMarker=b; } rawn or hidden on a selected planet.
//! Get the current value of the flag which determines if planet mar void setFlagPointer(bool b) { if (b!=flagPointer) { flagPointer=b; e
kers are drawn or hidden. mit flagPointerChanged(b); }}
bool getFlagMarkers() const {return flagMarker;} //! Get the current value of the flag which determines if planet poi
nters are drawn or hidden.
bool getFlagPointer() const { return flagPointer;}
//! Set flag which determines if the light travel time calculation i s used or not. //! Set flag which determines if the light travel time calculation i s used or not.
void setFlagLightTravelTime(bool b); void setFlagLightTravelTime(bool b);
//! Get the current value of the flag which determines if light trav el time //! Get the current value of the flag which determines if light trav el time
//! calculation is used or not. //! calculation is used or not.
bool getFlagLightTravelTime(void) const {return flagLightTravelTime; } bool getFlagLightTravelTime(void) const {return flagLightTravelTime; }
//! Set planet names font size. //! Set planet names font size.
//! @return font size
void setFontSize(float newFontSize); void setFontSize(float newFontSize);
//! Set the color used to draw planet labels. //! Set the color used to draw planet labels.
//! @param c The color of the planet labels //! @param c The color of the planet labels (R,G,B)
//! @code //! @code
//! // example of usage in scripts //! // example of usage in scripts
//! SolarSystem.setLabelsColor(Vec3f(1.0,0.0,0.0)); //! SolarSystem.setLabelsColor(Vec3f(1.0,0.0,0.0));
//! @endcode //! @endcode
void setLabelsColor(const Vec3f& c); void setLabelsColor(const Vec3f& c);
//! Get the current color used to draw planet labels. //! Get the current color used to draw planet labels.
//! @return current color
const Vec3f& getLabelsColor(void) const; const Vec3f& getLabelsColor(void) const;
//! Set the color used to draw planet orbit lines. //! Set the color used to draw planet orbit lines.
//! @param c The color of the planet orbit lines //! @param c The color of the planet orbit lines (R,G,B)
//! @code //! @code
//! // example of usage in scripts //! // example of usage in scripts
//! SolarSystem.setOrbitsColor(Vec3f(1.0,0.0,0.0)); //! SolarSystem.setOrbitsColor(Vec3f(1.0,0.0,0.0));
//! @endcode //! @endcode
void setOrbitsColor(const Vec3f& c); void setOrbitsColor(const Vec3f& c);
//! Get the current color used to draw planet orbit lines. //! Get the current color used to draw planet orbit lines.
//! @return current color
Vec3f getOrbitsColor(void) const; Vec3f getOrbitsColor(void) const;
//! Set the color used to draw planet trails lines. //! Set the color used to draw planet trails lines.
//! @param c The color of the planet trails lines //! @param c The color of the planet trails lines (R,G,B)
//! @code //! @code
//! // example of usage in scripts //! // example of usage in scripts
//! SolarSystem.setTrailsColor(Vec3f(1.0,0.0,0.0)); //! SolarSystem.setTrailsColor(Vec3f(1.0,0.0,0.0));
//! @endcode //! @endcode
void setTrailsColor(const Vec3f& c) {trailColor=c;} void setTrailsColor(const Vec3f& c) {trailColor=c;}
//! Get the current color used to draw planet trails lines. //! Get the current color used to draw planet trails lines.
//! @return current color
Vec3f getTrailsColor() const {return trailColor;} Vec3f getTrailsColor() const {return trailColor;}
//! Set the color used to draw planet pointers. //! Set the color used to draw planet pointers.
//! @param c The color of the planet pointers //! @param c The color of the planet pointers
//! @code //! @code
//! // example of usage in scripts //! // example of usage in scripts
//! SolarSystem.setPointersColor(Vec3f(1.0,0.0,0.0)); //! SolarSystem.setPointerColor(Vec3f(1.0,0.0,0.0));
//! @endcode //! @endcode
void setPointersColor(const Vec3f& c) {pointerColor=c;} void setPointerColor(const Vec3f& c) {pointerColor=c;}
//! Get the current color used to draw planet pointers. //! Get the current color used to draw planet pointers.
Vec3f getPointersColor() const {return pointerColor;} //! @return current color
Vec3f getPointerColor() const {return pointerColor;}
//! Set flag which determines if Earth's moon is scaled or not. //! Set flag which determines if Earth's moon is scaled or not.
void setFlagMoonScale(bool b); void setFlagMoonScale(bool b);
//! Get the current value of the flag which determines if Earth's mo on is scaled or not. //! Get the current value of the flag which determines if Earth's mo on is scaled or not.
bool getFlagMoonScale(void) const {return flagMoonScale;} bool getFlagMoonScale(void) const {return flagMoonScale;}
//! Set the display scaling factor for Earth's moon. //! Set the display scaling factor for Earth's moon.
void setMoonScale(double f); void setMoonScale(double f);
//! Get the display scaling factor for Earth's oon. //! Get the display scaling factor for Earth's moon.
float getMoonScale(void) const {return moonScale;} double getMoonScale(void) const {return moonScale;}
//! Translate names. (public so that SolarSystemEditor can call it). //! Translate names. (public so that SolarSystemEditor can call it).
void updateI18n(); void updateI18n();
//! Get the V magnitude for Solar system bodies from scripts //! Get the V magnitude for Solar system bodies from scripts
//! @param planetName the case in-sensistive English planet name. //! @param planetName the case in-sensistive English planet name.
//! @param withExtinction the flag for use extinction effect for mag nitudes (default not use) //! @param withExtinction the flag for use extinction effect for mag nitudes (default not use)
//! @return a magnitude //! @return a magnitude
float getPlanetVMagnitude(QString planetName, bool withExtinction=fa lse) const; float getPlanetVMagnitude(QString planetName, bool withExtinction=fa lse) const;
skipping to change at line 269 skipping to change at line 342
//! @return a phase angle (in radians) //! @return a phase angle (in radians)
double getPhaseAngleForPlanet(QString planetName) const; double getPhaseAngleForPlanet(QString planetName) const;
//! Get phase for Solar system bodies from scripts //! Get phase for Solar system bodies from scripts
//! @param planetName the case in-sensistive English planet name. //! @param planetName the case in-sensistive English planet name.
//! @return a phase //! @return a phase
float getPhaseForPlanet(QString planetName) const; float getPhaseForPlanet(QString planetName) const;
//! Set the algorithm for computation of apparent magnitudes for pla nets in case observer on the Earth. //! Set the algorithm for computation of apparent magnitudes for pla nets in case observer on the Earth.
//! Possible values: //! Possible values:
//! * Planesas (algorithm provided by Pere Planesas (Observatorio As //! @li @c Planesas (algorithm provided by Pere Planesas (Observator
tronomico Nacional)) io Astronomico Nacional))
//! * Mueller (G. Mueller, based on visual observations 1877-91. [Ex //! @li @c Mueller (G. Mueller, based on visual observations 1877-91
pl.Suppl.1961]) . [Expl.Suppl.1961])
//! * Harris (Astronomical Almanac 1984 and later. These give V (ins //! @li @c Harris (Astronomical Almanac 1984 and later. These give V
trumental) magnitudes) (instrumental) magnitudes)
//! Details: //! Details:
//! J. Meeus "Astronomical Algorithms" (2nd ed., with corrections as //! @li J. Meeus "Astronomical Algorithms" (2nd ed., with correction
of August 10, 2009) p.283-286. s as of August 10, 2009) p.283-286.
//! O. Montenbruck, T. Pfleger "Astronomy on the Personal Computer" //! @li O. Montenbruck, T. Pfleger "Astronomy on the Personal Comput
(4th ed.) p.143-145. er" (4th ed.) p.143-145.
//! Daniel L. Harris "Photometry and Colorimetry of Planets and Sate //! @li Daniel L. Harris "Photometry and Colorimetry of Planets and
llites" http://adsabs.harvard.edu/abs/1961plsa.book..272H Satellites" http://adsabs.harvard.edu/abs/1961plsa.book..272H
//! Hint: Default option in config.ini: astro/apparent_magnitude_alg orithm = Harris //! Hint: Default option in config.ini: astro/apparent_magnitude_alg orithm = Harris
//! @param algorithm the case in-sensitive algorithm name //! @param algorithm the case in-sensitive algorithm name
//! @note: The structure of algorithms is almost identical, just the numbers are different! You should activate //! @note: The structure of algorithms is almost identical, just the numbers are different! You should activate
//! Mueller's algorithm for simulate the eye's impression. (Esp. Ven us!) //! Mueller's algorithm for simulate the eye's impression. (Esp. Ven us!)
void setApparentMagnitudeAlgorithmOnEarth(QString algorithm); void setApparentMagnitudeAlgorithmOnEarth(QString algorithm);
//! Get the algorithm used for computation of apparent magnitudes fo r planets in case observer on the Earth //! Get the algorithm used for computation of apparent magnitudes fo r planets in case observer on the Earth
//! @see setApparentMagnitudeAlgorithmOnEarth()
QString getApparentMagnitudeAlgorithmOnEarth() const; QString getApparentMagnitudeAlgorithmOnEarth() const;
//! Set flag which enable use native names for planets or not. //! Set flag which enable use native names for planets or not.
void setFlagNativeNames(bool b); void setFlagNativeNames(bool b);
//! Get the current value of the flag which enables showing native n ames for planets or not. //! Get the current value of the flag which enables showing native n ames for planets or not.
bool getFlagNativeNames(void) const; bool getFlagNativeNames(void) const;
//! Set flag which enable use translated names for planets or not. //! Set flag which enable use translated names for planets or not.
void setFlagTranslatedNames(bool b); void setFlagTranslatedNames(bool b);
//! Get the current value of the flag which enables showing translat ed names for planets or not. //! Get the current value of the flag which enables showing translat ed names for planets or not.
skipping to change at line 305 skipping to change at line 379
//! Set flag which enabled the showing of isolated trails for select ed objects only or not //! Set flag which enabled the showing of isolated trails for select ed objects only or not
void setFlagIsolatedTrails(bool b); void setFlagIsolatedTrails(bool b);
//! Get the current value of the flag which enables showing of isola ted trails for selected objects only or not. //! Get the current value of the flag which enables showing of isola ted trails for selected objects only or not.
bool getFlagIsolatedTrails(void) const; bool getFlagIsolatedTrails(void) const;
//! Set flag which enabled the showing of isolated orbits for select ed objects only or not //! Set flag which enabled the showing of isolated orbits for select ed objects only or not
void setFlagIsolatedOrbits(bool b); void setFlagIsolatedOrbits(bool b);
//! Get the current value of the flag which enables showing of isola ted orbits for selected objects only or not. //! Get the current value of the flag which enables showing of isola ted orbits for selected objects only or not.
bool getFlagIsolatedOrbits(void) const; bool getFlagIsolatedOrbits(void) const;
//! Set flag which determines if custom settings is using for Great
Red Spot on Jupiter
void setFlagCustomGrsSettings(bool b);
//! Get the current value of the flag which determines if custom set
tings for Great Red Spot on Jupiter is used or not.
bool getFlagCustomGrsSettings();
//! Set longitude of Great Red Spot (System II is used)
//! @param longitude (degrees)
void setCustomGrsLongitude(int longitude);
//! Get longitude of Great Red Spot (System II is used)
//! @return a longitude (degrees)
int getCustomGrsLongitude();
//! Set speed of annual drift for Great Red Spot (System II is used)
//! @param annual drift (degrees)
void setCustomGrsDrift(double drift);
//! Get speed of annual drift for Great Red Spot (System II is used)
double getCustomGrsDrift();
//! Set initial JD for calculation of position of Great Red Spot
//! @param JD
// TODO (GZ): Clarify whether this is JD or rather JDE?
void setCustomGrsJD(double JD);
//! Get initial JD for calculation of position of Great Red Spot
double getCustomGrsJD();
signals:
void labelsDisplayedChanged(bool b);
void flagOrbitsChanged(bool b);
void flagHintsChanged(bool b);
void trailsDisplayedChanged(bool b);
void flagPointerChanged(bool b);
void flagNativeNamesChanged(bool b);
void flagTranslatedNamesChanged(bool b);
void flagPlanetsDisplayedChanged(bool b);
void flagIsolatedOrbitsChanged(bool b);
void flagIsolatedTrailsChanged(bool b);
void flagLightTravelTimeChanged(bool b);
void flagMoonScaleChanged(bool b);
void moonScaleChanged(double f);
void labelsAmountChanged(double f);
void ephemerisMarkersChanged(bool b);
void ephemerisDatesChanged(bool b);
void flagCustomGrsSettingsChanged(bool b);
void customGrsLongitudeChanged(int l);
void customGrsDriftChanged(double drift);
void customGrsJDChanged(double JD);
public: public:
//////////////////////////////////////////////////////////////////// /////// //////////////////////////////////////////////////////////////////// ///////
// Other public methods // Other public methods
//! Get a pointer to a Planet object. //! Get a pointer to a Planet object.
//! @param planetEnglishName the English name of the desired planet. //! @param planetEnglishName the English name of the desired planet.
//! @return The matching planet pointer if exists or NULL. //! @return The matching planet pointer if exists or NULL.
PlanetP searchByEnglishName(QString planetEnglishName) const; PlanetP searchByEnglishName(QString planetEnglishName) const;
//! Get the Planet object pointer for the Sun. //! Get the Planet object pointer for the Sun.
PlanetP getSun() const {return sun;} PlanetP getSun() const {return sun;}
skipping to change at line 337 skipping to change at line 457
//! Get the list of all the planet localized names //! Get the list of all the planet localized names
QStringList getAllPlanetLocalizedNames() const; QStringList getAllPlanetLocalizedNames() const;
//! Reload the planets //! Reload the planets
void reloadPlanets(); void reloadPlanets();
//! Determines relative amount of sun visible from the observer's po sition. //! Determines relative amount of sun visible from the observer's po sition.
double getEclipseFactor(const StelCore *core) const; double getEclipseFactor(const StelCore *core) const;
////////////////////////////////////////////////////////////////////
///////////////////
// DEPRECATED
////////////////////////////////////////////////////////////////////
///////////////////
//! Get a hash of locale and ssystem.ini names for use with the TUI.
//! @return A newline delimited hash of localized:standard planet na
mes.
//! Planet translated name is PARENT : NAME
//! \deprecated ???
QString getPlanetHashString();
//! Compute the position and transform matrix for every element of t he solar system. //! Compute the position and transform matrix for every element of t he solar system.
//! @param observerPos Position of the observer in heliocentric ecli ptic frame (Required for light travel time computation). //! @param observerPos Position of the observer in heliocentric ecli ptic frame (Required for light travel time computation).
//! @param dateJDE the Julian Day in JDE (Ephemeris Time or equivale nt) //! @param dateJDE the Julian Day in JDE (Ephemeris Time or equivale nt)
//! \deprecated ??? In the "deprecated" section, but used in SolarSy stem::init()
void computePositions(double dateJDE, const Vec3d& observerPos = Vec 3d(0.)); void computePositions(double dateJDE, const Vec3d& observerPos = Vec 3d(0.));
//! Get the list of all the bodies of the solar system. //! Get the list of all the bodies of the solar system.
//! \deprecated Used in LandscapeMgr::update(), but commented out.
const QList<PlanetP>& getAllPlanets() const {return systemPlanets;} const QList<PlanetP>& getAllPlanets() const {return systemPlanets;}
private slots: private slots:
//! Called when a new object is selected. //! Called when a new object is selected.
void selectedObjectChange(StelModule::StelModuleSelectAction action) ; void selectedObjectChange(StelModule::StelModuleSelectAction action) ;
//! Load a color scheme
void setStelStyle(const QString& section);
//! Called when the sky culture is updated. //! Called when the sky culture is updated.
//! Loads native names of planets for a given sky culture. //! Loads native names of planets for a given sky culture.
//! @param skyCultureDir the name of the directory containing the sk y culture to use. //! @param skyCultureDir the name of the directory containing the sk y culture to use.
void updateSkyCulture(const QString& skyCultureDir); void updateSkyCulture(const QString& skyCultureDir);
void setFlagEphemerisMarkers(bool b);
bool getFlagEphemerisMarkers() const;
void setFlagEphemerisDates(bool b);
bool getFlagEphemerisDates() const;
private: private:
//! Search for SolarSystem objects which are close to the position g iven //! Search for SolarSystem objects which are close to the position g iven
//! in earth equatorial position. //! in earth equatorial position.
//! @param v A position in earth equatorial position. //! @param v A position in earth equatorial position.
//! @param core the StelCore object. //! @param core the StelCore object.
//! @return a pointer to a StelObject if found, else NULL //! @return a pointer to a StelObject if found, else NULL
StelObjectP search(Vec3d v, const StelCore* core) const; StelObjectP search(Vec3d v, const StelCore* core) const;
//! Compute the transformation matrix for every elements of the sola r system. //! Compute the transformation matrix for every elements of the sola r system.
//! observerPos is needed for light travel time computation. //! observerPos is needed for light travel time computation.
skipping to change at line 415 skipping to change at line 527
void setSelected(const QString& englishName); void setSelected(const QString& englishName);
//! Set selected object from its pointer. //! Set selected object from its pointer.
void setSelected(PlanetP obj); void setSelected(PlanetP obj);
//! Get selected object's pointer. //! Get selected object's pointer.
PlanetP getSelected(void) const {return selected;} PlanetP getSelected(void) const {return selected;}
//! The currently selected planet. //! The currently selected planet.
PlanetP selected; PlanetP selected;
// Moon scale value // Moon scale value
bool flagMoonScale; bool flagMoonScale;
float moonScale; double moonScale;
QFont planetNameFont; QFont planetNameFont;
//! The amount of planets labels (between 0 and 10). //! The amount of planets labels (between 0 and 10).
float labelsAmount; double labelsAmount;
//! List of all the bodies of the solar system. //! List of all the bodies of the solar system.
QList<PlanetP> systemPlanets; QList<PlanetP> systemPlanets;
// Master settings // Master settings
bool flagOrbits; bool flagOrbits;
bool flagLightTravelTime; bool flagLightTravelTime;
//! The selection pointer texture. //! The selection pointer texture.
StelTextureSP texPointer; StelTextureSP texPointer;
StelTextureSP texCircle; // The symbolic circle t exture
bool flagShow; bool flagShow;
bool flagMarker; bool flagPointer; // show red cross select
bool flagNativeNames; ion pointer?
bool flagTranslatedNames; bool flagNativeNames; // show native names?
bool flagTranslatedNames; // show translated names
?
bool flagIsolatedTrails; bool flagIsolatedTrails;
bool flagIsolatedOrbits; bool flagIsolatedOrbits;
bool ephemerisMarkersDisplayed;
bool ephemerisDatesDisplayed;
class TrailGroup* allTrails; class TrailGroup* allTrails;
StelGui* gui;
QSettings* conf;
LinearFader trailFader; LinearFader trailFader;
Vec3f trailColor; Vec3f trailColor;
Vec3f pointerColor; Vec3f pointerColor;
QHash<QString, QString> planetNativeNamesMap; QHash<QString, QString> planetNativeNamesMap;
////////////////////////////////////////////////////////////////////
//////////////
// DEPRECATED
////////////////////////////////////////////////////////////////////
//////////////
QList<Orbit*> orbits; // Pointers on created elliptical or bits QList<Orbit*> orbits; // Pointers on created elliptical or bits
}; };
#endif // _SOLARSYSTEM_HPP_ #endif // _SOLARSYSTEM_HPP_
 End of changes. 37 change blocks. 
89 lines changed or deleted 194 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/