Stellarium  HEAD
Data Structures
Navigational Stars Plug-in

Data Structures

class  NavStars
 Main class of the Navigational Stars plugin. More...
 
class  NavStarsCalculator
 

Detailed Description

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 or alignment stars for various telescopes are also available.

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.

Configuration

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

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.

Configuration

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.

Author
Alexander Wolf
Andy Kirkham

Public Types

enum  NavigationalStarsSet {
  AngloAmerican , French , Russian , USSRAvia ,
  USSRSpace , German , GeminiAPS , MeadeLX200 ,
  MeadeETX , MeadeAS494 , MeadeAS497 , CelestronNS ,
  Apollo , SkywatcherSS , VixenSB , ArgoNavis ,
  OrionIS , SkyCommander
}
 Available sets of navigational stars. More...
 
- 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 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)
 If information output is limited to the currently active navigational stars (getLimitInfoToNavStars()), check a dedicated list of exceptions (Sun, Moon, planets apart from Mercury) to also add information.
 

Signals

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

void init () override
 Initialize itself. More...
 
void deinit () override
 Called before the module will be deleted, and before the OpenGL context is suppressed. More...
 
void update (double deltaTime) override
 Update the module with respect to the time. More...
 
void draw (StelCore *core) override
 Execute all the drawing functions for this module. More...
 
double getCallOrder (StelModuleActionName actionName) const 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...
 
bool configureGui (bool show) 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 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...
 

Properties

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.

Enumerator
AngloAmerican 

Anglo-American set (The Nautical Almanac)

French 

French set (Ephémérides Nautiques)

Russian 

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

USSRAvia 

The set of navigational stars which was used for Soviet aviation.

USSRSpace 

The set of navigational stars for Soviet and Russian manned space programs Voskhod and Soyuz.

German 

German set (Nautisches Jahrbuch)

GeminiAPS 

Gemini APS Alignment Star List.

MeadeLX200 

Meade LX200 Alignment Star Library.

MeadeETX 

Meade ETX Alignment Star Library.

MeadeAS494 

Meade Autostar #494 Alignment Stars.

MeadeAS497 

Meade Autostar #497 Alignment Stars.

CelestronNS 

Celestron NexStar Alignment Star List.

Apollo 

Apollo Alignment Star List.

SkywatcherSS 

Skywatcher SynScan Hand Controller and SynScan Pro App.

VixenSB 

Vixen Starbook Alignment Stars.

ArgoNavis 

Alignment stars for Argo Navis digital setting circles.

OrionIS 

Alignment stars for Orion Intelliscope mounts.

SkyCommander 

Alignment stars for Sky Commander DSCs.

Member Function Documentation

◆ addExtraInfo

void NavStars::addExtraInfo ( StelCore core)
slot

For the currently select object add the extraString info in a format that matches the Nautical Almanac.

Adds StelObject::ExtraInfo for selected object.

◆ configureGui()

bool NavStars::configureGui ( bool  show)
overridevirtual

Detect or show the configuration GUI elements for the module.

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

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

Reimplemented from StelModule.

◆ deinit()

void NavStars::deinit ( )
overridevirtual

Called before the module will be deleted, and before the OpenGL context is suppressed.

Deinitialize all OpenGL texture in this method.

Reimplemented from StelModule.

◆ draw()

void NavStars::draw ( StelCore core)
overridevirtual

Execute all the drawing functions for this module.

Parameters
corethe core to use for the drawing

Reimplemented from StelModule.

◆ getCallOrder()

double NavStars::getCallOrder ( StelModuleActionName  actionName) const
overridevirtual

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.

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.

◆ init()

void NavStars::init ( )
overridevirtual

Initialize itself.

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

Implements StelModule.

◆ loadConfiguration()

void NavStars::loadConfiguration ( void  )

Read (or re-read) settings from the main config file.

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 
)
slot

Given two QStrings return in a format consistent with the property setting of "withTables".

Parameters
QStringa The cell left value
QStringb The cell right value
Returns
QString The representation of the extraString info.

◆ restoreDefaultConfiguration()

void NavStars::restoreDefaultConfiguration ( void  )

Set up the plugin with default values.

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

◆ update()

void NavStars::update ( double  deltaTime)
overridevirtual

Update the module with respect to the time.

Parameters
deltaTimethe time increment in second since last call.

Reimplemented from StelModule.

◆ NavStarsCalculator

class NavStarsCalculator
Author
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 = "-" 
)
static

Get a string that represents degrees and decimal minutes of an angle.

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

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

◆ wrap2pi()

static double NavStarsCalculator::wrap2pi ( double  d)
static

Ensure the supplied angle, in radians, is with 0 to 2PI.

Parameters
doubled The angle in radians.
Returns
The wrapped value.

◆ wrap360()

static double NavStarsCalculator::wrap360 ( double  d)
static

Ensure the supplied angle, in degrees, is with 0 to 360.

Parameters
doubled The angle in degrees.
Returns
The wrapped value.