21 #ifndef _CONSTELLATIONMGR_HPP_
22 #define _CONSTELLATIONMGR_HPP_
25 #include "StelObjectModule.hpp"
30 #include <QStringList>
46 Q_PROPERTY(
bool artDisplayed
49 NOTIFY artDisplayedChanged)
50 Q_PROPERTY(
float artFadeDuration
53 NOTIFY artFadeDurationChanged)
54 Q_PROPERTY(
float artIntensity
57 NOTIFY artIntensityChanged)
58 Q_PROPERTY(
Vec3f boundariesColor
61 NOTIFY boundariesColorChanged)
62 Q_PROPERTY(
bool boundariesDisplayed
65 NOTIFY boundariesDisplayedChanged)
66 Q_PROPERTY(
float fontSize
69 NOTIFY fontSizeChanged)
70 Q_PROPERTY(
bool isolateSelected
73 NOTIFY isolateSelectedChanged)
74 Q_PROPERTY(
Vec3f linesColor
77 NOTIFY linesColorChanged)
78 Q_PROPERTY(
bool linesDisplayed
81 NOTIFY linesDisplayedChanged)
82 Q_PROPERTY(
Vec3f namesColor
85 NOTIFY namesColorChanged)
86 Q_PROPERTY(
bool namesDisplayed
89 NOTIFY namesDisplayedChanged)
93 NOTIFY constellationsDisplayStyleChanged)
113 virtual void update(
double deltaTime);
139 virtual QStringList
listMatchingObjectsI18n(
const QString& objPrefix,
int maxNbItem=5,
bool useStartOfWords=
false)
const;
145 virtual QStringList
listMatchingObjects(
const QString& objPrefix,
int maxNbItem=5,
bool useStartOfWords=
false)
const;
146 virtual QStringList listAllObjects(
bool inEnglish)
const;
147 virtual QStringList listAllObjectsByType(
const QString& objType,
bool inEnglish)
const { Q_UNUSED(objType) Q_UNUSED(inEnglish) return QStringList(); }
148 virtual QString getName()
const {
return "Constellations"; }
152 constellationsAbbreviated = 0,
153 constellationsNative = 1,
154 constellationsTranslated = 2,
155 constellationsEnglish = 3
242 QString getConstellationDisplayStyleString();
252 void artDisplayedChanged(
const bool displayed)
const;
253 void artFadeDurationChanged(
const float duration)
const;
254 void artIntensityChanged(
const double intensity)
const;
255 void boundariesColorChanged(
const Vec3f & color)
const;
256 void boundariesDisplayedChanged(
const bool displayed)
const;
257 void fontSizeChanged(
const float newSize)
const;
258 void isolateSelectedChanged(
const bool isolate)
const;
259 void linesColorChanged(
const Vec3f & color)
const;
260 void linesDisplayedChanged(
const bool displayed)
const;
261 void namesColorChanged(
const Vec3f & color)
const;
262 void namesDisplayedChanged(
const bool displayed)
const;
273 void setStelStyle(
const QString& section);
277 void updateSkyCulture(
const QString& skyCultureDir);
290 void loadNames(
const QString& namesFile);
297 void loadLinesAndArt(
const QString& fileName,
const QString& artfileName,
const QString& cultureName);
312 bool loadBoundaries(
const QString& conCatFile);
316 void loadSeasonalRules(
const QString& rulesFile);
331 void setSelected(
const QString& abbreviation);
333 StelObjectP setSelectedStar(
const QString& abbreviation);
335 void setSelected(
const StelObject* s) {
if (!s) setSelectedConst(NULL);
else setSelectedConst(isStarIn(s));}
337 void deselect() {setSelected(NULL);}
343 void deselectConstellations(
void);
345 std::vector<Constellation*> selected;
348 Constellation* findFromAbbreviation(
const QString& abbreviation)
const;
349 std::vector<Constellation*> asterisms;
353 bool isolateSelected;
354 bool constellationPickEnabled;
355 std::vector<std::vector<Vec3f> *> allBoundarySegments;
357 QString lastLoadedSkyCulture;
363 float artFadeDuration;
366 bool boundariesDisplayed;
371 float constellationLineThickness;
374 #endif // _CONSTELLATIONMGR_HPP_
Vec3f getLabelsColor() const
Get label color for names.
bool getFlagBoundaries(void) const
Get whether constellation boundaries lines are displayed.
void setFlagArt(const bool displayed)
Set whether constellation art will be displayed.
virtual ~ConstellationMgr()
Destructor.
virtual void draw(StelCore *core)
Draw constellation lines, art, names and boundaries.
void setConstellationLineThickness(const double thickness)
Set the thickness of lines of the constellations.
void setFlagBoundaries(const bool displayed)
Set whether constellation boundaries lines will be displayed.
The base abstract class for sky objects used in Stellarium like Stars, Planets, Constellations etc...
ConstellationDisplayStyle getConstellationDisplayStyle()
get the way how contellation names are displayed: abbbreviated/as-given/translated ...
virtual void update(double deltaTime)
Updates time-varying state for each Constellation.
bool getFlagArt(void) const
Get whether constellation art is displayed.
The Constellation class models a grouping of stars in a Sky Culture.
Main class for Stellarium core processing.
Specialization of StelModule which manages a collection of StelObject.
virtual StelObjectP searchByNameI18n(const QString &nameI18n) const
Return the matching constellation object's pointer if exists or NULL.
void setArtFadeDuration(const float duration)
Set constellation art fade duration in second.
double getConstellationLineThickness() const
Get the thickness of lines of the constellations.
virtual QList< StelObjectP > searchAround(const Vec3d &v, double limitFov, const StelCore *core) const
Search for StelObject in an area around a specifid point.
Vec3f getBoundariesColor() const
Get current boundary color.
void setFlagIsolateSelected(const bool isolate)
Set whether selected constellation must be displayed alone.
Converts tones in function of the eye adaptation to luminance.
virtual QStringList listMatchingObjects(const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false) const
Find and return the list of at most maxNbItem objects auto-completing the passed object English name...
void setFontSize(const float newFontSize)
Set the font size used for constellation names display.
void setLinesColor(const Vec3f &color)
Define line color.
Define the StelObjectP type.
Provides functions for performing openGL drawing operations.
Provide the main interface to all operations of projecting coordinates from sky to screen...
float getFontSize() const
Get the font size used for constellation names display.
virtual double getCallOrder(StelModuleActionName actionName) const
Return the value defining the order of call for the given action.
double getArtIntensity() const
Set constellation maximum art intensity (between 0 and 1)
void setFlagConstellationPick(const bool mode)
Set whether only one selected constellation must be displayed.
virtual QStringList listMatchingObjectsI18n(const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false) const
Find and return the list of at most maxNbItem objects auto-completing the passed object I18n name...
void setArtIntensity(const double intensity)
Set constellation maximum art intensity (between 0 and 1)
ConstellationDisplayStyle constellationDisplayStyle
this controls how constellations (and also star names) are printed: Abbreviated/as-given/translated ...
Stores the star catalogue data.
void setLabelsColor(const Vec3f &color)
Set label color for names.
StelModuleActionName
Define the possible action for which an order is defined.
ConstellationDisplayStyle
Describes how to display constellation labels. The viewDialog GUI has a combobox which corresponds to...
void setFlagLabels(const bool displayed)
Set whether constellation names will be displayed.
bool getFlagIsolateSelected(void) const
Get whether selected constellation is displayed alone.
Display and manage the constellations.
virtual StelObjectP searchByName(const QString &name) const
Return the matching constellation if exists or NULL.
bool getFlagLabels(void) const
Set whether constellation names are displayed.
void setConstellationDisplayStyle(int style)
Set the way how contellation names are displayed: abbbreviated/as-given/translated.
float getArtFadeDuration() const
Get constellation art fade duration in second.
StelModuleSelectAction
Enum used when selecting objects to define whether to add to, replace, or remove from the existing se...
bool getFlagConstellationPick(void) const
Get whether only one selected constellation is displayed.
Define the StelProjectorP type.
bool getFlagLines(void) const
Get whether constellation lines are displayed.
void setBoundariesColor(const Vec3f &color)
Define boundary color.
virtual void init()
Initialize the ConstellationMgr.
void setFlagLines(const bool displayed)
Set whether constellation lines will be displayed.
Vec3f getLinesColor() const
Get line color.
ConstellationMgr(StarMgr *stars)
Constructor.