Satellite.hpp   Satellite.hpp 
skipping to change at line 35 skipping to change at line 35
#include <QStringList> #include <QStringList>
#include <QFont> #include <QFont>
#include <QList> #include <QList>
#include <QDateTime> #include <QDateTime>
#include "StelObject.hpp" #include "StelObject.hpp"
#include "StelTextureTypes.hpp" #include "StelTextureTypes.hpp"
#include "StelSphereGeometry.hpp" #include "StelSphereGeometry.hpp"
#include "StelPainter.hpp" #include "StelPainter.hpp"
#include "gsatellite/gSatTEME.hpp" #include "gSatWrapper.hpp"
#include "gsatellite/gObserver.hpp"
#include "gsatellite/gTime.hpp"
#include "gsatellite/gVector.hpp"
class StelPainter; class StelPainter;
class StelLocation; class StelLocation;
typedef struct typedef struct
{ {
double frequency; double frequency;
QString modulation; QString modulation;
QString description; QString description;
} commLink; } commLink;
//! @class Satellite //! @class Satellite
//! A Satellite object represents one satellite in Earth orbit. //! A Satellite object represents one satellite in Earth orbit.
//! Details about the satellite are passed using a QVariant which contains //! Details about the satellite are passed using a QVariant which contains
//! a map of data from the json file. //! a map of data from the json file.
class Satellite : public StelObject class Satellite : public StelObject
{ {
friend class Satellites; friend class Satellites;
friend class SatellitesDialog; friend class SatellitesDialog;
public: public:
//! @param id The official designation for a satellite, e.g. "ZARYA" //! @param id The official designation for a satellite, e.g. "ZARYA"
//! @param conf a pointer to a QSettings object which contains the //! @param conf a pointer to a QSettings object which contains the
//! details of the satellite (TLEs, description etc.) //! details of the satellite (TLEs, description etc.)
Satellite(const QVariantMap& map); Satellite(const QVariantMap& map);
~Satellite(); ~Satellite();
//! Get a QVariantMap which describes the satellite. Could be used to //! Get a QVariantMap which describes the satellite. Could be used to
//! create a duplicate. //! create a duplicate.
QVariantMap getMap(void); QVariantMap getMap(void);
virtual QString getType(void) const {return "Satellite";} virtual QString getType(void) const
virtual float getSelectPriority(const StelNavigator *nav) const; {
return "Satellite";
}
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
//! @flags a set of flags with information types to include. //! @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 arth //! - Extra1: range, rage rate and altitude of satellite above the E arth
//! - Extra2: 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 StelNavigator *) const {re virtual Vec3d getJ2000EquatorialPos(const StelCore*) const
turn XYZ;} {
virtual float getVMagnitude(const StelNavigator* nav=NULL) const; return XYZ;
}
virtual float getVMagnitude(const StelCore* core=NULL) const;
virtual double getAngularSize(const StelCore* core) const; virtual double getAngularSize(const StelCore* core) const;
virtual QString getNameI18n(void) const {return designation;} virtual QString getNameI18n(void) const
virtual QString getEnglishName(void) const {return designation;} {
return designation;
}
virtual QString getEnglishName(void) const
{
return designation;
}
//! Set new tleElements. This assumes the designation is already se t, populates //! Set new tleElements. This assumes the designation is already se t, populates
//! the tleElements values and configures internal orbit parameters. //! the tleElements values and configures internal orbit parameters.
void setNewTleElements(const QString& tle1, const QString& tle2); void setNewTleElements(const QString& tle1, const QString& tle2);
// calculate faders, new position // calculate faders, new position
void update(double deltaTime); void update(double deltaTime);
double getDoppler(double freq) const; double getDoppler(double freq) const;
static float showLabels; static float showLabels;
skipping to change at line 119 skipping to change at line 128
//! 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); void setNightColors(bool night);
private: private:
bool initialized; bool initialized;
bool visible; bool visible;
bool orbitVisible; //draw orbit enabled/disabled bool orbitVisible; //draw orbit enabled/disabled
QString designation; // The ID of the satllite QString designation; // The ID of the satellite
QString description; // longer description of spacecra ft QString description; // longer description of spacecra ft
Vec3d XYZ; // holds J2000 position Vec3d XYZ; // holds J2000 position
QPair< QByteArray, QByteArray > tleElements; QPair< QByteArray, QByteArray > tleElements;
double height, velocity, azimuth, elevation, range, rangeRate; double height, range, rangeRate;
QList<commLink> comms; QList<commLink> comms;
Vec3f hintColor; Vec3f hintColor;
QStringList groupIDs; QStringList groupIDs;
QDateTime lastUpdated; QDateTime lastUpdated;
static StelTextureSP hintTexture; static StelTextureSP hintTexture;
static SphericalCap viewportHalfspace;
static float hintBrightness; static float hintBrightness;
static float hintScale; static float hintScale;
static SphericalCap viewportHalfspace; static int orbitLineSegments;
static int orbitLineSegments; static int orbitLineFadeSegments;
static int orbitLineFadeSegments; static int orbitLineSegmentDuration; //measured in seconds
static int orbitLineSegmentDuration; static bool orbitLinesFlag;
static bool orbitLinesFlag;
void draw(const StelCore* core, StelPainter& painter, float maxMagHi nts); void draw(const StelCore* core, StelPainter& painter, float maxMagHi nts);
void setObserverLocation(StelLocation* loc=NULL);
//gsatellite objects //Satellite Orbit Position calculation
gSatTEME *pSatellite; gSatWrapper *pSatWrapper;
gObserver observer; Vec3d position;
gTime epochTime; Vec3d velocity;
gVector Position; Vec3d latLongSubPointPosition;
gVector Vel; Vec3d elAzPosition;
gVector LatLong; int visibility;
gVector azElPos;
//Satellite Orbit Draw //Satellite Orbit Draw
QFont font; QFont font;
Vec3f orbitColorNormal; Vec3f orbitColorNormal;
Vec3f orbitColorNight; Vec3f orbitColorNight;
Vec3f* orbitColor; Vec3f* orbitColor;
gTime lastEpochCompForOrbit; double lastEpochCompForOrbit; //measured in Julian Days
QList<gVector> orbitPoints; //orbit points represented by azElPos ve double epochTime; //measured in Julian Days
ctors QList<Vec3d> orbitPoints; //orbit points represented by ElAzPos vect
ors
}; };
#endif // _SATELLITE_HPP_ #endif // _SATELLITE_HPP_
 End of changes. 12 change blocks. 
32 lines changed or deleted 39 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/