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)
101 Satellite(
const QString& identifier,
const QVariantMap& data);
106 QVariantMap getMap(
void);
108 virtual QString getType(
void)
const
112 virtual float getSelectPriority(
const StelCore* core)
const;
121 virtual QString getInfoString(
const StelCore *core,
const InfoStringGroup& flags)
const;
122 virtual Vec3f getInfoColor(
void)
const;
123 virtual Vec3d getJ2000EquatorialPos(
const StelCore*)
const;
124 virtual float getVMagnitude(
const StelCore* core)
const;
125 virtual double getAngularSize(
const StelCore* core)
const;
126 virtual QString getNameI18n(
void)
const
130 virtual QString getEnglishName(
void)
const
135 QString getCatalogNumberString()
const {
return id;}
139 void setNewTleElements(
const QString& tle1,
const QString& tle2);
142 void update(
double deltaTime);
144 double getDoppler(
double freq)
const;
145 static float showLabels;
146 static double roundToDp(
float n,
int dp);
149 void recalculateOrbitLines(
void);
151 void setNew() {newlyAdded =
true;}
152 bool isNew()
const {
return newlyAdded;}
157 void setFlags(
const SatFlags& flags);
161 void parseInternationalDesignator(
const QString& tle1);
165 bool operator<(
const Satellite& another)
const;
168 float calculateIlluminatedFraction()
const;
172 void computeOrbitPoints();
176 float calculateOrbitSegmentIntensity(
int segNum);
204 QString internationalDesignator;
209 double jdLaunchYearJan1;
214 QPair< QByteArray, QByteArray > tleElements;
215 double height, range, rangeRate;
216 QList<CommLink> comms;
221 QDateTime lastUpdated;
225 static float hintBrightness;
226 static float hintScale;
227 static int orbitLineSegments;
228 static int orbitLineFadeSegments;
229 static int orbitLineSegmentDuration;
230 static bool orbitLinesFlag;
231 static bool realisticModeFlag;
233 static StelObject::InfoStringGroupFlags flagsMask;
234 static Vec3f invisibleSatelliteColor;
242 Vec3d latLongSubPointPosition;
245 #ifdef IRIDIUM_SAT_TEXT_DEBUG
246 static QString myText;
251 static double sunReflAngle;
252 static double timeShift;
257 double lastEpochCompForOrbit;
259 QList<Vec3d> orbitPoints;
260 QList<int> visibilityPoints;
263 typedef QSharedPointer<Satellite> SatelliteP;
264 bool operator<(
const SatelliteP& left,
const SatelliteP& right);
266 #endif // _SATELLITE_HPP_
Main configuration window of the Satellites plugin.
Wrapper allowing compatibility between gsat and Stellarium/Qt.
QString description
Channel description.
QString modulation
Signal modulation mode.
SatFlag
Flag type reflecting internal flags of Satellite.
Radio communication channel properties.
double frequency
Channel frequency in MHz.
SatelliteDataRole
Description of the data roles used in SatellitesListModel.
QSet< QString > GroupSet
Type for sets of satellite group IDs.
Main class of the Satellites plugin.
A representation of a satellite in Earth orbit.
A model encapsulating a satellite list.
QSharedPointer< StelTexture > StelTextureSP