Stellarium  HEAD
Public Slots | Signals | Public Member Functions | Properties
ConstellationMgr Class Reference

Display and manage the constellations. More...

#include <ConstellationMgr.hpp>

Public Slots

void setFlagArt (const bool displayed)
 Set whether constellation art will be displayed.
 
bool getFlagArt (void) const
 Get whether constellation art is displayed.
 
void setArtFadeDuration (const float duration)
 Set constellation art fade duration in second.
 
float getArtFadeDuration () const
 Get constellation art fade duration in second.
 
void setArtIntensity (const float intensity)
 Set constellation maximum art intensity (between 0 and 1) Note that the art intensity is linearly faded out if the FOV is in a specific interval, which can be adjusted using setArtIntensityMinimumFov() and setArtIntensityMaximumFov()
 
float getArtIntensity () const
 Return constellation maximum art intensity (between 0 and 1) Note that the art intensity is linearly faded out if the FOV is in a specific interval, which can be adjusted using setArtIntensityMinimumFov() and setArtIntensityMaximumFov()
 
void setArtIntensityMinimumFov (const double fov)
 Sets the lower bound on the FOV at which the art intensity fades to zero. More...
 
double getArtIntensityMinimumFov () const
 Returns the lower bound on the FOV at which the art intensity fades to zero. More...
 
void setArtIntensityMaximumFov (const double fov)
 Sets the upper bound on the FOV at which the art intensity becomes the maximum set by setArtIntensity() See LP:#1294483. More...
 
double getArtIntensityMaximumFov () const
 Returns the upper bound on the FOV at which the art intensity becomes the maximum set by setArtIntensity() See LP:#1294483. More...
 
void setBoundariesColor (const Vec3f &color)
 Define boundary color. More...
 
Vec3f getBoundariesColor () const
 Get current boundary color.
 
void setFlagBoundaries (const bool displayed)
 Set whether constellation boundaries lines will be displayed.
 
bool getFlagBoundaries (void) const
 Get whether constellation boundaries lines are displayed.
 
void setBoundariesFadeDuration (const float duration)
 Set constellation boundaries fade duration in second.
 
float getBoundariesFadeDuration () const
 Get constellation boundaries fade duration in second.
 
void setFlagIsolateSelected (const bool isolate)
 Set whether selected constellation must be displayed alone.
 
bool getFlagIsolateSelected (void) const
 Get whether selected constellation is displayed alone.
 
void setFlagConstellationPick (const bool mode)
 Set whether only one selected constellation must be displayed.
 
bool getFlagConstellationPick (void) const
 Get whether only one selected constellation is displayed.
 
void setLinesColor (const Vec3f &color)
 Define line color. More...
 
Vec3f getLinesColor () const
 Get line color.
 
void setFlagLines (const bool displayed)
 Set whether constellation lines will be displayed.
 
bool getFlagLines (void) const
 Get whether constellation lines are displayed.
 
void setLinesFadeDuration (const float duration)
 Set constellation lines fade duration in second.
 
float getLinesFadeDuration () const
 Get constellation lines fade duration in second.
 
void setLabelsColor (const Vec3f &color)
 Set label color for names. More...
 
Vec3f getLabelsColor () const
 Get label color for names.
 
void setFlagLabels (const bool displayed)
 Set whether constellation names will be displayed.
 
bool getFlagLabels (void) const
 Set whether constellation names are displayed.
 
void setLabelsFadeDuration (const float duration)
 Set constellation labels fade duration in seconds.
 
float getLabelsFadeDuration () const
 Get constellation labels fade duration in seconds.
 
void setHullsColor (const Vec3f &color)
 Define hull line color. More...
 
Vec3f getHullsColor () const
 Get current hulls color.
 
void setFlagHulls (const bool displayed)
 Set whether constellation hull lines will be displayed.
 
bool getFlagHulls (void) const
 Get whether constellation boundaries lines are displayed.
 
void setHullsFadeDuration (const float duration)
 Set constellation hulls fade duration in second.
 
float getHullsFadeDuration () const
 Get constellation hulls fade duration in second.
 
void setFontSize (const int newFontSize)
 Set the font size used for constellation names display.
 
int getFontSize () const
 Get the font size used for constellation names display.
 
void setConstellationLineThickness (const int thickness)
 Set the thickness of lines of the constellations. More...
 
int getConstellationLineThickness () const
 Get the thickness of lines of the constellations.
 
void setBoundariesThickness (const int thickness)
 Set the thickness of boundaries of the constellations. More...
 
int getBoundariesThickness () const
 Get the thickness of boundaries of the constellations.
 
void setHullsThickness (const int thickness)
 Set the thickness of constellation hulls. More...
 
int getHullsThickness () const
 Get the thickness of constellations hulls.
 
void setZodiacColor (const Vec3f &color)
 Define zodiac line color. More...
 
Vec3f getZodiacColor () const
 Get current zodiac color.
 
void setFlagZodiac (const bool displayed)
 Set whether zodiac will be displayed, if defined.
 
bool getFlagZodiac (void) const
 Get whether zodiac-related lines are displayed (if defined in the skyculture)
 
void setZodiacFadeDuration (const float duration)
 Set zodiac fade duration in second.
 
float getZodiacFadeDuration () const
 Get zodiac fade duration in second.
 
void setLunarSystemColor (const Vec3f &color)
 Define lunarSystem line color. More...
 
Vec3f getLunarSystemColor () const
 Get current lunarSystem color.
 
void setFlagLunarSystem (const bool displayed)
 Set whether lunarSystem lines will be displayed, if defined.
 
bool getFlagLunarSystem (void) const
 Get whether lunarSystem lines are displayed.
 
void setLunarSystemFadeDuration (const float duration)
 Set lunarSystem fade duration in second.
 
float getLunarSystemFadeDuration () const
 Get lunarSystem fade duration in second.
 
void setZodiacThickness (const int thickness)
 Set the thickness of zodiac-related lines. More...
 
int getZodiacThickness () const
 Get the thickness of zodiac-related lines.
 
void setLunarSystemThickness (const int thickness)
 Set the thickness of lunarSystem-related lines. More...
 
int getLunarSystemThickness () const
 Get the thickness of lunarSystem-related lines.
 
void deselectConstellations (void)
 Remove constellations from selected objects.
 
void selectAllConstellations (void)
 Select all constellations.
 
void selectConstellation (const QString &englishName)
 Select the constellation by its English name. More...
 
void selectConstellationByObjectName (const QString &englishName)
 Select the constellation where celestial body with English name is located. More...
 
void deselectConstellation (const QString &englishName)
 Remove the constellation from list of selected constellations by its English name. More...
 
QStringList getConstellationsEnglishNames ()
 Get the list of English names of all constellations for loaded sky culture.
 
void outputHullAreas (const QString &fileNamePrefix="hullAreas") const
 Create a list of entries: Constellation: Hull_area to logfile. More...
 
void starsInHullOf (const QString &englishName, const bool hipOnly=true, const float maxMag=25.0f, const QString &fileNamePrefix="hullStars") const
 Create a list of stars (CSV file) within the convex hull of constellation. More...
 

Signals

void artDisplayedChanged (const bool displayed)
 
void artFadeDurationChanged (const float duration)
 
void artIntensityChanged (const double intensity)
 
void boundariesColorChanged (const Vec3f &color)
 
void boundariesDisplayedChanged (const bool displayed)
 
void boundariesFadeDurationChanged (const float duration)
 
void boundariesThicknessChanged (int thickness)
 
void hullsColorChanged (const Vec3f &color)
 
void hullsDisplayedChanged (const bool displayed)
 
void hullsFadeDurationChanged (const float duration)
 
void hullsThicknessChanged (int thickness)
 
void zodiacColorChanged (const Vec3f &color)
 
void zodiacDisplayedChanged (const bool displayed)
 
void zodiacFadeDurationChanged (const float duration)
 
void zodiacThicknessChanged (int thickness)
 
void lunarSystemColorChanged (const Vec3f &color)
 
void lunarSystemDisplayedChanged (const bool displayed)
 
void lunarSystemFadeDurationChanged (const float duration)
 
void lunarSystemThicknessChanged (int thickness)
 
void fontSizeChanged (const int newSize)
 
void isolateSelectedChanged (const bool isolate)
 
void flagConstellationPickChanged (const bool mode)
 
void linesColorChanged (const Vec3f &color)
 
void linesDisplayedChanged (const bool displayed)
 
void linesFadeDurationChanged (const float duration)
 
void namesColorChanged (const Vec3f &color)
 
void namesDisplayedChanged (const bool displayed)
 
void namesFadeDurationChanged (const float duration)
 
void constellationsDisplayStyleChanged (const StelObject::CulturalDisplayStyle style)
 
void constellationLineThicknessChanged (int thickness)
 

Public Member Functions

 ConstellationMgr (StarMgr *stars)
 Constructor.
 
 ~ConstellationMgr () override
 Destructor.
 
void init () override
 Initialize the ConstellationMgr. More...
 
void draw (StelCore *core) override
 Draw constellation lines, art, names and boundaries.
 
void update (double deltaTime) override
 Updates time-varying state for each Constellation.
 
double getCallOrder (StelModuleActionName actionName) const override
 Return the value defining the order of call for the given action. More...
 
QList< StelObjectPsearchAround (const Vec3d &v, double limitFov, const StelCore *core) const override
 Search for StelObject in an area around a specified point. More...
 
StelObjectP searchByNameI18n (const QString &nameI18n) const override
 
StelObjectP searchByName (const QString &name) const override
 
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 listAllObjects (bool inEnglish) const override
 List all StelObjects. 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.
 
bool hasZodiac () const
 Returns whether the current skyculture defines a zodiac-type cultural coordinate system.
 
bool hasLunarSystem () const
 Returns whether the current skyculture defines a lunar-related cultural coordinate system (lunar stations or mansions)
 
QString getZodiacSystemName () const
 
QString getLunarSystemName () const
 
QString getZodiacCoordinate (Vec3d eqNow) const
 
QString getLunarSystemCoordinate (Vec3d eqNow) const
 
QList< Constellation * > isObjectIn (const StelObject *s, bool useHull) const
 Return list of constellations the object is member of. More...
 
- Public Member Functions inherited from StelObjectModule
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 passed object name. More...
 
virtual QStringList listAllObjectsByType (const QString &objType, bool inEnglish) const
 List all StelObjects by type. More...
 
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 void deinit ()
 Called before the module will be deleted, and before the OpenGL context is suppressed. More...
 
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...
 

Properties

bool artDisplayed
 
float artFadeDuration
 
float artIntensity
 
Vec3f boundariesColor
 
bool boundariesDisplayed
 
float boundariesFadeDuration
 
int fontSize
 
bool isolateSelected
 true to pick individual constellations.
 
bool flagConstellationPick
 
Vec3f linesColor
 
bool linesDisplayed
 
float linesFadeDuration
 
Vec3f namesColor
 
bool namesDisplayed
 
float namesFadeDuration
 
int constellationLineThickness
 line width of the constellation lines
 
int boundariesThickness
 line width of the constellation boundaries
 
bool hullsDisplayed
 
Vec3f hullsColor
 
int hullsThickness
 line width of the constellation boundaries
 
float hullsFadeDuration
 
bool zodiacDisplayed
 
Vec3f zodiacColor
 
int zodiacThickness
 line width of the zodiac lines, if any
 
float zodiacFadeDuration
 
bool lunarSystemDisplayed
 
Vec3f lunarSystemColor
 
int lunarSystemThickness
 line width of the lunarSystem lines, if any
 
float lunarSystemFadeDuration
 

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

Display and manage the constellations.

It can display constellations lines, names, art textures and boundaries. It also supports several different sky cultures. Some sky cultures have up to 2 optional StelSkycultureSkyPartition elements related to concepts of a Zodiac (the known cases are all similar, 12x30 degrees along the ecliptic), or of sections along ecliptic or equator related to the Moon, called LunarSystems. These are more diverse, but still only at most one per skyculture. Both of these systems bear concepts of coordinates and are important for timekeeping, but esp. the Chinese systems also for actual use as celestial coordinates.

Member Function Documentation

◆ deselectConstellation

void ConstellationMgr::deselectConstellation ( const QString &  englishName)
slot

Remove the constellation from list of selected constellations by its English name.

Calling this method will enable isolated selection for the constellations if it is not enabled yet.

Parameters
englishNamethe English name of the constellation
// example of usage in scripts: remove Orion from the selection of constellations
Note
all constellations will be hidden when list of selected constellations is empty

◆ getArtIntensityMaximumFov

double ConstellationMgr::getArtIntensityMaximumFov ( ) const
slot

Returns the upper bound on the FOV at which the art intensity becomes the maximum set by setArtIntensity() See LP:#1294483.

The default is 2.0.

◆ getArtIntensityMinimumFov

double ConstellationMgr::getArtIntensityMinimumFov ( ) const
slot

Returns the lower bound on the FOV at which the art intensity fades to zero.

See LP:#1294483. The default is 1.0.

◆ getCallOrder()

double ConstellationMgr::getCallOrder ( StelModuleActionName  actionName) const
overridevirtual

Return the value defining the order of call for the given action.

Parameters
actionNamethe name of the action for which we want the call order
Returns
the value defining the order. The closer to 0 the earlier the module's action will be called

Reimplemented from StelModule.

◆ getLunarSystemCoordinate()

QString ConstellationMgr::getLunarSystemCoordinate ( Vec3d  eqNow) const
Returns
lunar station in the culture's Lunar system

◆ getLunarSystemName()

QString ConstellationMgr::getLunarSystemName ( ) const
Returns
the translated name of the Lunar system

◆ getZodiacCoordinate()

QString ConstellationMgr::getZodiacCoordinate ( Vec3d  eqNow) const
Returns
longitude in the culture's zodiacal longitudes (usually sign, degrees, minutes)

◆ getZodiacSystemName()

QString ConstellationMgr::getZodiacSystemName ( ) const
Returns
the translated name of the Zodiac system

◆ init()

void ConstellationMgr::init ( )
overridevirtual

Initialize the ConstellationMgr.

Reads from the configuration parser object and updates the loading bar as constellation objects are loaded for the required sky culture.

Implements StelModule.

◆ isObjectIn()

QList<Constellation*> ConstellationMgr::isObjectIn ( const StelObject s,
bool  useHull 
) const

Return list of constellations the object is member of.

In case of IAU constellations, the list is guaranteed to be of length 1.

Parameters
useHullPrefer to use constellation hull, not IAU borders

◆ listAllObjects()

QStringList ConstellationMgr::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.

◆ outputHullAreas

void ConstellationMgr::outputHullAreas ( const QString &  fileNamePrefix = "hullAreas") const
slot

Create a list of entries: Constellation: Hull_area to logfile.

◆ searchAround()

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

Search for StelObject in an area around a specified point.

The function searches in a disk of diameter limitFov centered on v. Only visible objects (i.e. currently displayed on screen) should be returned.

Parameters
vequatorial position at epoch J2000 (without aberration).
limitFovangular diameter of the searching zone in degree. (ignored here. Only v is queried.)
corethe StelCore instance to use.
Returns
a list of constellations identified from their hulls when clicked inside. This can probably be used for selection when IAU borders don't exist and click does not identify a star in a constellation line.

Reimplemented from StelObjectModule.

◆ searchByID()

StelObjectP ConstellationMgr::searchByID ( const QString &  id) const
overridevirtual

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 ConstellationMgr::searchByName ( const QString &  name) const
overridevirtual
Returns
the matching constellation if exists or Q_NULLPTR
Parameters
nameThe case in-sensitive standard program name (three letter abbreviation)

Implements StelObjectModule.

◆ searchByNameI18n()

StelObjectP ConstellationMgr::searchByNameI18n ( const QString &  nameI18n) const
overridevirtual
Returns
the matching constellation object's pointer if exists or Q_NULLPTR
Parameters
nameI18nThe case in-sensitive constellation name

Implements StelObjectModule.

◆ selectConstellation

void ConstellationMgr::selectConstellation ( const QString &  englishName)
slot

Select the constellation by its English name.

Calling this method will enable isolated selection for the constellations if it is not enabled yet.

Parameters
englishNamethe English name of the constellation
// example of usage in scripts: select the Orion constellation

◆ selectConstellationByObjectName

void ConstellationMgr::selectConstellationByObjectName ( const QString &  englishName)
slot

Select the constellation where celestial body with English name is located.

Calling this method will enable isolated selection for the constellations if it is not enabled yet.

Parameters
englishNamethe English name of the celestial body
// example of usage in scripts: select constellation where Venus is located
Note
the method will correctly work for sky cultures with boundaries otherwise you may use star names from constellation lines as celestial body

◆ setArtIntensityMaximumFov

void ConstellationMgr::setArtIntensityMaximumFov ( const double  fov)
slot

Sets the upper bound on the FOV at which the art intensity becomes the maximum set by setArtIntensity() See LP:#1294483.

The default is 2.0.

◆ setArtIntensityMinimumFov

void ConstellationMgr::setArtIntensityMinimumFov ( const double  fov)
slot

Sets the lower bound on the FOV at which the art intensity fades to zero.

See LP:#1294483. The default is 1.0.

◆ setBoundariesColor

void ConstellationMgr::setBoundariesColor ( const Vec3f color)
slot

Define boundary color.

Parameters
colorThe color of boundaries
// example of usage in scripts (Qt6-based Stellarium)
var c = new Color(1.0, 0.0, 0.0);

◆ setBoundariesThickness

void ConstellationMgr::setBoundariesThickness ( const int  thickness)
slot

Set the thickness of boundaries of the constellations.

Parameters
thicknessof line in pixels

◆ setConstellationLineThickness

void ConstellationMgr::setConstellationLineThickness ( const int  thickness)
slot

Set the thickness of lines of the constellations.

Parameters
thicknessof line in pixels

◆ setHullsColor

void ConstellationMgr::setHullsColor ( const Vec3f color)
slot

Define hull line color.

Parameters
colorThe color of hull lines
// example of usage in scripts (Qt6-based Stellarium)
var c = new Color(1.0, 0.0, 0.0);

◆ setHullsThickness

void ConstellationMgr::setHullsThickness ( const int  thickness)
slot

Set the thickness of constellation hulls.

Parameters
thicknessof line in pixels

◆ setLabelsColor

void ConstellationMgr::setLabelsColor ( const Vec3f color)
slot

Set label color for names.

Parameters
colorThe color of labels
// example of usage in scripts (Qt6-based Stellarium)
var c = new Color(1.0, 0.0, 0.0);

◆ setLinesColor

void ConstellationMgr::setLinesColor ( const Vec3f color)
slot

Define line color.

Parameters
colorThe color of lines
// example of usage in scripts (Qt6-based Stellarium)
var c = new Color(1.0, 0.0, 0.0);

◆ setLunarSystemColor

void ConstellationMgr::setLunarSystemColor ( const Vec3f color)
slot

Define lunarSystem line color.

Parameters
colorThe color of lunarSystem lines
// example of usage in scripts (Qt6-based Stellarium)
var c = new Color(1.0, 0.0, 0.0);

◆ setLunarSystemThickness

void ConstellationMgr::setLunarSystemThickness ( const int  thickness)
slot

Set the thickness of lunarSystem-related lines.

Parameters
thicknessof line in pixels

◆ setZodiacColor

void ConstellationMgr::setZodiacColor ( const Vec3f color)
slot

Define zodiac line color.

Parameters
colorThe color of zodiac related lines
// example of usage in scripts (Qt6-based Stellarium)
var c = new Color(1.0, 0.0, 0.0);

◆ setZodiacThickness

void ConstellationMgr::setZodiacThickness ( const int  thickness)
slot

Set the thickness of zodiac-related lines.

Parameters
thicknessof line in pixels

◆ starsInHullOf

void ConstellationMgr::starsInHullOf ( const QString &  englishName,
const bool  hipOnly = true,
const float  maxMag = 25.0f,
const QString &  fileNamePrefix = "hullStars" 
) const
slot

Create a list of stars (CSV file) within the convex hull of constellation.

This command is perfect to be used as scripting command to extract a data list.

Parameters
englishNamename of the constellation. Either englishName or abbreviation.
hipOnly(default: true) list only Hipparcos stars
maxMag(default: 25) list stars down to this magnitude.
fileNamePrefixprefix (name start) name of CSV file to be written. The file will be written into the Stellarium User Data directory, the full filename will be fileNamePrefix_englishName_maxMag.csv.