Stellarium  HEAD
Data Structures
Observability Analysis Plug-in

Data Structures

class  ObservabilityDialog
 Configuration window of the Observability Analysis plug-in. More...
 
class  Observability
 Main class of the Observability Analysis plug-in. More...
 

Detailed Description

It provides an observability report for the currently selected object, or for the point in the center of the screen if no object is selected.

The output is drawn directly onto the viewport. The color and font size can be selected by the user from the plug-in's configuration window.

See also
ObservabilityDialog

Data Structure Documentation

◆ ObservabilityDialog

class ObservabilityDialog

Configuration window of the Observability Analysis plug-in.

See also
Observability

Public Slots

void retranslate ()
 
- Public Slots inherited from StelDialog
virtual void styleChanged (const QString &style)
 Apply application style change.
 
virtual void retranslate ()=0
 Retranslate the content of the dialog. More...
 
virtual void setVisible (bool)
 On the first call with "true" populates the window contents.
 
virtual void close ()
 Closes the window (the window widget is not deleted, just not visible).
 
void handleMovedTo (QPoint newPos)
 Adds dialog location to config.ini; should be connected in createDialogContent()
 
virtual void handleDialogSizeChanged (QSizeF size)
 Stores dialog sizes into config.ini; should be connected from the proxy. More...
 

Protected Member Functions

void createDialogContent ()
 Initialize the dialog widgets and connect the signals/slots.
 

Additional Inherited Members

- Signals inherited from StelDialog
void visibleChanged (bool)
 
- Public Member Functions inherited from StelDialog
 StelDialog (const QString &dialogName=QString("Default"), QObject *parent=nullptr)
 
bool visible () const
 Returns true if the dialog contents have been constructed and are currently shown.
 
QString getDialogName () const
 
- Protected Slots inherited from StelDialog
bool askConfirmation (const QString &message=q_("Are you sure? This will delete your customized data."))
 
void messageBox (const QString &title, const QString &message)
 
void enableKineticScrolling (bool b)
 enable kinetic scrolling. This should be connected to StelApp's StelGui signal flagUseKineticScrollingChanged.
 
void handleFontChanged ()
 connect from StelApp to handle font and font size changes.
 
void handleColorSchemeChanged ()
 connect from StelApp to handle CSS style changes
 
virtual void updateNightModeProperty (bool n)
 
- Static Protected Member Functions inherited from StelDialog
static void connectCheckBox (QAbstractButton *checkBox, const QString &actionName)
 Helper function to connect a checkbox to the StelAction with the specified name.
 
static void connectCheckBox (QAbstractButton *checkBox, StelAction *action)
 Helper function to connect a checkbox to the given StelAction.
 
static void connectIntProperty (QLineEdit *lineEdit, const QString &propName)
 Helper function to connect a QLineEdit to an integer StelProperty. More...
 
static void connectIntProperty (QSpinBox *spinBox, const QString &propName)
 Helper function to connect a QSpinBox to an integer StelProperty. More...
 
static void connectIntProperty (QComboBox *comboBox, const QString &propName)
 Helper function to connect a QComboBox to an integer StelProperty. More...
 
static void connectIntProperty (QSlider *slider, const QString &propName, int minValue, int maxValue)
 Helper function to connect a QSlider to an double or float StelProperty. More...
 
static void connectDoubleProperty (QDoubleSpinBox *spinBox, const QString &propName)
 Helper function to connect a QDoubleSpinBox to an double or float StelProperty. More...
 
static void connectDoubleProperty (AngleSpinBox *spinBox, const QString &propName)
 Helper function to connect an AngleSpinBox to a double or float StelProperty representing decimal degrees. More...
 
static void connectDoubleProperty (QSlider *slider, const QString &propName, double minValue, double maxValue)
 Helper function to connect a QSlider to an double or float StelProperty. More...
 
static void connectStringProperty (QComboBox *comboBox, const QString &propName)
 Helper function to connect a QComboBox to a QString StelProperty. More...
 
static void connectStringProperty (QLineEdit *lineEdit, const QString &propName)
 Helper function to connect a QLineEdit to a QString StelProperty. More...
 
static void connectBoolProperty (QAbstractButton *checkBox, const QString &propName)
 Helper function to connect a checkbox to a bool StelProperty. More...
 
static void connectBoolProperty (QGroupBox *checkBox, const QString &propName)
 Helper function to connect a groupbox to a bool StelProperty. More...
 
- Protected Attributes inherited from StelDialog
QWidget * dialog
 The main dialog.
 
class CustomProxyproxy
 
QString dialogName
 The name should be set in derived classes' constructors and can be used to store and retrieve the panel locations.
 
QList< QWidget * > kineticScrollingList
 A list of widgets where kinetic scrolling can be activated or deactivated The list must be filled once, in the constructor or init() of fillDialog() etc. More...
 
- Properties inherited from StelDialog
bool visible
 

◆ Observability

class Observability

Main class of the Observability Analysis plug-in.

Public Slots

void resetConfiguration ()
 Restore and reload the default plug-in settings.
 
void saveConfiguration ()
 Save the plug-in's configuration to the main configuration file.
 
void setFontColor (const Vec3f &color)
 Set the color of the font used to display the report. More...
 
void setFontSize (int size)
 Set the size of the font used to display the report. More...
 
void setTwilightAltitude (int altitude)
 Set the angular altitude below the horizon of the Sun at twilight. More...
 
void setHorizonAltitude (int altitude)
 Set the angular altitude of the visual horizon. More...
 
void showReport (bool b)
 Controls whether an observability report will be displayed.
 
QString getReportAsJson ()
 Get a JSON string representation of the report.
 

Signals

void flagReportVisibilityChanged (bool b)
 

Public Member Functions

void init () override
 Initialize itself. 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=true) override
 Implement this to tell the main Stellarium GUI that there is a GUI element to configure this plugin.
 
void loadConfiguration ()
 Read (or re-read) settings from the main config file. More...
 
bool getShowFlags (int)
 get Show Flags from current configuration:
 
Vec3f getFontColor (void)
 get the current font color:
 
int getFontSize (void)
 get current font size:
 
int getTwilightAltitude ()
 Get the user-defined Sun altitude at twilight. More...
 
int getHorizonAltitude ()
 Get the user-defined altitude of the visual horizon.
 
bool isShownReport () const
 
- 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 void update (double deltaTime)
 Update the module with respect to the time. 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...
 

GUI elements

Parameters for the graphics.

bool flagShowReport
 

Fields displayed in the observability report.

void enableTodayField (bool enabled=true)
 Display today's events (rise, set and transit times).
 
void enableAcroCosField (bool enabled=true)
 Display acronychal and cosmical rising/setting.
 
void enableGoodNightsField (bool enabled=true)
 Display nights when the object is above the horizon after darkness.
 
void enableOppositionField (bool enabled=true)
 Display when selected object is in opposition.
 
void enableFullMoonField (bool enabled=true)
 Display date of the full moon. More...
 

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

Member Function Documentation

◆ draw()

void Observability::draw ( StelCore core)
overridevirtual

Execute all the drawing functions for this module.

Parameters
corethe core to use for the drawing

Reimplemented from StelModule.

◆ enableFullMoonField

void Observability::enableFullMoonField ( bool  enabled = true)
slot

Display date of the full moon.

Has any effect only if the Moon is selected.

◆ getCallOrder()

double Observability::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.

◆ getTwilightAltitude()

int Observability::getTwilightAltitude ( )

Get the user-defined Sun altitude at twilight.

Returns
A value in degrees.

◆ init()

void Observability::init ( )
overridevirtual

Initialize itself.

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

Implements StelModule.

◆ loadConfiguration()

void Observability::loadConfiguration ( )

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

Default values are provided for all settings. Called in init() and resetConfiguration().

◆ setFontColor

void Observability::setFontColor ( const Vec3f color)
slot

Set the color of the font used to display the report.

Applies only to what is drawn on the viewport.

Parameters
colorColor vector in Stellarium's RGB format.

◆ setFontSize

void Observability::setFontSize ( int  size)
slot

Set the size of the font used to display the report.

Applies only to what is drawn on the viewport.

◆ setHorizonAltitude

void Observability::setHorizonAltitude ( int  altitude)
slot

Set the angular altitude of the visual horizon.

Parameters
altitudeAn angle in degrees.

◆ setTwilightAltitude

void Observability::setTwilightAltitude ( int  altitude)
slot

Set the angular altitude below the horizon of the Sun at twilight.

This determines the boundaries of day/night for observation purposes.

Parameters
altitudeAn angle in degrees; as this is altitude below the horizon, it should be negative.
Note
If you want the slider in the configuration dialog to be inverted, you can use the invertedAppearance property of QSlider.