/* * kepler.h -- Two-body Keplerian position from classical elements * * Exposes kepler_position() for use by orbital_elements_type.c * and any future code that needs raw Keplerian propagation. */ #ifndef PG_ORRERY_KEPLER_H #define PG_ORRERY_KEPLER_H /* * Two-body Keplerian position from classical orbital elements. * * q (AU), e, inc/omega/Omega (radians), T_peri (JD), jd (JD). * Output: pos[3] in AU, ecliptic J2000 frame. * * Handles elliptic (e<0.99), near-parabolic (0.99<=e<=1.01), * and hyperbolic (e>1.01) orbits. */ extern void kepler_position(double q, double e, double inc, double omega, double Omega, double T_peri, double jd, double pos[3]); #endif /* PG_ORRERY_KEPLER_H */