Stellarium  0.90.0
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends
Satellite Class Reference

A representation of a satellite in Earth orbit. More...

#include <Satellite.hpp>

+ Inheritance diagram for Satellite:
+ Collaboration diagram for Satellite:

Public Types

enum  OptStatus {
  StatusOperational = 1, StatusNonoperational = 2, StatusPartiallyOperational = 3, StatusStandby = 4,
  StatusSpare = 5, StatusExtendedMission = 6, StatusDecayed = 7, StatusUnknown = 0
}
 operational statuses More...
 
- Public Types inherited from StelObject
enum  InfoStringGroupFlags {
  Name = 0x00000001, CatalogNumber = 0x00000002, Magnitude = 0x00000004, RaDecJ2000 = 0x00000008,
  RaDecOfDate = 0x00000010, AltAzi = 0x00000020, Distance = 0x00000040, Size = 0x00000080,
  Extra = 0x00000100, HourAngle = 0x00000200, AbsoluteMagnitude = 0x00000400, GalacticCoord = 0x00000800,
  SupergalacticCoord = 0x00001000, ObjectType = 0x00002000, EclipticCoordJ2000 = 0x00004000, EclipticCoordOfDate = 0x00008000,
  IAUConstellation = 0x00010000, SiderealTime = 0x00020000, NoFont = 0x00040000, PlainText = 0x00080000
}
 Used as named bitfield flags as specifiers to filter results of getInfoString. More...
 

Public Member Functions

 Satellite (const QString &identifier, const QVariantMap &data)
 
QVariantMap getMap (void)
 Get a QVariantMap which describes the satellite. More...
 
virtual QString getType (void) const
 Return object's type. It should be the name of the class. More...
 
virtual QString getID (void) const
 Returns a unique identifier for this object. More...
 
virtual float getSelectPriority (const StelCore *core) const
 Return a priority value which is used to discriminate objects by priority As for magnitudes, the lower is the higher priority. More...
 
virtual QString getInfoString (const StelCore *core, const InfoStringGroup &flags) const
 Get an HTML string to describe the object. More...
 
virtual QVariantMap getInfoMap (const StelCore *core) const
 Return a map like StelObject::getInfoMap(), but with a few extra tags also available in getInfoString(). More...
 
virtual Vec3f getInfoColor (void) const
 Get a color used to display info about the object. More...
 
virtual Vec3d getJ2000EquatorialPos (const StelCore *) const
 Get observer-centered equatorial coordinates at equinox J2000. More...
 
virtual float getVMagnitude (const StelCore *core) const
 Return object's apparent V magnitude as seen from observer, without including extinction. More...
 
virtual double getAngularSize (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 QString getNameI18n (void) const
 Return translated object's name. More...
 
virtual QString getEnglishName (void) const
 Return object's name in english. More...
 
QString getCatalogNumberString () const
 Returns the (NORAD) catalog number. (For now, the ID string.) More...
 
void setNewTleElements (const QString &tle1, const QString &tle2)
 Set new tleElements. More...
 
void update (double deltaTime)
 
double getDoppler (double freq) const
 
void recalculateOrbitLines (void)
 
void setNew ()
 
bool isNew () const
 
SatFlags getFlags () const
 Get internal flags as a single value. More...
 
void setFlags (const SatFlags &flags)
 Sets the internal flags in one operation (only display flags)! More...
 
void parseInternationalDesignator (const QString &tle1)
 Parse TLE line to extract International Designator and launch year. More...
 
bool operator< (const Satellite &another) const
 Needed for sorting lists (if this ever happens...). More...
 
float calculateIlluminatedFraction () const
 Calculation of illuminated fraction of the satellite. More...
 
QString getOperationalStatus () const
 Get operational status of satellite. More...
 
- Public Member Functions inherited from StelObject
virtual SphericalRegionP getRegion () const
 Default implementation of the getRegion method. More...
 
virtual Vec3d getPointInRegion () const
 Default implementation of the getPointInRegion method. More...
 
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. More...
 
Vec3d getEquinoxEquatorialPosApparent (const StelCore *core) const
 Like getEquinoxEquatorialPos(core), but always adds refraction correction to the position. More...
 
Vec3d getEquinoxEquatorialPosAuto (const StelCore *core) const
 Like getEquinoxEquatorialPos(core), but adds refraction correction to the position if atmosphere is active. More...
 
Vec3d getGalacticPos (const StelCore *core) const
 Get observer-centered galactic coordinates. More...
 
Vec3d getSupergalacticPos (const StelCore *core) const
 Get observer-centered supergalactic coordinates. More...
 
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...
 
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...
 
float getVMagnitudeWithExtinction (const StelCore *core) const
 Return object's apparent V magnitude as seen from observer including extinction. More...
 
virtual double getCloseViewFov (const StelCore *) const
 Return the best FOV in degree to use for a close view of the object. More...
 
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) More...
 
virtual double getParentSatellitesFov (const StelCore *) const
 

Static Public Member Functions

static double roundToDp (float n, int dp)
 

Static Public Attributes

static const QString SATELLITE_TYPE
 
static bool showLabels
 
- Static Public Attributes inherited from StelObject
static const InfoStringGroupFlags AllInfo
 A pre-defined set of specifiers for the getInfoString flags argument to getInfoString. More...
 
static const InfoStringGroupFlags ShortInfo = (InfoStringGroupFlags)(Name|CatalogNumber|Magnitude|RaDecJ2000)
 A pre-defined set of specifiers for the getInfoString flags argument to getInfoString. More...
 

Friends

class Satellites
 
class SatellitesDialog
 
class SatellitesListModel
 

Additional Inherited Members

- Protected Member Functions inherited from StelObject
QString getCommonInfoString (const StelCore *core, const InfoStringGroup &flags) const
 Format the positional info string contain J2000/of date/altaz/hour angle positions and constellation, sidereal time, etc. for the object. More...
 
void postProcessInfoString (QString &str, const InfoStringGroup &flags) const
 Apply post processing on the info string. More...
 

Detailed Description

A representation of a satellite in Earth orbit.

Details about the satellite are passed with a JSON-representation structure that contains a Satellite Catalog entry.

Thanks to operator<() overloading, container classes (QList, QMap, etc) with Satellite or SatelliteP objects can be sorted by satellite name/ID.

Definition at line 91 of file Satellite.hpp.

Member Enumeration Documentation

operational statuses

Definition at line 102 of file Satellite.hpp.

Constructor & Destructor Documentation

Satellite::Satellite ( const QString &  identifier,
const QVariantMap &  data 
)
Parameters
identifierunique identifier (currently the Catalog Number)
dataa QMap which contains the details of the satellite (TLE set, description etc.)

Member Function Documentation

float Satellite::calculateIlluminatedFraction ( ) const

Calculation of illuminated fraction of the satellite.

virtual double Satellite::getAngularSize ( const StelCore core) const
virtual

Return the angular radius of a circle containing the object as seen from the observer with the circle center assumed to be at getJ2000EquatorialPos().

Returns
radius in degree. This value is the apparent angular size of the object, and is independent of the current FOV.

Implements StelObject.

QString Satellite::getCatalogNumberString ( ) const
inline

Returns the (NORAD) catalog number. (For now, the ID string.)

Definition at line 175 of file Satellite.hpp.

virtual QString Satellite::getEnglishName ( void  ) const
inlinevirtual

Return object's name in english.

Implements StelObject.

Definition at line 170 of file Satellite.hpp.

SatFlags Satellite::getFlags ( ) const

Get internal flags as a single value.

virtual QString Satellite::getID ( void  ) const
inlinevirtual

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.

Definition at line 129 of file Satellite.hpp.

virtual Vec3f Satellite::getInfoColor ( void  ) const
virtual

Get a color used to display info about the object.

Reimplemented from StelObject.

virtual QVariantMap Satellite::getInfoMap ( const StelCore core) const
virtual

Return a map like StelObject::getInfoMap(), but with a few extra tags also available in getInfoString().

  • description
  • catalog
  • international-designator
  • type
  • range (distance in km)
  • rangerate (distance change in km/s)
  • height (height in km)
  • subpoint-lat (latitude of subpoint, decimal degrees)
  • subpoint-long (longitude of subpoint, decimal degrees)
  • TEME-km-X
  • TEME-km-Y
  • TEME-km-Z
  • TEME-speed-X
  • TEME-speed-Y
  • TEME-speed-Z
  • sun-reflection-angle (if available)
  • operational-status
  • visibility (descriptive string)
  • comm (Radio information, optional, if available. There may be several comm entries!)

Reimplemented from StelObject.

virtual QString Satellite::getInfoString ( const StelCore core,
const InfoStringGroup &  flags 
) const
virtual

Get an HTML string to describe the object.

Parameters
coreA pointer to the core
flagsa set of flags with information types to include. Supported types for Satellite objects:
  • Name: designation in large type with the description underneath
  • RaDecJ2000, RaDecOfDate, HourAngle, AltAzi
  • Extra: range, range rate and altitude of satellite above the Earth, comms frequencies, modulation types and so on.

Implements StelObject.

virtual Vec3d Satellite::getJ2000EquatorialPos ( const StelCore core) const
virtual

Get observer-centered equatorial coordinates at equinox J2000.

Implements StelObject.

QVariantMap Satellite::getMap ( void  )

Get a QVariantMap which describes the satellite.

Could be used to create a duplicate.

virtual QString Satellite::getNameI18n ( void  ) const
virtual

Return translated object's name.

Implements StelObject.

QString Satellite::getOperationalStatus ( ) const

Get operational status of satellite.

virtual float Satellite::getSelectPriority ( const StelCore ) const
virtual

Return a priority value which is used to discriminate objects by priority As for magnitudes, the lower is the higher priority.

Reimplemented from StelObject.

virtual QString Satellite::getType ( void  ) const
inlinevirtual

Return object's type. It should be the name of the class.

Implements StelObject.

Definition at line 124 of file Satellite.hpp.

virtual float Satellite::getVMagnitude ( const StelCore core) const
virtual

Return object's apparent V magnitude as seen from observer, without including extinction.

Reimplemented from StelObject.

bool Satellite::operator< ( const Satellite another) const

Needed for sorting lists (if this ever happens...).

Compares #name fields. If equal, #id fields, which can't be.

void Satellite::parseInternationalDesignator ( const QString &  tle1)

Parse TLE line to extract International Designator and launch year.

Sets #internationalDesignator and #jdLaunchYearJan1.

void Satellite::setFlags ( const SatFlags &  flags)

Sets the internal flags in one operation (only display flags)!

void Satellite::setNewTleElements ( const QString &  tle1,
const QString &  tle2 
)

Set new tleElements.

This assumes the designation is already set, populates the tleElements values and configures internal orbit parameters.


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