Stellarium  HEAD
Data Structures
Angle Measure plug-in

Data Structures

class  AngleMeasureDialog
 Main window of the Angle Measure plug-in. More...
 
class  AngleMeasure
 Main class of the Angle Measure plug-in. More...
 

Detailed Description

The Angle Measure plugin is a small tool which is used to measure the angular distance between two points on the sky.

goes misty eyed* I recall measuring the size of the Cassini Division when I was a student. It was not the high academic glamor one might expect... It was cloudy... It was rainy... The observatory lab had some old scopes set up at one end, pointing at a photograph of Saturn at the other end of the lab. We measured. We calculated. We wished we were in Hawaii.

Note
Georg Zotti extended in 2014-09, enough to call it V4.0
Georg Zotti added properties in 2020-04, enough to call it V4.6

Modes

Equatorial Mode (original): mark start,end: distance/position angle in the sky, line rotates with sky, spherical angles influenced by refraction (numbers given on celestial sphere).

Horizontal Mode: mark start,end: distance/position angle in alt/azimuthal coordinates, line stays fixed in alt-az system. Angle may be different near to horizon because of refraction!

It is possible to link start and/or end to the sky. Distance/position angle still always in alt/azimuthal coordinates.


Data Structure Documentation

◆ AngleMeasureDialog

class AngleMeasureDialog

Main window of the Angle Measure plug-in.

Public Slots

void retranslate () override
 
- 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 () override
 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
 

◆ AngleMeasure

class AngleMeasure

Main class of the Angle Measure plug-in.

Author
Matthew Gates
Alexander Wolf
Georg Zotti

Public Slots

bool isEnabled () const
 
bool isPanAndSelect () const
 
bool isFollowCursor () const
 
bool isDmsFormat () const
 
bool isEquatorial () const
 
bool isHorizontal () const
 
bool isEquatorialPADisplayed () const
 
bool isHorizontalPADisplayed () const
 
bool isHorizontalStartSkylinked () const
 
bool isHorizontalEndSkylinked () const
 
Vec3f getEquatorialTextColor () const
 
Vec3f getEquatorialLineColor () const
 
Vec3f getHorizontalTextColor () const
 
Vec3f getHorizontalLineColor () const
 
void enableAngleMeasure (bool b)
 
void followCursor (bool b)
 
void useDmsFormat (bool b)
 Use d/m/s instead of degree/minute/second symbols.
 
void showEquatorialPA (bool b)
 
void showHorizontalPA (bool b)
 
void showEquatorial (bool b)
 
void showHorizontal (bool b)
 
void showHorizontalStartSkylinked (bool b)
 
void showHorizontalEndSkylinked (bool b)
 
void panAndSelect (bool b)
 
void setEquatorialTextColor (const Vec3f &color)
 
void setEquatorialLineColor (const Vec3f &color)
 
void setHorizontalTextColor (const Vec3f &color)
 
void setHorizontalLineColor (const Vec3f &color)
 

Signals

void flagAngleMeasureChanged (bool b)
 
void flagPanAndSelectChanged (bool b)
 
void flagFollowCursorChanged (bool b)
 
void dmsFormatChanged (bool b)
 
void flagShowEquatorialChanged (bool b)
 
void flagShowHorizontalChanged (bool b)
 
void flagShowEquatorialPAChanged (bool b)
 
void flagShowHorizontalPAChanged (bool b)
 
void flagShowHorizontalStartSkylinkedChanged (bool b)
 
void flagShowHorizontalEndSkylinkedChanged (bool b)
 
void equatorialTextColorChanged (const Vec3f &c)
 
void equatorialLineColorChanged (const Vec3f &c)
 
void horizontalTextColorChanged (const Vec3f &c)
 
void horizontalLineColorChanged (const Vec3f &c)
 

Public Member Functions

void init () override
 Initialize itself. 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...
 
void handleKeys (class QKeyEvent *event) override
 Handle key events. More...
 
void handleMouseClicks (class QMouseEvent *event) override
 Handle mouse clicks. More...
 
bool handleMouseMoves (int x, int y, Qt::MouseButtons b) override
 Handle mouse moves. More...
 
bool configureGui (bool show=true) override
 Detect or show the configuration GUI elements for the module. More...
 
void restoreDefaultSettings ()
 Restore the plug-in's settings to the default state. More...
 
void loadSettings ()
 Load the plug-in's settings from the configuration file. 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 handleMouseWheel (class QWheelEvent *)
 Handle mouse wheel. More...
 
virtual bool handlePinch (qreal scale, bool started)
 Handle pinch gesture events. More...
 

Properties

bool enabled
 
bool flagPanAndSelect
 this keeps the left mouse button for panning and selecting objects - only the right mouse button is used for angle measurement
 
bool flagFollowCursor
 measurement data block follows cursor rather than start of measurement line
 
bool dmsFormat
 
bool flagShowEquatorial
 
bool flagShowHorizontal
 
bool flagShowHorizontalStartSkylinked
 
bool flagShowHorizontalEndSkylinked
 
bool flagShowEquatorialPA
 
bool flagShowHorizontalPA
 
Vec3f equatorialTextColor
 
Vec3f equatorialLineColor
 
Vec3f horizontalTextColor
 
Vec3f horizontalLineColor
 

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

◆ configureGui()

bool AngleMeasure::configureGui ( bool  show = true)
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.

◆ draw()

void AngleMeasure::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 AngleMeasure::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.

◆ handleKeys()

void AngleMeasure::handleKeys ( class QKeyEvent *  e)
overridevirtual

Handle key events.

Please note that most of the interactions will be done through the GUI module.

Parameters
ethe Key event
Returns
set the event as accepted if it was intercepted

Reimplemented from StelModule.

◆ handleMouseClicks()

void AngleMeasure::handleMouseClicks ( class QMouseEvent *  )
overridevirtual

Handle mouse clicks.

Please note that most of the interactions will be done through the GUI module.

Returns
set the event as accepted if it was intercepted

Reimplemented from StelModule.

◆ handleMouseMoves()

bool AngleMeasure::handleMouseMoves ( int  x,
int  y,
Qt::MouseButtons  b 
)
overridevirtual

Handle mouse moves.

Please note that most of the interactions will be done through the GUI module.

Returns
true if the event was intercepted

Reimplemented from StelModule.

◆ init()

void AngleMeasure::init ( )
overridevirtual

Initialize itself.

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

Implements StelModule.

◆ loadSettings()

void AngleMeasure::loadSettings ( )

Load the plug-in's settings from the configuration file.

Settings are kept in the "AngleMeasure" section in Stellarium's configuration file. If no such section exists, it will load default values.

See also
saveSettings(), restoreSettings()

◆ restoreDefaultSettings()

void AngleMeasure::restoreDefaultSettings ( )

Restore the plug-in's settings to the default state.

Replace the plug-in's settings in Stellarium's configuration file with the default values and re-load them. Uses internally loadSettings() and saveSettings().

◆ update()

void AngleMeasure::update ( double  deltaTime)
overridevirtual

Update the module with respect to the time.

Parameters
deltaTimethe time increment in second since last call.

Reimplemented from StelModule.