Stellarium  0.16.0
List of all members | Public Slots | Signals | Public Member Functions
TelescopeControl Class Reference

This class manages the controlling of one or more telescopes by one instance of the stellarium program. More...

#include <TelescopeControl.hpp>

+ Inheritance diagram for TelescopeControl:
+ Collaboration diagram for TelescopeControl:

Public Slots

void setFlagTelescopeReticles (bool b)
 Set display flag for telescope reticles. More...
 
bool getFlagTelescopeReticles () const
 Get display flag for telescope reticles. More...
 
void setFlagTelescopeLabels (bool b)
 Set display flag for telescope name labels. More...
 
bool getFlagTelescopeLabels () const
 Get display flag for telescope name labels. More...
 
void setFlagTelescopeCircles (bool b)
 Set display flag for telescope field of view circles. More...
 
bool getFlagTelescopeCircles () const
 Get display flag for telescope field of view circles. More...
 
void setReticleColor (const Vec3f &c)
 Set the telescope reticle color. More...
 
const Vec3fgetReticleColor () const
 Get the telescope reticle color. More...
 
const Vec3fgetLabelColor () const
 Get the telescope labels color. More...
 
void setLabelColor (const Vec3f &c)
 Set the telescope labels color. More...
 
void setCircleColor (const Vec3f &c)
 Set the field of view circles color. More...
 
const Vec3fgetCircleColor () const
 Get the field of view circles color. More...
 
void setFontSize (int fontSize)
 Define font size to use for telescope names display. More...
 
void slewTelescopeToSelectedObject (const int idx)
 slews a telescope to the selected object. More...
 
void slewTelescopeToViewDirection (const int idx)
 slews a telescope to the point of the celestial sphere currently in the center of the screen. More...
 
void setFlagUseTelescopeServerLogs (bool b)
 Used in the GUI. More...
 

Signals

void clientConnected (int slot, QString name)
 
void clientDisconnected (int slot)
 

Public Member Functions

virtual void init ()
 Initialize itself. More...
 
virtual void deinit ()
 Called before the module will be delete, and before the openGL context is suppressed. More...
 
virtual void update (double deltaTime)
 Update the module with respect to the time. More...
 
virtual void draw (StelCore *core)
 Execute all the drawing functions for this module. More...
 
virtual double getCallOrder (StelModuleActionName actionName) const
 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 QList< StelObjectPsearchAround (const Vec3d &v, double limitFov, const StelCore *core) const
 Search for StelObject in an area around a specifid point. More...
 
virtual StelObjectP searchByNameI18n (const QString &nameI18n) const
 Find a StelObject by name. More...
 
virtual StelObjectP searchByName (const QString &name) const
 Return the matching StelObject if exists or the empty StelObject if not found. More...
 
virtual StelObjectP searchByID (const QString &id) const
 Return the StelObject with the given ID if exists or the empty StelObject if not found. More...
 
virtual QStringList listMatchingObjects (const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false, bool inEnglish=false) const
 Find and return the list of at most maxNbItem objects auto-completing the passed object name. More...
 
virtual QStringList listAllObjects (bool) const
 List all StelObjects. More...
 
virtual QString getName () const
 Gets a user-displayable name of the object category. More...
 
virtual QString getStelObjectType () const
 Returns the name that will be returned by StelObject::getType() for the objects this module manages. More...
 
virtual bool configureGui (bool show=true)
 Detect or show the configuration GUI elements for the module. More...
 
void telescopeGoto (int telescopeNr, const Vec3d &j2000Pos, StelObjectP selectObject=Q_NULLPTR)
 Send a J2000-goto-command to the specified telescope. More...
 
void deleteAllTelescopes ()
 Remove all currently registered telescopes. More...
 
const QHash< QString, DeviceModel > & getDeviceModels ()
 Safe access to the loaded list of telescope models. More...
 
void loadConfiguration ()
 Loads the module's configuration from the configuration file. More...
 
void saveConfiguration ()
 Saves the module's configuration to the configuration file. More...
 
void saveTelescopes ()
 Saves to telescopes.json a list of the parameters of the active telescope clients. More...
 
void loadTelescopes ()
 Loads from telescopes.json the parameters of telescope clients and initializes them. If there are already any initialized telescope clients, they are removed. More...
 
bool addTelescopeAtSlot (int slot, ConnectionType connectionType, QString name, QString equinox, QString host=QString("localhost"), int portTCP=DEFAULT_TCP_PORT, int delay=DEFAULT_DELAY, bool connectAtStartup=false, QList< double > circles=QList< double >(), QString serverName=QString(), QString portSerial=QString(), QString rts2Url=QString(), QString rts2Username=QString(), QString rts2Password=QString())
 Adds a telescope description containing the given properties. More...
 
bool getTelescopeAtSlot (int slot, ConnectionType &connectionType, QString &name, QString &equinox, QString &host, int &portTCP, int &delay, bool &connectAtStartup, QList< double > &circles, QString &serverName, QString &portSerial, QString &rts2Url, QString &rts2Username, QString &rts2Password)
 Retrieves a telescope description. Returns false if the slot is empty. Returns empty serverName and portSerial if the description contains no server. More...
 
bool removeTelescopeAtSlot (int slot)
 Removes info from the tree. Should it include stopTelescopeAtSlot()? More...
 
bool startTelescopeAtSlot (int slot)
 Starts a telescope at the given slot, getting its description with getTelescopeAtSlot(). Creates a TelescopeClient object and starts a server process if necessary. More...
 
bool stopTelescopeAtSlot (int slot)
 Stops the telescope at the given slot. Destroys the TelescopeClient object and terminates the server process if necessary. More...
 
bool stopAllTelescopes ()
 Stops all telescopes, but without removing them like deleteAllTelescopes(). More...
 
bool isExistingClientAtSlot (int slot)
 Checks if there's a TelescopeClient object at a given slot, i.e. if there's an active telescope at that slot. More...
 
bool isConnectedClientAtSlot (int slot)
 Checks if the TelescopeClient object at a given slot is connected to a server. More...
 
QHash< int, QString > getConnectedClientsNames ()
 Returns a list of the currently connected clients. More...
 
bool getFlagUseServerExecutables ()
 
void setFlagUseServerExecutables (bool b)
 Forces a call of loadDeviceModels(). Stops all active telescopes. More...
 
const QString & getServerExecutablesDirectoryPath ()
 
bool setServerExecutablesDirectoryPath (const QString &newPath)
 Forces a call of loadDeviceModels(). Stops all active telescopes. More...
 
bool getFlagUseTelescopeServerLogs ()
 
- Public Member Functions inherited from StelObjectModule
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
virtual QString getModuleVersion () const
 Get the version of the module, default is stellarium main version. More...
 
virtual QString getAuthorName () const
 Get the name of the module author. More...
 
virtual QString getAuthorEmail () const
 Get the email adress of the module author. More...
 
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...
 

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

Detailed Description

This class manages the controlling of one or more telescopes by one instance of the stellarium program.

"Controlling a telescope" means receiving position information from the telescope and sending GOTO commands to the telescope. No esoteric features like motor focus, electric heating and such. The actual controlling of a telescope is left to the implementation of the abstract base class TelescopeClient.

Definition at line 70 of file TelescopeControl.hpp.

Member Function Documentation

bool TelescopeControl::addTelescopeAtSlot ( int  slot,
ConnectionType  connectionType,
QString  name,
QString  equinox,
QString  host = QString("localhost"),
int  portTCP = DEFAULT_TCP_PORT,
int  delay = DEFAULT_DELAY,
bool  connectAtStartup = false,
QList< double >  circles = QList< double >(),
QString  serverName = QString(),
QString  portSerial = QString(),
QString  rts2Url = QString(),
QString  rts2Username = QString(),
QString  rts2Password = QString() 
)

Adds a telescope description containing the given properties.

DOES NOT VALIDATE its parameters. If serverName is specified, portSerial should be specified too. Call saveTelescopes() to write the modified configuration to disc. Call startTelescopeAtSlot() to start this telescope.

Parameters
portSerialmust be a valid serial port name for the particular platform, e.g. "COM1" for Microsoft Windows of "/dev/ttyS0" for Linux
virtual bool TelescopeControl::configureGui ( bool  show = true)
virtual

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.

virtual void TelescopeControl::deinit ( )
virtual

Called before the module will be delete, and before the openGL context is suppressed.

Deinitialize all openGL texture in this method.

Reimplemented from StelModule.

void TelescopeControl::deleteAllTelescopes ( )

Remove all currently registered telescopes.

virtual void TelescopeControl::draw ( StelCore core)
virtual

Execute all the drawing functions for this module.

Parameters
corethe core to use for the drawing

Reimplemented from StelModule.

virtual double TelescopeControl::getCallOrder ( StelModuleActionName  actionName) const
virtual

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.

const Vec3f& TelescopeControl::getCircleColor ( ) const
inlineslot

Get the field of view circles color.

Returns
the field of view circles color
// example of usage in scripts

Definition at line 247 of file TelescopeControl.hpp.

QHash<int, QString> TelescopeControl::getConnectedClientsNames ( )

Returns a list of the currently connected clients.

const QHash<QString, DeviceModel>& TelescopeControl::getDeviceModels ( )

Safe access to the loaded list of telescope models.

bool TelescopeControl::getFlagTelescopeCircles ( ) const
inlineslot

Get display flag for telescope field of view circles.

Returns
true if telescope field of view circles is visible
// example of usage in scripts

Definition at line 205 of file TelescopeControl.hpp.

bool TelescopeControl::getFlagTelescopeLabels ( ) const
inlineslot

Get display flag for telescope name labels.

Returns
true if telescope name labels is visible
// example of usage in scripts

Definition at line 190 of file TelescopeControl.hpp.

bool TelescopeControl::getFlagTelescopeReticles ( ) const
inlineslot

Get display flag for telescope reticles.

Returns
true if telescope reticles is visible
// example of usage in scripts

Definition at line 175 of file TelescopeControl.hpp.

const Vec3f& TelescopeControl::getLabelColor ( void  ) const
inlineslot

Get the telescope labels color.

Returns
the telescope labels color
// example of usage in scripts

Definition at line 227 of file TelescopeControl.hpp.

virtual QString TelescopeControl::getName ( ) const
inlinevirtual

Gets a user-displayable name of the object category.

Implements StelObjectModule.

Definition at line 100 of file TelescopeControl.hpp.

const Vec3f& TelescopeControl::getReticleColor ( ) const
inlineslot

Get the telescope reticle color.

Returns
the telescope reticle color
// example of usage in scripts

Definition at line 219 of file TelescopeControl.hpp.

virtual QString TelescopeControl::getStelObjectType ( ) const
virtual

Returns the name that will be returned by StelObject::getType() for the objects this module manages.

Implements StelObjectModule.

bool TelescopeControl::getTelescopeAtSlot ( int  slot,
ConnectionType &  connectionType,
QString &  name,
QString &  equinox,
QString &  host,
int &  portTCP,
int &  delay,
bool &  connectAtStartup,
QList< double > &  circles,
QString &  serverName,
QString &  portSerial,
QString &  rts2Url,
QString &  rts2Username,
QString &  rts2Password 
)

Retrieves a telescope description. Returns false if the slot is empty. Returns empty serverName and portSerial if the description contains no server.

virtual void TelescopeControl::init ( )
virtual

Initialize itself.

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

Implements StelModule.

bool TelescopeControl::isConnectedClientAtSlot ( int  slot)

Checks if the TelescopeClient object at a given slot is connected to a server.

bool TelescopeControl::isExistingClientAtSlot ( int  slot)

Checks if there's a TelescopeClient object at a given slot, i.e. if there's an active telescope at that slot.

virtual QStringList TelescopeControl::listAllObjects ( bool  inEnglish) const
inlinevirtual

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.

Definition at line 99 of file TelescopeControl.hpp.

virtual QStringList TelescopeControl::listMatchingObjects ( const QString &  objPrefix,
int  maxNbItem = 5,
bool  useStartOfWords = false,
bool  inEnglish = false 
) const
virtual

Find and return the list of at most maxNbItem objects auto-completing the passed object name.

Parameters
objPrefixthe case insensitive first letters of the searched object
maxNbItemthe maximum number of returned object names
useStartOfWordsthe autofill mode for returned objects names
Returns
a list of matching object name by order of relevance, or an empty list if nothing match

Reimplemented from StelObjectModule.

void TelescopeControl::loadConfiguration ( )

Loads the module's configuration from the configuration file.

void TelescopeControl::loadTelescopes ( )

Loads from telescopes.json the parameters of telescope clients and initializes them. If there are already any initialized telescope clients, they are removed.

bool TelescopeControl::removeTelescopeAtSlot ( int  slot)

Removes info from the tree. Should it include stopTelescopeAtSlot()?

void TelescopeControl::saveConfiguration ( )

Saves the module's configuration to the configuration file.

void TelescopeControl::saveTelescopes ( )

Saves to telescopes.json a list of the parameters of the active telescope clients.

virtual QList<StelObjectP> TelescopeControl::searchAround ( const Vec3d v,
double  limitFov,
const StelCore core 
) const
virtual

Search for StelObject in an area around a specifid point.

The function searches in a disk of diameter limitFov centered on v. Only visible objects (i.e curretly displayed on screen) should be returned.

Parameters
vequatorial position at epoch J2000.
limitFovangular diameter of the searching zone in degree.
corethe core instance to use.
Returns
the list of all the displayed objects contained in the defined zone.

Implements StelObjectModule.

virtual StelObjectP TelescopeControl::searchByID ( const QString &  id) const
inlinevirtual

Return the StelObject with the given ID if exists or the empty StelObject if not found.

Parameters
namethe english object name

Implements StelObjectModule.

Definition at line 91 of file TelescopeControl.hpp.

virtual StelObjectP TelescopeControl::searchByName ( const QString &  name) const
virtual

Return the matching StelObject if exists or the empty StelObject if not found.

Parameters
namethe english object name

Implements StelObjectModule.

virtual StelObjectP TelescopeControl::searchByNameI18n ( const QString &  nameI18n) const
virtual

Find a StelObject by name.

Parameters
nameI18nThe translated name for the current sky locale.
Returns
The matching StelObject if exists or the empty StelObject if not found.

Implements StelObjectModule.

void TelescopeControl::setCircleColor ( const Vec3f c)
inlineslot

Set the field of view circles color.

// example of usage in scripts

Definition at line 240 of file TelescopeControl.hpp.

void TelescopeControl::setFlagTelescopeCircles ( bool  b)
inlineslot

Set display flag for telescope field of view circles.

Parameters
bboolean flag
// example of usage in scripts

Definition at line 198 of file TelescopeControl.hpp.

void TelescopeControl::setFlagTelescopeLabels ( bool  b)
inlineslot

Set display flag for telescope name labels.

Parameters
bboolean flag
// example of usage in scripts

Definition at line 183 of file TelescopeControl.hpp.

void TelescopeControl::setFlagTelescopeReticles ( bool  b)
inlineslot

Set display flag for telescope reticles.

Parameters
bboolean flag
// example of usage in scripts

Definition at line 168 of file TelescopeControl.hpp.

void TelescopeControl::setFlagUseServerExecutables ( bool  b)

Forces a call of loadDeviceModels(). Stops all active telescopes.

void TelescopeControl::setFlagUseTelescopeServerLogs ( bool  b)
inlineslot

Used in the GUI.

Definition at line 277 of file TelescopeControl.hpp.

void TelescopeControl::setFontSize ( int  fontSize)
slot

Define font size to use for telescope names display.

Parameters
fontSizesize of font
// example of usage in scripts
void TelescopeControl::setLabelColor ( const Vec3f c)
inlineslot

Set the telescope labels color.

// example of usage in scripts

Definition at line 233 of file TelescopeControl.hpp.

void TelescopeControl::setReticleColor ( const Vec3f c)
inlineslot

Set the telescope reticle color.

// example of usage in scripts

Definition at line 212 of file TelescopeControl.hpp.

bool TelescopeControl::setServerExecutablesDirectoryPath ( const QString &  newPath)

Forces a call of loadDeviceModels(). Stops all active telescopes.

void TelescopeControl::slewTelescopeToSelectedObject ( const int  idx)
slot

slews a telescope to the selected object.

For use from the GUI. The telescope number will be deduced from the name of the StelAction which triggered the slot.

// example of usage in scripts
void TelescopeControl::slewTelescopeToViewDirection ( const int  idx)
slot

slews a telescope to the point of the celestial sphere currently in the center of the screen.

For use from the GUI. The telescope number will be deduced from the name of the StelAction which triggered the slot.

// example of usage in scripts
bool TelescopeControl::startTelescopeAtSlot ( int  slot)

Starts a telescope at the given slot, getting its description with getTelescopeAtSlot(). Creates a TelescopeClient object and starts a server process if necessary.

bool TelescopeControl::stopAllTelescopes ( )

Stops all telescopes, but without removing them like deleteAllTelescopes().

bool TelescopeControl::stopTelescopeAtSlot ( int  slot)

Stops the telescope at the given slot. Destroys the TelescopeClient object and terminates the server process if necessary.

void TelescopeControl::telescopeGoto ( int  telescopeNr,
const Vec3d j2000Pos,
StelObjectP  selectObject = Q_NULLPTR 
)

Send a J2000-goto-command to the specified telescope.

Parameters
telescopeNrthe number of the telescope
j2000Posthe direction in equatorial J2000 frame
selectObjectselected object (if any; Q_NULLPTR if move is not based on an object)
virtual void TelescopeControl::update ( double  deltaTime)
virtual

Update the module with respect to the time.

Parameters
deltaTimethe time increment in second since last call.

Implements StelModule.


The documentation for this class was generated from the following file: