Stellarium  0.22.1
Data Structures
Navigational Stars Plug-in

The Navigational Stars plugin marks the 58 navigational stars of The Nautical Almanac and the 2102-D Rude Star Finder on the sky. Alternatively, the French, German, and Russian selection of navigational stars are also available. More...

Data Structures

class  NavStars
class  NavStarsCalculator

Detailed Description

The Navigational Stars plugin marks a set of navigational stars.

The NavStars class is the main class of the plug-in. It manages the list of navigational stars and manipulate show/hide markers of them. Markers are not objects!

The plugin is also an example of a custom plugin that just marks existing stars.


The plug-ins' configuration data is stored in Stellarium's main configuration file (section [NavigationalStars]).

Data Structure Documentation

◆ NavStars

class NavStars

Main class of the Navigational Stars plugin.

Alexander Wolf
Andy Kirkham

Public Types

enum  NavigationalStarsSet { AngloAmerican, French, Russian, German }
- 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,
 Define the possible action for which an order is defined. More...

Public Slots

void setNavStarsMarks (const bool b)
 Set flag of displaying markers of the navigational stars Emits navStarsMarksChanged() if the value changes.
bool getNavStarsMarks (void) const
 Get flag of displaying markers of the navigational stars.
void setEnableAtStartup (bool b)
bool getEnableAtStartup (void) const
void setHighlightWhenVisible (bool b)
bool getHighlightWhenVisible (void) const
void setLimitInfoToNavStars (bool b)
bool getLimitInfoToNavStars (void) const
void setUpperLimb (bool b)
bool getUpperLimb (void) const
void setTabulatedDisplay (bool b)
bool getTabulatedDisplay (void) const
void setShowExtraDecimals (bool b)
bool getShowExtraDecimals (void) const
void setFlagUseUTCTime (bool b)
bool getFlagUseUTCTime (void) const
void setCurrentNavigationalStarsSet (NavigationalStarsSet nsset)
 Set the set of navigational stars.
NavStars::NavigationalStarsSet getCurrentNavigationalStarsSet () const
 Get the set of navigational stars.
QString getCurrentNavigationalStarsSetKey (void) const
 Get the key of current set of navigational stars.
QString getCurrentNavigationalStarsSetDescription (void) const
void setCurrentNavigationalStarsSetKey (QString key)
 Set the set of navigational stars from its key.
void addExtraInfo (StelCore *core)
 For the currently select object add the extraString info in a format that matches the Nautical Almanac. More...
void extraInfo (StelCore *core, const StelObjectP &selectedObject)
 For the currently select object add the extraString info in a format that matches the Nautical Almanac.
void displayStandardInfo (const StelObjectP &selectedObject, NavStarsCalculator &calc, const QString &extraText)
 Used to display the extraInfoStrings in standard "paired" lines (for example gha/dev)
void displayTabulatedInfo (const StelObjectP &selectedObject, NavStarsCalculator &calc, const QString &extraText)
 Used to display the extraInfoStrings in tabulated form more suited to students of CN as found when using Nautical Almanacs.
QString oneRowTwoCells (const QString &a, const QString &b, const QString &extra, bool tabulatedView)
 Given two QStrings return in a format consistent with the property setting of "withTables". More...
bool isPermittedObject (const QString &s)


void navStarsMarksChanged (bool b)
 Emitted when display of markers have been changed.
void enableAtStartupChanged (bool b)
void highlightWhenVisibleChanged (bool b)
void limitInfoToNavStarsChanged (bool b)
void upperLimbChanged (bool b)
void tabulatedDisplayChanged (bool b)
void showExtraDecimalsChanged (bool b)
void flagUseUTCTimeChanged (bool b)

Public Member Functions

virtual void init () Q_DECL_OVERRIDE
 Initialize itself. More...
virtual void deinit () Q_DECL_OVERRIDE
 Called before the module will be deleted, and before the OpenGL context is suppressed. More...
virtual void update (double deltaTime) Q_DECL_OVERRIDE
 Update the module with respect to the time. More...
virtual void draw (StelCore *core) Q_DECL_OVERRIDE
 Execute all the drawing functions for this module. More...
virtual double getCallOrder (StelModuleActionName actionName) const Q_DECL_OVERRIDE
 Return the value defining the order of call for the given action For example if stars.callOrder[ActionDraw] == 10 and constellation.callOrder[ActionDraw] == 11, the stars module will be drawn before the constellations. More...
virtual bool configureGui (bool show) Q_DECL_OVERRIDE
 Detect or show the configuration GUI elements for the module. More...
void restoreDefaultConfiguration (void)
 Set up the plugin with default values. More...
void loadConfiguration (void)
 Read (or re-read) settings from the main config file. More...
void saveConfiguration (void)
 Save the settings to the main configuration file.
void populateNavigationalStarsSet (void)
QList< int > getStarsNumbers (void)
- Public Member Functions inherited from StelModule
 StelModule ()
 Constructor. Every derived class MUST call setObjectName(className) in its constructor.
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 adress 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...


bool navStarsVisible
bool displayAtStartup
bool highlightWhenVisible
bool limitInfoToNavStars
bool upperLimb
bool tabulatedDisplay
bool showExtraDecimals
bool useUTCTime

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

Member Enumeration Documentation

◆ NavigationalStarsSet

Available sets of navigational stars


Anglo-American set (The Nautical Almanac)


French set (Ephémérides Nautiques)


Russian set (Морской астрономический ежегодник)


German set (Nautisches Jahrbuch)

Member Function Documentation

◆ addExtraInfo

void NavStars::addExtraInfo ( StelCore core)

Adds StelObject::ExtraInfo for selected object.

◆ configureGui()

virtual bool NavStars::configureGui ( bool  show)

This is to be used with plugins to display a configuration dialog from the plugin list window.

showif true, make the configuration GUI visible. If false, hide the config GUI if there is one.
true if the module has a configuration GUI, else false.

Reimplemented from StelModule.

◆ deinit()

virtual void NavStars::deinit ( )

Deinitialize all OpenGL texture in this method.

Reimplemented from StelModule.

◆ draw()

virtual void NavStars::draw ( StelCore core)
corethe core to use for the drawing

Reimplemented from StelModule.

◆ getCallOrder()

virtual double NavStars::getCallOrder ( StelModuleActionName  actionName) const
actionNamethe name of the action for which we want the call order
the value defining the order. The closer to 0 the earlier the module's action will be called

Reimplemented from StelModule.

◆ init()

virtual void NavStars::init ( )

If the initialization takes significant time, the progress should be displayed on the loading bar.

Implements StelModule.

◆ loadConfiguration()

void NavStars::loadConfiguration ( void  )

This will be called from init and also when restoring defaults (i.e. from the configuration dialog / restore defaults button).

◆ oneRowTwoCells

QString NavStars::oneRowTwoCells ( const QString &  a,
const QString &  b,
const QString &  extra,
bool  tabulatedView 
QStringa The cell left value
QStringb The cell right value
QString The representation of the extraString info.

◆ restoreDefaultConfiguration()

void NavStars::restoreDefaultConfiguration ( void  )

This means clearing out the NavigationalStars section in the main config.ini (if one already exists), and populating it with default values.

◆ update()

virtual void NavStars::update ( double  deltaTime)
deltaTimethe time increment in second since last call.

Reimplemented from StelModule.

◆ NavStarsCalculator

class NavStarsCalculator
Andy Kirkham

Public Member Functions

 NavStarsCalculator (const NavStarCalculatorDegreeInputs *ip)
void execute ()
 Calculate intermediates.
NavStarsCalculatorsetUTC (const QString &s)
QString getUTC ()
QMap< QString, QString > printable ()
QString lmstDegreesPrintable ()
QString lmstPrintable ()
QString shaPrintable ()
QString lhaPrintable ()
QString hcPrintable ()
QString znPrintable ()
QString ghaPrintable ()
double getGmst ()
NavStarsCalculatorsetGmst (double d)
QString gmstDegreesPrintable ()
QString gmstPrintable ()
NavStarsCalculatorsetLatDeg (double d)
QString latPrintable ()
NavStarsCalculatorsetLonDeg (double d)
QString lonPrintable ()
NavStarsCalculatorsetGpLatRad (double d)
QString gplatPrintable ()
NavStarsCalculatorsetGpLonRad (double d)
QString gplonPrintable ()
NavStarsCalculatorsetAzRad (double d)
NavStarsCalculatorsetAltRad (double d)
NavStarsCalculatorsetAzAppRad (double d)
QString azAppPrintable ()
NavStarsCalculatorsetAltAppRad (double d)
QString altAppPrintable ()
NavStarsCalculatoraddAltAppRad (double d)
double getJd ()
NavStarsCalculatorsetJd (double d)
double getJde ()
NavStarsCalculatorsetJde (double d)
NavStarsCalculatorsetDecRad (double d)
QString decPrintable ()
NavStarsCalculatorsetRaRad (double d)

Static Public Member Functions

static QString radToDm (double rad, const QString &pos="+", const QString &neg="-")
 Get a string that represents degrees and decimal minutes of an angle. More...
static double wrap2pi (double d)
 Ensure the supplied angle, in radians, is with 0 to 2PI. More...
static double wrap360 (double d)
 Ensure the supplied angle, in degrees, is with 0 to 360. More...

Static Public Attributes

static bool useExtraDecimals
static bool useDecimalDegrees

Member Function Documentation

◆ radToDm()

static QString NavStarsCalculator::radToDm ( double  rad,
const QString &  pos = "+",
const QString &  neg = "-" 

Format is as per the standard Nautical Almanac, +/-DDDMM.m

doublerad The angle in radians.
QStringpos Use + or N or E.
QStringneg Use - or S or W.
QString the representation of angle rad.

◆ wrap2pi()

static double NavStarsCalculator::wrap2pi ( double  d)
doubled The angle in radians.
The wrapped value.

◆ wrap360()

static double NavStarsCalculator::wrap360 ( double  d)
doubled The angle in degrees.
The wrapped value.