OrbitalElements

OrbitalElements

Static Methods

OrbitalElements Construct(Calendar aEpoch, CentralBody aCentralBody, double aSemiMajorAxis, double aEccentricity, double aMeanAnomaly, double aInclination, double aRAAN, double aArgumentOfPeriapsis)

Constructs an OrbitalElements object given an epoch, central body, and a set of six orbital elements. The six orbital elements are defined as follows:

  • Semi-major axis: the longest semidiameter, or one half of the major axis, extending from the perimeter to the center, through a focus. Expressed in meters.

  • Eccentricity: represents deviation of orbit from circle; 0 signifies a circular orbit, 1 is a parabolic escape orbit, and greater than 1 is a hyperbola.

  • Mean Anomaly: the fraction of an orbit’s period elapsed since the body passed periapsis, expressed in degrees.

  • Inclination: the tilt of an orbit around a celestial body, expressed as the angle in degrees between the orbital plane and a reference plane.

  • RAAN: the angle in degrees from the reference direction, to the direction of the ascending node (the point where the orbit passed through reference plane).

  • Argument of Periapsis: the angle in degrees from the body’s ascending node to its periapsis, in the direction of motion.

Utility Methods

void SetSunSynchronous(Calendar aEpoch, double aSolarHour, double aCircularAltitude, double aJ2)

Sets the orbital elements such that the resulting orbit is a sun-synchronous orbit at the given altitude and apparent solar hour at the descending node. aJ2 is a unitless constant representing the oblateness of the central body, aCircularAltitude is represented in meters, and aSolarHour is the apparant solar time expressed from 0 to 24.

OrbitalElements FastForward(double aTime)

Returns a new set of orbital elements equivalent to what the calling object’s orbital elements would be if it was aTime seconds in the future. This function increments the mean anomaly by the time the user wishes to elapse multipled by the mean motion.

Orbital Element Methods

void SetSemiMajorAxis(double aSemiMajorAxis)

Sets the semi-major axis to aSemiMajorAxis, expressed in meters.

void SetMeanMotion(double aMeanMotion)

Sets the mean motion to aMeanMotion, expressed in degrees per second.

void SetEccentricity(double aEccentricity)

Sets the eccentricity to aEccentricity, expressed as a unitless ratio.

void SetMeanAnomaly(double aMeanAnomaly)

Sets the mean anomaly to aMeanAnomaly, expressed in degrees.

void SetTrueAnomaly(double aTrueAnomaly)

Sets the true anomaly to aTrueAnomaly, expressed in degrees.

void SetInclination(double aInclination)

Sets the inclination to aInclination, expressed in degrees.

void SetRAAN(double aRAAN)

Sets the right ascension of the ascending node (RAAN) to aRAAN, expressed in degrees.

void SetArgumentOfPeriapsis(double aArgumentOfPeriapsis)

Sets the argument of periapsis to aArgumentOfPeriapsis, expressed in degrees.

void SetPeriapsisRadius(double aPeriapsisRadius)

Sets the periapsis radius to aPeriapsisRadius, expressed in meters.

void SetApoapsisRadius(double aApoapsisRadius)

Sets the apoapsis radius to aApoapsisRadius, expressed in meters.

void SetPeriapsisAltitude(double aPeriapsisAltitude)

Sets the periapsis altitude to aPeriapsisAltitude, expressed in meters.

void SetApoapsisAltitude(double aApoapsisAltitude)

Sets the apoapsis altitude to aApoapsisAltitude, expressed in meters.

double GetSemiMajorAxis()

Returns the semi-major axis in meters.

double GetMeanMotion()

Returns the mean motion of the orbiting body in degrees per second.

double GetEccentricity()

Returns the eccentricity as a unitless ratio.

double GetMeanAnomaly()

Returns the mean anomaly in degrees.

double GetTrueAnomaly()

Returns the true anomaly in degrees.

double GetInclination()

Returns the inclination in degrees.

double GetRAAN()

Returns the right ascension of the ascending node (RAAN) in degrees.

double GetArgumentOfPeriapsis()

Returns the argument of periapsis in degrees.

double GetPeriapsisRadius()

Returns the periapsis radius in meters.

double GetApoapsisRadius()

Returns the apoapsis radius in meters.

double GetPeriapsisAltitude()

Returns the periapsis altitude in meters.

double GetApoapsisAltitude()

Returns the apoapsis altitude in meters.