public struct OrbitalElements { private Ellipse _ellipse; /// /// Semi-major axis in AU /// public double a => _ellipse.a; /// /// Eccentricity /// public double e => _ellipse.e; /// /// Inclination in degrees /// public double i { get; private set; } /// /// Argument of ascending node in degrees /// public double W { get; private set; } /// /// Argument of periapsis in degrees /// public double p { get; private set; } /// /// Mean anomaly at epoch /// public double M0 { get; private set; } /// /// /// /// Semi-major axis in AU /// eccentricity /// Inclination in degrees /// Argument of ascending node in degrees /// Argument of periapsis in degrees /// Mean anomaly at epoch public OrbitalElements(double a, double e, double i, double W, double p, double M0) { _ellipse = new Ellipse(a, e); this.i = i; this.W = W; this.p = p; this.M0 = M0; } }