Stellarium
HEAD
|
An abstract base class that should never be used directly, only inherited. More...
#include <TelescopeClient.hpp>
Public Member Functions | |
QString | getEnglishName (void) const override |
Return object's name in english. | |
QString | getNameI18n (void) const override |
Return translated object's name. | |
QString | getInfoString (const StelCore *core, const InfoStringGroup &flags) const override |
TelescopeClient supports the following InfoStringGroup flags: More... | |
QString | getType (void) const override |
Return object's type. It should be the name of the class. | |
QString | getObjectType (void) const override |
Return object's type. More... | |
QString | getObjectTypeI18n (void) const override |
Return object's type. It should be translated lowercase name of the type of the object. | |
QString | getID () const override |
Returns a unique identifier for this object. More... | |
virtual void | telescopeGoto (const Vec3d &j2000Pos, StelObjectP selectObject)=0 |
virtual void | telescopeSync (const Vec3d &j2000Pos, StelObjectP selectObject) |
Some telescopes can synchronize the telescope with the given position or object. More... | |
virtual bool | isTelescopeSyncSupported () const |
report whether this client can respond to sync commands. More... | |
virtual void | telescopeAbortSlew () |
Send command to abort slew. More... | |
virtual bool | isAbortSlewSupported () const |
report whether this client can abort a running slew. More... | |
virtual void | move (double angle, double speed) |
move More... | |
virtual bool | isConnected (void) const =0 |
virtual bool | hasKnownPosition (void) const =0 |
void | addOcular (double fov) |
Store field of view for an ocular circle (unrelated to Oculars plugin) | |
const QList< double > & | getOculars (void) const |
Retrieve list of fields of view for this telescope. | |
virtual bool | prepareCommunication () |
virtual void | performCommunication () |
virtual QWidget * | createControlWidget (QSharedPointer< TelescopeClient > telescope, QWidget *parent=nullptr) const |
Some telescope types may override this method to display additional user interface elements. | |
Public Member Functions inherited from StelObject | |
SphericalRegionP | getRegion () const override |
Default implementation of the getRegion method. More... | |
Vec3d | getPointInRegion () const override |
Default implementation of the getPointInRegion method. More... | |
virtual QVariantMap | getInfoMap (const StelCore *core) const |
Return a key/value map with data about an object's position, magnitude and so on. More... | |
virtual Vec3d | getJ2000EquatorialPos (const StelCore *core) const =0 |
Get observer-centered equatorial coordinates at equinox J2000, including aberration. | |
Vec3d | getEquinoxEquatorialPos (const StelCore *core) const |
Get observer-centered equatorial coordinate at the current equinox The frame has its Z axis at the planet's current rotation axis At time 2000-01-01 this frame is almost the same as J2000, but ONLY if the observer is on earth. | |
Vec3d | getEquinoxEquatorialPosApparent (const StelCore *core) const |
Like getEquinoxEquatorialPos(core), but always adds refraction correction to the position. | |
Vec3d | getEquinoxEquatorialPosAuto (const StelCore *core) const |
Like getEquinoxEquatorialPos(core), but adds refraction correction to the position if atmosphere is active. | |
Vec3d | getGalacticPos (const StelCore *core) const |
Get observer-centered galactic coordinates. | |
Vec3d | getSupergalacticPos (const StelCore *core) const |
Get observer-centered supergalactic coordinates. | |
Vec3d | getSiderealPosGeometric (const StelCore *core) const |
Get observer-centered hour angle + declination (at current equinox) It is the geometric position, i.e. More... | |
Vec3d | getSiderealPosApparent (const StelCore *core) const |
Get observer-centered hour angle + declination (at current equinox) It is the apparent position, i.e. More... | |
Vec3d | getAltAzPosGeometric (const StelCore *core) const |
Get observer-centered alt/az position It is the geometric position, i.e. More... | |
Vec3d | getAltAzPosApparent (const StelCore *core) const |
Get observer-centered alt/az position It is the apparent position, i.e. More... | |
Vec3d | getAltAzPosAuto (const StelCore *core) const |
Get observer-centered alt/az position It is the automatic position, i.e. More... | |
float | getParallacticAngle (const StelCore *core) const |
Get parallactic angle, which is the deviation between zenith angle and north angle. [radians]. | |
bool | isAboveHorizon (const StelCore *core) const |
Checking position an object above mathematical horizon for current location. More... | |
bool | isAboveRealHorizon (const StelCore *core) const |
Checking position an object above real horizon for current location. More... | |
virtual Vec4d | getRTSTime (const StelCore *core, const double altitude=0.) const |
Compute time of rise, transit and set for celestial object for current location. More... | |
virtual float | getVMagnitude (const StelCore *core) const |
Return object's apparent V magnitude as seen from observer, without including extinction. | |
float | getVMagnitudeWithExtinction (const StelCore *core, const float knownVMag=-1000.f) const |
Return object's apparent V magnitude as seen from observer including extinction. More... | |
virtual Vec3f | getInfoColor () const |
Get a color used to display info about the object. | |
virtual double | getCloseViewFov (const StelCore *) const |
Return the best FOV in degree to use for a close view of the object. | |
virtual double | getSatellitesFov (const StelCore *) const |
Return the best FOV in degree to use for a global view of the object satellite system (if there are satellites) | |
virtual double | getParentSatellitesFov (const StelCore *) const |
virtual double | getAngularRadius (const StelCore *core) const |
Return the angular radius of a circle containing the object as seen from the observer with the circle center assumed to be at getJ2000EquatorialPos(). More... | |
virtual float | getAirmass (const StelCore *core) const |
Return airmass value for the object (for atmosphere-dependent calculations) More... | |
Static Public Member Functions | |
static TelescopeClient * | create (const QString &url) |
example url: My_first_telescope:TCP:J2000:localhost:10000:500000 split to: name = My_first_telescope type = TCP equinox = J2000 params = localhost:10000:500000 More... | |
Static Public Attributes | |
static const QString | TELESCOPECLIENT_TYPE |
Static Public Attributes inherited from StelObject | |
static constexpr InfoStringGroup | AllInfo |
A pre-defined "all available" set of specifiers for the getInfoString flags argument to getInfoString. More... | |
static constexpr InfoStringGroup | DefaultInfo |
A pre-defined "default" set of specifiers for the getInfoString flags argument to getInfoString It appears useful to propose this set as post-install settings and let users configure more on demand. More... | |
static constexpr InfoStringGroup | ShortInfo = static_cast<InfoStringGroup>(Name|CatalogNumber|Magnitude|RaDecJ2000) |
A pre-defined "shortest useful" set of specifiers for the getInfoString flags argument to getInfoString. | |
Protected Member Functions | |
TelescopeClient (const QString &name) | |
virtual QString | getTelescopeInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Protected Member Functions inherited from StelObject | |
QString | getCommonInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Format the positional info string containing J2000/of date/altaz/hour angle positions and constellation, sidereal time, etc. More... | |
virtual QString | getMagnitudeInfoString (const StelCore *core, const InfoStringGroup &flags, const int decimals=1) const |
Format the magnitude info string for the object. More... | |
QString | getSolarLunarInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Add a section to the InfoString with just horizontal data for the Sun and Moon, when observed from Earth. More... | |
void | postProcessInfoString (QString &str, const InfoStringGroup &flags) const |
Apply post processing on the info string. More... | |
Static Protected Member Functions | |
static qint64 | getNow (void) |
returns the current system time in microseconds since the Epoch | |
Protected Attributes | |
QString | nameI18n |
const QString | name |
Additional Inherited Members | |
Public Types inherited from StelObject | |
enum | InfoStringGroupFlags { None = 0x00000000 , Name = 0x00000001 , CatalogNumber = 0x00000002 , Magnitude = 0x00000004 , RaDecJ2000 = 0x00000008 , RaDecOfDate = 0x00000010 , AltAzi = 0x00000020 , Distance = 0x00000040 , Elongation = 0x00000080 , Size = 0x00000100 , Velocity = 0x00000200 , ProperMotion = 0x00000400 , Extra = 0x00000800 , HourAngle = 0x00001000 , AbsoluteMagnitude = 0x00002000 , GalacticCoord = 0x00004000 , SupergalacticCoord = 0x00008000 , OtherCoord = 0x00010000 , ObjectType = 0x00020000 , EclipticCoordJ2000 = 0x00040000 , EclipticCoordOfDate = 0x00080000 , IAUConstellation = 0x00100000 , SiderealTime = 0x00200000 , RTSTime = 0x00400000 , SolarLunarPosition = 0x00800000 , Script = 0x01000000 , DebugAid = 0x02000000 , NoFont = 0x04000000 , PlainText = 0x08000000 } |
Used as named bitfield flags as specifiers to filter results of getInfoString. More... | |
Public Slots inherited from StelObject | |
virtual void | setExtraInfoString (const InfoStringGroup &flags, const QString &str) |
Allow additions to the Info String. More... | |
virtual void | addToExtraInfoString (const StelObject::InfoStringGroup &flags, const QString &str) |
Add str to the extra string. More... | |
QStringList | getExtraInfoStrings (const InfoStringGroup &flags) const |
Retrieve an (unsorted) QStringList of all extra info strings that match flags. More... | |
void | removeExtraInfoStrings (const InfoStringGroup &flags) |
Remove the extraInfoStrings with the given flags. More... | |
An abstract base class that should never be used directly, only inherited.
This class used to be called Telescope, but it has been renamed to TelescopeClient in order to resolve a compiler/linker conflict with the identically named Telescope class in Stellarium's main code.
|
static |
example url: My_first_telescope:TCP:J2000:localhost:10000:500000 split to: name = My_first_telescope type = TCP equinox = J2000 params = localhost:10000:500000
The params part is optional. We use QRegularExpression to validate the url and extract the components.
|
inlineoverridevirtual |
Returns a unique identifier for this object.
The ID should be unique for all objects of the same type, but may freely conflict with IDs of other types, so getType() must also be tested.
With this it should be possible to at least identify the same object in a different instance of Stellarium running the same version, but it would even be better if the ID provides some degree of forward-compatibility. For some object types (e.g. planets) this may simply return getEnglishName(), but better candidates may be official designations or at least (stable) internal IDs.
An object may have multiple IDs (different catalog numbers, etc). StelObjectMgr::searchByID() should search through all ID variants, but this method only returns one of them.
Implements StelObject.
|
overridevirtual |
TelescopeClient supports the following InfoStringGroup flags:
core | the StelCore object |
flags | a set of InfoStringGroup items to include in the return value. |
Implements StelObject.
|
inlineoverridevirtual |
Return object's type.
It should be English lowercase name of the astronomical type of the object. The purpose of this string is a distinction or further refinement over object class name retrieved with getType(): Planet objects can be planets, moons, or even the Sun. The Sun should however return "star". Nebula objects should return their actual type like "open cluster", "galaxy", "nebula", ...
Implements StelObject.
|
inlinevirtual |
report whether this client can abort a running slew.
Can be used for GUI tweaks
Reimplemented in TelescopeClientDummy, and TelescopeClientASCOM.
|
inlinevirtual |
report whether this client can respond to sync commands.
Can be used for GUI tweaks
Reimplemented in TelescopeClientINDI, and TelescopeClientASCOM.
|
virtual |
move
angle | [0,360). 0=South, 90=West, 180=North, 270=East |
speed | [0,1] The default implementation does nothing but emit a warning. |
Reimplemented in TelescopeClientINDI.
|
virtual |
Send command to abort slew.
Not all telescopes support this, base implementation only gives a warning. After abort, the current position should be retrieved and displayed.
Reimplemented in TelescopeClientDummy, and TelescopeClientASCOM.
|
inlinevirtual |
Some telescopes can synchronize the telescope with the given position or object.
The base client does nothing. Derived classes may override this command
Reimplemented in TelescopeClientINDI, and TelescopeClientASCOM.