Planet.hpp   Planet.hpp 
skipping to change at line 40 skipping to change at line 40
#include "StelProjectorType.hpp" #include "StelProjectorType.hpp"
// The callback type for the external position computation function // The callback type for the external position computation function
// The last variable is the userData pointer. // The last variable is the userData pointer.
typedef void (*posFuncType)(double, double*, void*); typedef void (*posFuncType)(double, double*, void*);
typedef void (OsculatingFunctType)(double jd0,double jd,double xyz[3]); typedef void (OsculatingFunctType)(double jd0,double jd,double xyz[3]);
// epoch J2000: 12 UT on 1 Jan 2000 // epoch J2000: 12 UT on 1 Jan 2000
#define J2000 2451545.0 #define J2000 2451545.0
#define ORBIT_SEGMENTS 72 #define ORBIT_SEGMENTS 360
class StelFont; class StelFont;
class StelPainter; class StelPainter;
class StelTranslator; class StelTranslator;
struct TrailPoint struct TrailPoint
{ {
Vec3d point; Vec3d point;
double date; double date;
}; };
skipping to change at line 111 skipping to change at line 111
// Methods inherited from StelObject // Methods inherited from StelObject
//! Get a string with data about the Planet. //! Get a string with data about the Planet.
//! Planets support the following InfoStringGroup flags: //! Planets support the following InfoStringGroup flags:
//! - Name //! - Name
//! - Magnitude //! - Magnitude
//! - RaDec //! - RaDec
//! - AltAzi //! - AltAzi
//! - Distance //! - Distance
//! - Size //! - Size
//! - PlainText //! - PlainText
//! - Extra1: Heliocentric Ecliptical Coordinates //! - Extra1: Heliocentric Ecliptical Coordinates & Observer-planeto
//! - Extra2: Observer-planetocentric Ecliptical Coordinates centric Ecliptical Coordinates
//! - Extra2: Phase, illumination, phase angle & elongation from the
Sun
//! @param core the StelCore object //! @param core the StelCore object
//! @param flags a set of InfoStringGroup items to include in the re turn value. //! @param flags a set of InfoStringGroup items to include in the re turn value.
//! @return a QString containing an HMTL encoded description of the Planet. //! @return a QString containing an HMTL encoded description of the Planet.
virtual QString getInfoString(const StelCore *core, const InfoString Group& flags) const; virtual QString getInfoString(const StelCore *core, const InfoString Group& flags) const;
virtual double getCloseViewFov(const StelCore* core) const; virtual double getCloseViewFov(const StelCore* core) const;
virtual double getSatellitesFov(const StelCore* core) const; virtual double getSatellitesFov(const StelCore* core) const;
virtual double getParentSatellitesFov(const StelCore* core) const; virtual double getParentSatellitesFov(const StelCore* core) const;
virtual float getVMagnitude(const StelCore* core, bool withExtinctio n=false) const; virtual float getVMagnitude(const StelCore* core, bool withExtinctio n=false) const;
virtual float getSelectPriority(const StelCore* core) const; virtual float getSelectPriority(const StelCore* core) const;
virtual Vec3f getInfoColor(void) const; virtual Vec3f getInfoColor(void) const;
skipping to change at line 161 skipping to change at line 161
const RotationElements &getRotationElements(void) const {return re;} const RotationElements &getRotationElements(void) const {return re;}
// Compute the position in the parent Planet coordinate system // Compute the position in the parent Planet coordinate system
void computePositionWithoutOrbits(const double date); void computePositionWithoutOrbits(const double date);
void computePosition(const double date); void computePosition(const double date);
// Compute the transformation matrix from the local Planet coordinat e to the parent Planet coordinate // Compute the transformation matrix from the local Planet coordinat e to the parent Planet coordinate
void computeTransMatrix(double date); void computeTransMatrix(double date);
// Get the phase angle for an observer at pos obsPos in the heliocen tric coordinate (in AU) // Get the phase angle (rad) for an observer at pos obsPos in helioc entric coordinates (in AU)
double getPhase(const Vec3d& obsPos) const; double getPhase(const Vec3d& obsPos) const;
// Get the elongation angle (rad) for an observer at pos obsPos in h
eliocentric coordinates (in AU)
double getElongation(const Vec3d& obsPos) const;
// Get the angular size of the spheroid of the planet (i.e. without the rings) // Get the angular size of the spheroid of the planet (i.e. without the rings)
double getSpheroidAngularSize(const StelCore* core) const; double getSpheroidAngularSize(const StelCore* core) const;
// Set the orbital elements // Set the orbital elements
void setRotationElements(float _period, float _offset, double _epoch , void setRotationElements(float _period, float _offset, double _epoch ,
float _obliquity, float _ascendingNode, float _obliquity, float _ascendingNode,
float _precessionRate, double _siderealPeri od); float _precessionRate, double _siderealPeri od);
double getRotAscendingnode(void) const {return re.ascendingNode;} double getRotAscendingnode(void) const {return re.ascendingNode;}
double getRotObliquity(void) const {return re.obliquity;} double getRotObliquity(void) const {return re.obliquity;}
//! Get the Planet position in the parent Planet ecliptic coordinate in AU //! Get the Planet position in the parent Planet ecliptic coordinate in AU
Vec3d getEclipticPos() const; Vec3d getEclipticPos() const;
// Return the heliocentric ecliptical position // Return the heliocentric ecliptical position
Vec3d getHeliocentricEclipticPos() const; Vec3d getHeliocentricEclipticPos() const;
// Return the heliocentric transformation for local coordinate
Vec3d getHeliocentricPos(Vec3d) const;
void setHeliocentricEclipticPos(const Vec3d &pos); void setHeliocentricEclipticPos(const Vec3d &pos);
// Compute the distance to the given position in heliocentric coordi nate (in AU) // Compute the distance to the given position in heliocentric coordi nate (in AU)
double computeDistance(const Vec3d& obsHelioPos); double computeDistance(const Vec3d& obsHelioPos);
double getDistance(void) const {return distance;} double getDistance(void) const {return distance;}
void setRings(Ring* r) {rings = r;} void setRings(Ring* r) {rings = r;}
void setSphereScale(float s) {sphereScale = s;} void setSphereScale(float s) {sphereScale = s;}
float getSphereScale(void) const {return sphereScale;} float getSphereScale(void) const {return sphereScale;}
skipping to change at line 212 skipping to change at line 217
//////////////////////////////////////////////////////////////////// /////// //////////////////////////////////////////////////////////////////// ///////
// DEPRECATED // DEPRECATED
///// Orbit related code ///// Orbit related code
// Should move to an OrbitPath class which works on a SolarSystemObj ect, not a Planet // Should move to an OrbitPath class which works on a SolarSystemObj ect, not a Planet
void setFlagOrbits(bool b){orbitFader = b;} void setFlagOrbits(bool b){orbitFader = b;}
bool getFlagOrbits(void) const {return orbitFader;} bool getFlagOrbits(void) const {return orbitFader;}
LinearFader orbitFader; LinearFader orbitFader;
// draw orbital path of Planet // draw orbital path of Planet
void drawOrbit(const StelCore*); void drawOrbit(const StelCore*);
Vec3d orbit[ORBIT_SEGMENTS+1]; // store heliocentric coordinates f or drawing the orbit Vec3d orbit[ORBIT_SEGMENTS+1]; // store heliocentric coordinates f or drawing the orbit
Vec3d orbitP[ORBIT_SEGMENTS+1]; // store local coordinate for orbit
double lastOrbitJD; double lastOrbitJD;
double deltaJD; double deltaJD;
double deltaOrbitJD; double deltaOrbitJD;
bool orbitCached; // whether orbit calculations are c ached for drawing orbit yet bool orbitCached; // whether orbit calculations are c ached for drawing orbit yet
bool closeOrbit; // whether to connect the beginning of the orbit line to bool closeOrbit; // whether to connect the beginning of the orbit line to
// the end: good for elliptical orb its, bad for parabolic // the end: good for elliptical orb its, bad for parabolic
// and hyperbolic orbits // and hyperbolic orbits
static Vec3f orbitColor; static Vec3f orbitColor;
static void setOrbitColor(const Vec3f& oc) {orbitColor = oc;} static void setOrbitColor(const Vec3f& oc) {orbitColor = oc;}
skipping to change at line 254 skipping to change at line 260
QString texMapName; // Texture file path QString texMapName; // Texture file path
int flagLighting; // Set whether light computation ha s to be proceed int flagLighting; // Set whether light computation ha s to be proceed
RotationElements re; // Rotation param RotationElements re; // Rotation param
double radius; // Planet radius in AU double radius; // Planet radius in AU
double oneMinusOblateness; // (polar radius)/(equatorial radiu s) double oneMinusOblateness; // (polar radius)/(equatorial radiu s)
Vec3d eclipticPos; // Position in AU in the rectangula r ecliptic coordinate system Vec3d eclipticPos; // Position in AU in the rectangula r ecliptic coordinate system
// centered on the parent Planet // centered on the parent Planet
Vec3d screenPos; // Used to store temporarily the 2D position on screen Vec3d screenPos; // Used to store temporarily the 2D position on screen
Vec3d previousScreenPos; // The position of this planet in t he previous frame. Vec3d previousScreenPos; // The position of this planet in t he previous frame.
Vec3f color; Vec3f color;
float albedo; // Planet albedo float albedo; // Planet albedo
Mat4d rotLocalToParent; Mat4d rotLocalToParent;
float axisRotation; // Rotation angle of the Planet on it's axis float axisRotation; // Rotation angle of the Planet on it's axis
StelTextureSP texMap; // Planet map texture StelTextureSP texMap; // Planet map texture
Ring* rings; // Planet rings Ring* rings; // Planet rings
double distance; // Temporary variable used to store the distance to a given point double distance; // Temporary variable used to store the distance to a given point
// it is used for sorting while dra wing // it is used for sorting while dra wing
float sphereScale; // Artificial scaling for better vi ewing float sphereScale; // Artificial scaling for better vi ewing
double lastJD; double lastJD;
// The callback for the calculation of the equatorial rect heliocent ric position at time JD. // The callback for the calculation of the equatorial rect heliocent ric position at time JD.
posFuncType coordFunc; posFuncType coordFunc;
void* userDataPtr; void* userDataPtr;
OsculatingFunctType *const osculatingFunc; OsculatingFunctType *const osculatingFunc;
 End of changes. 8 change blocks. 
4 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/