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

Display and manage the constellations. More...

#include <ConstellationMgr.hpp>

Public Types

enum  ConstellationDisplayStyle { constellationsAbbreviated = 0 , constellationsNative = 1 , constellationsTranslated = 2 , constellationsEnglish = 3 }
 Describes how to display constellation labels. The viewDialog GUI has a combobox which corresponds to these values.
 
- 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...
 

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 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 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 setFontSize (const float newFontSize)
 Set the font size used for constellation names display.
 
float getFontSize () const
 Get the font size used for constellation names display.
 
void setConstellationDisplayStyle (ConstellationMgr::ConstellationDisplayStyle style)
 Set the way how constellation names are displayed: abbreviated/as-given/translated. More...
 
ConstellationMgr::ConstellationDisplayStyle getConstellationDisplayStyle ()
 get the way how constellation names are displayed: abbreviated/as-given/translated
 
static QString getConstellationDisplayStyleString (ConstellationMgr::ConstellationDisplayStyle style)
 Returns the currently set constellation display style as string, instead of enum. More...
 
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 setConstellationBoundariesThickness (const int thickness)
 Set the thickness of boundaries of the constellations. More...
 
int getConstellationBoundariesThickness () const
 Get the thickness of boundaries of the constellations.
 
void deselectConstellations (void)
 Remove constellations from selected objects.
 
void selectAllConstellations (void)
 Select all constellations.
 
void selectConstellation (const QString &englishName)
 Select the constellation by his 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 his English name. More...
 
QStringList getConstellationsEnglishNames ()
 Get the list of English names of all constellations for loaded sky culture.
 

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 fontSizeChanged (const float newSize)
 
void isolateSelectedChanged (const bool isolate)
 
void linesColorChanged (const Vec3f &color)
 
void linesDisplayedChanged (const bool displayed)
 
void namesColorChanged (const Vec3f &color)
 
void namesDisplayedChanged (const bool displayed)
 
void constellationsDisplayStyleChanged (const ConstellationMgr::ConstellationDisplayStyle style)
 
void constellationLineThicknessChanged (int thickness)
 
void constellationBoundariesThicknessChanged (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.
 
- 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

Vec3f boundariesColor
 
float fontSize
 
Vec3f linesColor
 
Vec3f namesColor
 

loadNames():

Load constellation line shapes, art textures and boundaries shapes from data files.

Parameters
fileNameThe name of the constellation data file
artFileNameThe name of the constellation art data file
cultureNameA string ID of the current skyculture
Note
The abbreviation used in
Parameters
filenameis required for cross-identifying translatable names in
bool artDisplayed
 
float artFadeDuration
 
float artIntensity
 
bool boundariesDisplayed
 
bool isolateSelected
 
bool linesDisplayed
 
bool namesDisplayed
 
ConstellationDisplayStyle constellationDisplayStyle
 this controls how constellations (and also star names) are printed: Abbreviated/as-given/translated
 
int constellationLineThickness
 
int constellationBoundariesThickness
 

Additional Inherited Members

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

Member Function Documentation

◆ deselectConstellation

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

Remove the constellation from list of selected constellations by his 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 selection from the Orion constellation
Note
all constellations will be hidden when list of selected constellations will be 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.

◆ getConstellationDisplayStyleString

static QString ConstellationMgr::getConstellationDisplayStyleString ( ConstellationMgr::ConstellationDisplayStyle  style)
staticslot

Returns the currently set constellation display style as string, instead of enum.

See also
getConstellationDisplayStyle()

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

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

◆ 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.
corethe StelCore instance to use.
Returns
the list of all the displayed objects contained in the defined zone.

Implements 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 his 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 be correct 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

◆ setConstellationBoundariesThickness

void ConstellationMgr::setConstellationBoundariesThickness ( const int  thickness)
slot

Set the thickness of boundaries of the constellations.

Parameters
thicknessof line in pixels

◆ setConstellationDisplayStyle

void ConstellationMgr::setConstellationDisplayStyle ( ConstellationMgr::ConstellationDisplayStyle  style)
slot

Set the way how constellation names are displayed: abbreviated/as-given/translated.

Parameters
stylethe new display style

◆ setConstellationLineThickness

void ConstellationMgr::setConstellationLineThickness ( const int  thickness)
slot

Set the thickness of lines of the constellations.

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

◆ setLinesColor

void ConstellationMgr::setLinesColor ( const Vec3f color)
slot

Define line color.

Parameters
colorThe color of lines
// example of usage in scripts