22 #ifndef _LANDSCAPEMGR_HPP_ 23 #define _LANDSCAPEMGR_HPP_ 25 #include "StelModule.hpp" 26 #include "StelUtils.hpp" 27 #include "Landscape.hpp" 30 #include <QStringList> 55 Q_PROPERTY(
bool atmosphereDisplayed
58 NOTIFY atmosphereDisplayedChanged)
59 Q_PROPERTY(
bool cardinalsPointsDisplayed
62 NOTIFY cardinalsPointsDisplayedChanged)
63 Q_PROPERTY(
Vec3f cardinalsPointsColor
66 NOTIFY cardinalsPointsColorChanged)
67 Q_PROPERTY(
bool fogDisplayed
70 NOTIFY fogDisplayedChanged)
71 Q_PROPERTY(
bool landscapeDisplayed
74 NOTIFY landscapeDisplayedChanged)
75 Q_PROPERTY(
bool illuminationDisplayed
78 NOTIFY illuminationDisplayedChanged)
79 Q_PROPERTY(
bool labelsDisplayed
82 NOTIFY labelsDisplayedChanged)
83 Q_PROPERTY(
bool flagUseLightPollutionFromDatabase
86 NOTIFY flagUseLightPollutionFromDatabaseChanged)
87 Q_PROPERTY(
bool flagLandscapeAutoSelection
90 NOTIFY flagLandscapeAutoSelectionChanged)
91 Q_PROPERTY(
bool flagLandscapeSetsLocation
94 NOTIFY flagLandscapeSetsLocationChanged)
98 NOTIFY flagLandscapeUseMinimalBrightnessChanged)
102 NOTIFY flagLandscapeSetsMinimalBrightnessChanged)
106 NOTIFY defaultMinimalBrightnessChanged)
110 NOTIFY setFlagAtmosphereAutoEnableChanged)
137 virtual void update(
double deltaTime);
440 void atmosphereDisplayedChanged(
const bool displayed);
441 void cardinalsPointsDisplayedChanged(
const bool displayed);
442 void cardinalsPointsColorChanged(
const Vec3f & newColor)
const;
443 void fogDisplayedChanged(
const bool displayed);
444 void landscapeDisplayedChanged(
const bool displayed);
445 void illuminationDisplayedChanged(
const bool displayed);
446 void labelsDisplayedChanged(
const bool displayed);
447 void flagUseLightPollutionFromDatabaseChanged(
const bool usage);
448 void flagLandscapeAutoSelectionChanged(
const bool value);
449 void flagLandscapeSetsLocationChanged(
const bool value);
450 void flagLandscapeUseMinimalBrightnessChanged(
const bool value);
451 void flagLandscapeSetsMinimalBrightnessChanged(
const bool value);
452 void defaultMinimalBrightnessChanged(
const double value);
453 void setFlagAtmosphereAutoEnableChanged(
const bool enabled);
492 void setAtmosphereBortleLightPollution(
const int bIndex);
502 float getAtmosphereLightPollutionLuminance()
const;
504 void setAtmosphereLightPollutionLuminance(
const float f);
510 QString nameToID(
const QString& name)
const;
516 QString getLandscapePath(
const QString landscapeID)
const;
519 Cardinals* cardinalsPoints;
524 bool flagLandscapeSetsLocation;
526 bool flagLandscapeAutoSelection;
528 bool flagLightPollutionFromDatabase;
543 QString defaultLandscapeID;
547 QStringList packagedLandscapeIDs;
556 QCache<QString,Landscape> landscapeCache;
559 #endif // _LANDSCAPEMGR_HPP_ void setFlagUseLightPollutionFromDatabase(const bool usage)
Sets the value of the flag usage light pollution (and bortle index) from locations database...
void setZRotation(const float d)
Set the rotation of the landscape about the z-axis.
void setFlagLandscape(const bool displayed)
Set flag for displaying Landscape.
float getAtmosphereFadeDuration() const
Get atmosphere fade duration in s.
QString installLandscapeFromArchive(QString pathToSourceArchive, const bool display=false, const bool forAllUsers=false)
Install a landscape from a ZIP archive.
void currentLandscapeChanged(QString currentLandscapeID, QString currentLandscapeName)
Emitted when the current landscape was changed.
QStringList getUserLandscapeIDs() const
Retrieve a list of the identifiers of all user-installed landscapes.
Store the informations for a location on a planet.
bool removeLandscape(const QString landscapeID)
This function removes a landscape from the user data directory.
Store and manages the displaying of the Landscape.
void spheToRect(const double lng, const double lat, Vec3d &v)
Convert from spherical coordinates to Rectangular direction.
double defaultMinimalBrightness
A minimal brightness value to keep landscape visible.
void errorNotArchive()
Emitted when the file passed to installLandscapeFromArchive() is not a ZIP archive or does not contai...
virtual void update(double deltaTime)
Update time-dependent state.
QString getCurrentLandscapeName() const
Get the current landscape name.
bool flagAtmosphereAutoEnabling
Indicate auto-enable atmosphere for planets with atmospheres in location window.
Compute and display the daylight sky color using openGL.
void setCacheSize(int mb)
Set size of the landscape cache, in MB.
QMap< QString, QString > getNameToDirMap() const
Return a map of landscape names to landscape IDs (directory names).
float getLightscapeBrightness() const
Returns the lightscape brightness.
void landscapesChanged()
Emitted when a landscape has been installed or un-installed.
float getLandscapeOpacity(Vec3d azalt) const
Forward opacity query to current landscape.
bool getFlagIllumination() const
Get flag for displaying illumination layer.
Vec3f getColorCardinalPoints() const
Get Cardinals Points color.
bool setCurrentLandscapeName(const QString &name, const double changeLocationDuration=1.0)
Change the current landscape to the landscape with the name specified.
Manages all the rendering at the level of the observer's surroundings.
bool getFlagUseLightPollutionFromDatabase() const
Return the value of flag usage light pollution (and bortle index) from locations database.
void setFlagFog(const bool displayed)
Set flag for displaying Fog.
Landscape * getCurrentLandscape() const
Get the current landscape object.
Main class for Stellarium core processing.
void setFlagLandscapeUseMinimalBrightness(bool b)
Set the value of the flag determining if a minimal brightness should be used to keep landscape visibl...
bool getFlagAtmosphereAutoEnable() const
Get flag for auto-enable of atmospheres for planets.
bool getFlagFog() const
Get flag for displaying Fog.
QStringList getAllLandscapeNames() const
Retrieve a list of the names of all the available landscapes in the file search path sub-directories ...
void setDefaultMinimalBrightness(const double b)
Set the minimal brightness value of the landscape.
bool getFlagLandscapeUseMinimalBrightness() const
Return the value of the flag determining if a minimal brightness should be used to keep landscape vis...
QStringList getAllLandscapeIDs() const
Retrieve a list of the identifiers of all the available landscapes in the file search path sub-direct...
bool getFlagLandscape() const
Get flag for displaying Landscape.
bool getFlagLabels() const
Get flag for displaying landscape labels.
void setFlagCardinalsPoints(const bool displayed)
Set flag for displaying Cardinals Points.
bool removeCachedLandscape(const QString &id)
Remove a landscape from the cache of landscapes.
float getCurrentLandscapeBrightness(const bool light=false) const
Get the current landscape or lightscape brightness (0..1)
float getBrightness() const
Returns the current brightness level.
QString getDescription() const
Return a pseudo HTML formatted string with information from description or ini file.
QString currentLandscapeID
The ID of the currently loaded landscape.
float getLandscapeSinMinAltitudeLimit() const
Get the sine of current landscape's minimal altitude. Useful to construct bounding caps...
float getAtmosphereAverageLuminance() const
return average luminance [cd/m^2] of atmosphere. Expect 10 at sunset, 6400 in daylight, >0 in dark night.
bool setCurrentLandscapeID(const QString &id, const double changeLocationDuration=1.0)
Change the current landscape to the landscape with the ID specified.
float getLandscapeOpacity(float azimuth, float altitude) const
Forward opacity query to current landscape.
bool getFlagLandscapeAutoSelection() const
Get flag for autoselect of landscapes for planets.
void setFlagLandscapeSetsMinimalBrightness(bool b)
Sets the value of the flag determining if the minimal brightness should be taken from landscape...
quint64 loadLandscapeSize(const QString landscapeID) const
This function calculates and returns a landscape's disc size in bytes.
void setAtmosphereAverageLuminance(const float overrideLuminance)
Override autocomputed value and set average luminance [cd/m^2] of atmosphere.
bool flagLandscapeUseMinimalBrightness
Indicate use of the default minimal brightness value specified in config.ini.
void setFlagLandscapeSetsLocation(bool b)
Set the value of the flag determining if a change of landscape will update the observer location...
double getDefaultMinimalBrightness() const
Return the minimal brightness value of the landscape.
bool flagLandscapeSetsMinimalBrightness
Indicate use of the minimal brightness value specified in the current landscape.ini, if present.
Landscape * createFromFile(const QString &landscapeFile, const QString &landscapeId)
Create a new landscape from the files which describe it.
bool getFlagLandscapeSetsLocation() const
Return the value of the flag determining if a change of landscape will update the observer location...
int getCacheSize() const
Retrieve total size of cache (MB).
virtual double getCallOrder(StelModuleActionName actionName) const
Get the order in which this module will draw its objects relative to other modules.
void setFlagIllumination(const bool on)
Set flag for displaying illumination layer.
StelModuleActionName
Define the possible action for which an order is defined.
bool precacheLandscape(const QString &id, const bool replace=true)
Preload a landscape into cache.
void setFlagLabels(const bool on)
Set flag for displaying landscape labels.
QString loadLandscapeName(const QString landscapeID)
This function reads a landscape's name from its configuration file.
bool getFlagCardinalsPoints() const
Get flag for displaying Cardinals Points.
virtual void init()
Initialize the LandscapeManager class.
void errorNotUnique(QString nameOrID)
Emitted when installLandscapeFromArchive() tries to install a landscape with the same name or identif...
const QString getCurrentLandscapeID() const
Get the current landscape ID.
void setColorCardinalPoints(const Vec3f &v)
Set Cardinals Points color.
virtual float getOpacity(Vec3d azalt) const
Find opacity in a certain direction.
bool getFlagAtmosphere() const
Get flag for displaying Atmosphere.
void setFlagAtmosphereAutoEnable(bool b)
Set flag for auto-enable atmosphere for planets with atmospheres in location window.
void defaultLandscapeChanged(const QString &id)
Emitted whenever the default landscape is changed.
void setFlagAtmosphere(const bool displayed)
Set flag for displaying Atmosphere.
void errorRemoveManually(QString path)
Emitted when removeLandscape() is unable to remove all the files of a landscape.
void setAtmosphereFadeDuration(const float f)
Set atmosphere fade duration in s.
void errorUnableToOpen(QString path)
Emitted when installLandscapeFromArchive() can't read from, write to or create a file or a directory...
bool getFlagLandscapeSetsMinimalBrightness() const
Return the value of the flag determining if the minimal brightness should be taken from landscape...
int getCacheFilledSize() const
Retrieve sum of currently used memory in cache (MB, approximate)
bool getIsLandscapeFullyVisible() const
Get whether the landscape is currently visible. If true, objects below landscape's limiting altitude ...
float getLuminance() const
Return the global landscape luminance [0..1], for being used e.g for setting eye adaptation.
virtual void draw(StelCore *core)
Draw the landscape graphics, cardinal points and atmosphere.
QString getCurrentLandscapeHtmlDescription() const
Return a pseudo HTML formatted string with all informations on the current landscape.
bool setDefaultLandscapeID(const QString &id)
Change the default landscape to the landscape with the ID specified.
const QString getDefaultLandscapeID() const
Get the default landscape ID.
This is the common base class for all the main components of stellarium.
int getCacheCount() const
Return number of landscapes already in the cache.
void setFlagLandscapeAutoSelection(bool enableAutoSelect)
Set flag for autoselect of landscapes for planets.