Satellite.hpp   Satellite.hpp 
skipping to change at line 26 skipping to change at line 26
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA.
*/ */
#ifndef _SATELLITE_HPP_ #ifndef _SATELLITE_HPP_
#define _SATELLITE_HPP_ 1 #define _SATELLITE_HPP_ 1
#include <QVariant> #include <QVariant>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <QFont>
#include <QList>
#include <QDateTime>
#include "StelObject.hpp" #include "StelObject.hpp"
#include "StelTextureTypes.hpp" #include "StelTextureTypes.hpp"
#include "sgp4sdp4/sgp4sdp4.h" #include "StelSphereGeometry.hpp"
#include "StelPainter.hpp"
#include "gsatellite/gSatTEME.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;
skipping to change at line 79 skipping to change at line 88
//! - 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 turn XYZ;} virtual Vec3d getJ2000EquatorialPos(const StelNavigator *) const {re turn XYZ;}
virtual float getVMagnitude(const StelNavigator* nav=NULL) const; virtual float getVMagnitude(const StelNavigator* nav=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 {return designation;}
virtual QString getEnglishName(void) const {return designation;} virtual QString getEnglishName(void) const {return designation;}
//! Set new tleElements. This assumes the designation is already se
t, populates
//! the tleElements values and configures internal orbit parameters.
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;
static double roundToDp(float n, int dp);
// when the observer location changes we need to
void recalculateOrbitLines(void);
public:
void enableDrawOrbit(bool b);
private:
//draw orbits methods
void computeOrbitPoints();
void drawOrbit(StelPainter& painter);
//! returns 0 - 1.0 for the DRAWORBIT_FADE_NUMBER segments at
//! each end of an orbit, with 1 in the middle.
float calculateOrbitSegmentIntensity(int segNum);
void setNightColors(bool night);
private: private:
bool initialized; bool initialized;
bool visible; bool visible;
bool orbitVisible; //draw orbit enabled/disabled
QString designation; // The ID of the satllite QString designation; // The ID of the satllite
QString description; // longer description of spacecra ft QString description; // longer description of spacecra ft
Vec3d XYZ; // holds J2000 position Vec3d XYZ; // holds J2000 position
char elements[3][80]; // TLE elements as char* for pass QPair< QByteArray, QByteArray > tleElements;
ing to sgp lib
tle_t tle, localtle;
double height, velocity, azimuth, elevation, range, rangeRate; double height, velocity, azimuth, elevation, range, rangeRate;
QList<commLink> comms; QList<commLink> comms;
Vec3f hintColor; Vec3f hintColor;
QStringList groupIDs; QStringList groupIDs;
QDateTime lastUpdated;
static StelTextureSP hintTexture; static StelTextureSP hintTexture;
static float hintBrightness; static float hintBrightness;
static float hintScale; static float hintScale;
geodetic_t obs_geodetic; // observer location static SphericalCap viewportHalfspace;
static int orbitLineSegments;
static int orbitLineFadeSegments;
static int orbitLineSegmentDuration;
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); void setObserverLocation(StelLocation* loc=NULL);
//gsatellite objects
gSatTEME *pSatellite;
gObserver observer;
gTime epochTime;
gVector Position;
gVector Vel;
gVector LatLong;
gVector azElPos;
//Satellite Orbit Draw
QFont font;
Vec3f orbitColorNormal;
Vec3f orbitColorNight;
Vec3f* orbitColor;
gTime lastEpochCompForOrbit;
QList<gVector> orbitPoints; //orbit points represented by azElPos ve
ctors
}; };
#endif // _SATELLITE_HPP_ #endif // _SATELLITE_HPP_
 End of changes. 9 change blocks. 
5 lines changed or deleted 59 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/