Satellite.hpp   Satellite.hpp 
skipping to change at line 32 skipping to change at line 32
#include <QDateTime> #include <QDateTime>
#include <QFont> #include <QFont>
#include <QList> #include <QList>
#include <QSharedPointer> #include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <QVariant> #include <QVariant>
#include "StelObject.hpp" #include "StelObject.hpp"
#include "StelTextureTypes.hpp"
#include "StelSphereGeometry.hpp" #include "StelSphereGeometry.hpp"
#include "StelProjectorType.hpp"
#include "gSatWrapper.hpp" #include "gSatWrapper.hpp"
class StelPainter;
class StelLocation; class StelLocation;
//! Radio communication channel properties. //! Radio communication channel properties.
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;
skipping to change at line 114 skipping to change at line 114
return "Satellite"; return "Satellite";
} }
virtual float getSelectPriority(const StelCore* core) const; virtual float getSelectPriority(const StelCore* core) const;
//! Get an HTML string to describe the object //! Get an HTML string to describe the object
//! @param core A pointer to the core //! @param core A pointer to the core
//! @param flags a set of flags with information types to include. //! @param flags a set of flags with information types to include.
//! Supported types for Satellite objects: //! Supported types for Satellite objects:
//! - Name: designation in large type with the description underneat h //! - Name: designation in large type with the description underneat h
//! - RaDecJ2000, RaDecOfDate, HourAngle, AltAzi //! - RaDecJ2000, RaDecOfDate, HourAngle, AltAzi
//! - Extra1: range, rage rate and altitude of satellite above the E //! - Extra: range, rage rate and altitude of satellite above the Ea
arth rth, comms frequencies, modulation types and so on.
//! - Extra2: Comms frequencies, modulation types and so on.
virtual QString getInfoString(const StelCore *core, const InfoString Group& flags) const; virtual QString getInfoString(const StelCore *core, const InfoString Group& flags) const;
virtual Vec3f getInfoColor(void) const; virtual Vec3f getInfoColor(void) const;
virtual Vec3d getJ2000EquatorialPos(const StelCore*) const; virtual Vec3d getJ2000EquatorialPos(const StelCore*) const;
virtual float getVMagnitude(const StelCore* core=NULL, bool withExti nction=false) const; virtual float getVMagnitude(const StelCore* core) const;
virtual double getAngularSize(const StelCore* core) const; virtual double getAngularSize(const StelCore* core) const;
virtual QString getNameI18n(void) const virtual QString getNameI18n(void) const
{ {
return name; return name;
} }
virtual QString getEnglishName(void) const virtual QString getEnglishName(void) const
{ {
return name; return name;
} }
//! Returns the (NORAD) catalog number. (For now, the ID string.) //! Returns the (NORAD) catalog number. (For now, the ID string.)
skipping to change at line 162 skipping to change at line 161
void setFlags(const SatFlags& flags); void setFlags(const SatFlags& flags);
//! Parse TLE line to extract International Designator and launch ye ar. //! Parse TLE line to extract International Designator and launch ye ar.
//! Sets #internationalDesignator and #jdLaunchYearJan1. //! Sets #internationalDesignator and #jdLaunchYearJan1.
void parseInternationalDesignator(const QString& tle1); void parseInternationalDesignator(const QString& tle1);
//! Needed for sorting lists (if this ever happens...). //! Needed for sorting lists (if this ever happens...).
//! Compares #name fields. If equal, #id fields, which can't be. //! Compares #name fields. If equal, #id fields, which can't be.
bool operator<(const Satellite& another) const; bool operator<(const Satellite& another) const;
//! Calculation of illuminated fraction of the satellite.
float calculateIlluminatedFraction() const;
private: private:
//draw orbits methods //draw orbits methods
void computeOrbitPoints(); void computeOrbitPoints();
void drawOrbit(class StelRenderer* renderer, StelProjectorP projecto r); void drawOrbit(StelPainter& painter);
//! returns 0 - 1.0 for the DRAWORBIT_FADE_NUMBER segments at //! returns 0 - 1.0 for the DRAWORBIT_FADE_NUMBER segments at
//! each end of an orbit, with 1 in the middle. //! each end of an orbit, with 1 in the middle.
float calculateOrbitSegmentIntensity(int segNum); float calculateOrbitSegmentIntensity(int segNum);
void setNightColors(bool night);
private: private:
bool initialized; bool initialized;
//! Flag indicating whether the satellite should be displayed. //! Flag indicating whether the satellite should be displayed.
//! Should not be confused with the pedicted visibility of the //! Should not be confused with the pedicted visibility of the
//! actual satellite to the observer. //! actual satellite to the observer.
bool displayed; bool displayed;
//! Flag indicating whether an orbit section should be displayed. //! Flag indicating whether an orbit section should be displayed.
bool orbitDisplayed; // draw orbit enabled/disabled bool orbitDisplayed; // draw orbit enabled/disabled
//! Flag indicating that the satellite is user-defined. //! Flag indicating that the satellite is user-defined.
skipping to change at line 203 skipping to change at line 204
QString name; QString name;
//! Longer description of the satellite. //! Longer description of the satellite.
QString description; QString description;
//! International Designator / COSPAR designation / NSSDC ID. //! International Designator / COSPAR designation / NSSDC ID.
QString internationalDesignator; QString internationalDesignator;
//! Julian date of Jan 1st of the launch year. //! Julian date of Jan 1st of the launch year.
//! Used to hide satellites before their launch date. //! Used to hide satellites before their launch date.
//! Extracted from TLE set with parseInternationalDesignator(). //! Extracted from TLE set with parseInternationalDesignator().
//! It defaults to 1 Jan 1957 if extraction fails. //! It defaults to 1 Jan 1957 if extraction fails.
double jdLaunchYearJan1; double jdLaunchYearJan1;
//! Standard visual magnitude of the satellite.
double stdMag;
//! Contains the J2000 position. //! Contains the J2000 position.
Vec3d XYZ; Vec3d XYZ;
QPair< QByteArray, QByteArray > tleElements; QPair< QByteArray, QByteArray > tleElements;
double height, range, rangeRate; double height, range, rangeRate;
QList<CommLink> comms; QList<CommLink> comms;
Vec3f hintColor; Vec3f hintColor;
//! Identifiers of the groups to which the satellite belongs. //! Identifiers of the groups to which the satellite belongs.
//! See @ref groups. //! See @ref groups.
GroupSet groups; GroupSet groups;
QDateTime lastUpdated; QDateTime lastUpdated;
static StelTextureSP hintTexture;
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;
//! 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;
void draw(const StelCore* core, class StelRenderer* renderer, void draw(StelCore *core, StelPainter& painter, float maxMagHints);
StelProjectorP projector, class StelTextureNew* hintTextur
e);
//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;
int visibility; int visibility;
double phaseAngle; // phase angle for the satellite
//Satellite Orbit Draw //Satellite Orbit Draw
QFont font; QFont font;
Vec3f orbitColorNormal; Vec3f orbitColor;
Vec3f orbitColorNight;
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
}; };
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. 14 change blocks. 
19 lines changed or deleted 21 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/