20 #ifndef _SATELLITE_HPP_ 21 #define _SATELLITE_HPP_ 1 26 #include <QSharedPointer> 28 #include <QStringList> 31 #include "StelObject.hpp" 34 #include "gSatWrapper.hpp" 52 SatIdRole = Qt::UserRole,
70 SatNotDisplayed = 0x2,
76 typedef QFlags<SatFlag> SatFlags;
77 Q_DECLARE_OPERATORS_FOR_FLAGS(SatFlags)
81 Q_DECLARE_METATYPE(SatFlags)
99 static const QString SATELLITE_TYPE;
104 StatusOperational = 1,
105 StatusNonoperational = 2,
106 StatusPartiallyOperational = 3,
109 StatusExtendedMission = 6,
117 Satellite(
const QString& identifier,
const QVariantMap& data);
126 return SATELLITE_TYPE;
182 void update(
double deltaTime);
184 double getDoppler(
double freq)
const;
185 static bool showLabels;
186 static double roundToDp(
float n,
int dp);
189 void recalculateOrbitLines(
void);
191 void setNew() {newlyAdded =
true;}
192 bool isNew()
const {
return newlyAdded;}
197 void setFlags(
const SatFlags& flags);
215 void computeOrbitPoints();
219 float calculateOrbitSegmentIntensity(
int segNum);
247 QString internationalDesignator;
252 double jdLaunchYearJan1;
259 QPair< QByteArray, QByteArray > tleElements;
260 double height, range, rangeRate;
261 QList<CommLink> comms;
266 QDateTime lastUpdated;
270 static float hintBrightness;
271 static float hintScale;
272 static int orbitLineSegments;
273 static int orbitLineFadeSegments;
274 static int orbitLineSegmentDuration;
275 static bool orbitLinesFlag;
276 static bool realisticModeFlag;
279 static Vec3f invisibleSatelliteColor;
281 static double timeRateLimit;
289 Vec3d latLongSubPointPosition;
292 #ifdef IRIDIUM_SAT_TEXT_DEBUG 293 static QString myText;
296 gSatWrapper::Visibility visibility;
298 static double sunReflAngle;
304 double lastEpochCompForOrbit;
306 QList<Vec3d> orbitPoints;
307 QList<gSatWrapper::Visibility> visibilityPoints;
310 typedef QSharedPointer<Satellite> SatelliteP;
311 bool operator<(
const SatelliteP& left,
const SatelliteP& right);
313 #endif // _SATELLITE_HPP_ Main configuration window of the Satellites plugin.
virtual Vec3f getInfoColor(void) const
Get a color used to display info about the object.
Store the informations for a location on a planet.
virtual QString getInfoString(const StelCore *core, const InfoStringGroup &flags) const
Get an HTML string to describe the object.
Wrapper allowing compatibility between gsat and Stellarium/Qt.
QString description
Channel description.
The base abstract class for sky objects used in Stellarium like Stars, Planets, Constellations etc...
Define the StelTextureSP type.
QString modulation
Signal modulation mode.
QString getOperationalStatus() const
Get operational status of satellite.
OptStatus
operational statuses
A SphericalCap is defined by a direction and an aperture.
Satellite(const QString &identifier, const QVariantMap &data)
virtual QString getType(void) const
Return object's type. It should be the name of the class.
Main class for Stellarium core processing.
SatFlag
Flag type reflecting internal flags of Satellite.
virtual Vec3d getJ2000EquatorialPos(const StelCore *) const
Get observer-centered equatorial coordinates at equinox J2000.
float calculateIlluminatedFraction() const
Calculation of illuminated fraction of the satellite.
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.
void setNewTleElements(const QString &tle1, const QString &tle2)
Set new tleElements.
InfoStringGroupFlags
Used as named bitfield flags as specifiers to filter results of getInfoString.
Radio communication channel properties.
double frequency
Channel frequency in MHz.
SatelliteDataRole
Description of the data roles used in SatellitesListModel.
SatFlags getFlags() const
Get internal flags as a single value.
Provides functions for performing openGL drawing operations.
void setFlags(const SatFlags &flags)
Sets the internal flags in one operation (only display flags)!
QSet< QString > GroupSet
Type for sets of satellite group IDs.
virtual QString getID(void) const
Returns a unique identifier for this object.
virtual QString getNameI18n(void) const
Return translated object's name.
void parseInternationalDesignator(const QString &tle1)
Parse TLE line to extract International Designator and launch year.
Main class of the Satellites plugin.
bool operator<(const Satellite &another) const
Needed for sorting lists (if this ever happens...).
QVariantMap getMap(void)
Get a QVariantMap which describes the satellite.
A representation of a satellite in Earth orbit.
A templatized 3d vector compatible with openGL.
virtual QString getEnglishName(void) const
Return object's name in english.
A model encapsulating a satellite list.
QSharedPointer< StelTexture > StelTextureSP
Use shared pointer to simplify memory managment.
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...
virtual QVariantMap getInfoMap(const StelCore *core) const
Return a map like StelObject::getInfoMap(), but with a few extra tags also available in getInfoString...
Define all SphericalGeometry primitives as well as the SphericalRegionP type.
virtual float getVMagnitude(const StelCore *core) const
Return object's apparent V magnitude as seen from observer, without including extinction.
QString getCatalogNumberString() const
Returns the (NORAD) catalog number. (For now, the ID string.)