Satellite.hpp   Satellite.hpp 
skipping to change at line 40 skipping to change at line 40
#include "StelObject.hpp" #include "StelObject.hpp"
#include "StelTextureTypes.hpp" #include "StelTextureTypes.hpp"
#include "StelSphereGeometry.hpp" #include "StelSphereGeometry.hpp"
#include "gSatWrapper.hpp" #include "gSatWrapper.hpp"
class StelPainter; class StelPainter;
class StelLocation; class StelLocation;
//! Radio communication channel properties. //! Radio communication channel properties.
//! @ingroup satellites
typedef struct typedef struct
{ {
double frequency; //!< Channel frequency in MHz. double frequency; //!< Channel frequency in MHz.
QString modulation; //!< Signal modulation mode. QString modulation; //!< Signal modulation mode.
QString description; //!< Channel description. QString description; //!< Channel description.
} CommLink; } CommLink;
//! Description of the data roles used in SatellitesListModel. //! Description of the data roles used in SatellitesListModel.
//! @ingroup satellites
enum SatelliteDataRole { enum SatelliteDataRole {
SatIdRole = Qt::UserRole, SatIdRole = Qt::UserRole,
SatDescriptionRole, SatDescriptionRole,
SatFlagsRole, SatFlagsRole,
SatGroupsRole, SatGroupsRole,
FirstLineRole, FirstLineRole,
SecondLineRole SecondLineRole
}; };
//! Type for sets of satellite group IDs. //! Type for sets of satellite group IDs.
//! @ingroup satellites
typedef QSet<QString> GroupSet; typedef QSet<QString> GroupSet;
//! Flag type reflecting internal flags of Satellite. //! Flag type reflecting internal flags of Satellite.
//! @ingroup satellites
enum SatFlag enum SatFlag
{ {
SatNoFlags = 0x0, SatNoFlags = 0x0,
SatDisplayed = 0x1, SatDisplayed = 0x1,
SatNotDisplayed = 0x2, SatNotDisplayed = 0x2,
SatUser = 0x4, SatUser = 0x4,
SatOrbit = 0x8, SatOrbit = 0x8,
SatNew = 0x10, SatNew = 0x10,
SatError = 0x20 SatError = 0x20
}; };
typedef QFlags<SatFlag> SatFlags; typedef QFlags<SatFlag> SatFlags;
Q_DECLARE_OPERATORS_FOR_FLAGS(SatFlags) Q_DECLARE_OPERATORS_FOR_FLAGS(SatFlags)
// Allows the type to be used by QVariant // Allows the type to be used by QVariant
Q_DECLARE_METATYPE(GroupSet) Q_DECLARE_METATYPE(GroupSet)
Q_DECLARE_METATYPE(SatFlags) Q_DECLARE_METATYPE(SatFlags)
//! @class Satellite //! @class Satellite
//! A representation of a satellite in Earth orbit. //! A representation of a satellite in Earth orbit.
//! Details about the satellite are passed with a JSON-representation struc ture //! Details about the satellite are passed with a JSON-representation struc ture
//! that contains a @ref satcat "satellite catalog" entry. //! that contains a <b>Satellite Catalog</b> entry.
//! //!
//! Thanks to operator<() overloading, container classes (QList, QMap, etc) //! Thanks to operator<() overloading, container classes (QList, QMap, etc)
//! with Satellite or SatelliteP objects can be sorted by satellite name/ID . //! with Satellite or SatelliteP objects can be sorted by satellite name/ID .
//! @ingroup satellites
class Satellite : public StelObject class Satellite : public StelObject
{ {
friend class Satellites; friend class Satellites;
friend class SatellitesDialog; friend class SatellitesDialog;
friend class SatellitesListModel; friend class SatellitesListModel;
public: public:
//! \param identifier unique identifier (currently the Catalog Numbe r) //! \param identifier unique identifier (currently the Catalog Numbe r)
//! \param data a QMap which contains the details of the satellite //! \param data a QMap which contains the details of the satellite
//! (TLE set, description etc.) //! (TLE set, description etc.)
skipping to change at line 228 skipping to change at line 233
static SphericalCap viewportHalfspace; static SphericalCap viewportHalfspace;
static float hintBrightness; static float hintBrightness;
static float hintScale; static float hintScale;
static int orbitLineSegments; static int orbitLineSegments;
static int orbitLineFadeSegments; static int orbitLineFadeSegments;
static int orbitLineSegmentDuration; //measured in seconds static int orbitLineSegmentDuration; //measured in seconds
static bool orbitLinesFlag; static bool orbitLinesFlag;
static bool realisticModeFlag; static bool realisticModeFlag;
//! Mask controlling which info display flags should be honored. //! Mask controlling which info display flags should be honored.
static StelObject::InfoStringGroupFlags flagsMask; static StelObject::InfoStringGroupFlags flagsMask;
static Vec3f invisibleSatelliteColor;
void draw(StelCore *core, StelPainter& painter, float maxMagHints); void draw(StelCore *core, StelPainter& painter, float maxMagHints);
//Satellite Orbit Position calculation //Satellite Orbit Position calculation
gSatWrapper *pSatWrapper; gSatWrapper *pSatWrapper;
Vec3d position; Vec3d position;
Vec3d velocity; Vec3d velocity;
Vec3d latLongSubPointPosition; Vec3d latLongSubPointPosition;
Vec3d elAzPosition; Vec3d elAzPosition;
#ifdef IRIDIUM_SAT_TEXT_DEBUG
static QString myText;
#endif
int visibility; int visibility;
double phaseAngle; // phase angle for the satellite double phaseAngle; // phase angle for the satellite
static double sunReflAngle; // for Iridium satellites
static double timeShift; // for Iridium satellites
//Satellite Orbit Draw //Satellite Orbit Draw
QFont font; QFont font;
Vec3f orbitColor; Vec3f orbitColor;
double lastEpochCompForOrbit; //measured in Julian Days double lastEpochCompForOrbit; //measured in Julian Days
double epochTime; //measured in Julian Days double epochTime; //measured in Julian Days
QList<Vec3d> orbitPoints; //orbit points represented by ElAzPos vect ors QList<Vec3d> orbitPoints; //orbit points represented by ElAzPos vect ors
QList<int> visibilityPoints; //orbit visibility points
}; };
typedef QSharedPointer<Satellite> SatelliteP; typedef QSharedPointer<Satellite> SatelliteP;
bool operator<(const SatelliteP& left, const SatelliteP& right); bool operator<(const SatelliteP& left, const SatelliteP& right);
#endif // _SATELLITE_HPP_ #endif // _SATELLITE_HPP_
 End of changes. 10 change blocks. 
1 lines changed or deleted 15 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/