elliptic_motion.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _LN_ELLIPTIC_MOTION_H
00020 #define _LN_ELLIPTIC_MOTION_H
00021
00022 #include <libnova/ln_types.h>
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00039 double LIBNOVA_EXPORT ln_solve_kepler (double e, double M);
00040
00045 double LIBNOVA_EXPORT ln_get_ell_mean_anomaly (double n, double delta_JD);
00046
00051 double LIBNOVA_EXPORT ln_get_ell_true_anomaly (double e, double E);
00052
00057 double LIBNOVA_EXPORT ln_get_ell_radius_vector (double a, double e, double E);
00058
00063 double LIBNOVA_EXPORT ln_get_ell_smajor_diam (double e, double q);
00064
00069 double LIBNOVA_EXPORT ln_get_ell_sminor_diam (double e, double a);
00070
00075 double LIBNOVA_EXPORT ln_get_ell_mean_motion (double a);
00076
00081 void LIBNOVA_EXPORT ln_get_ell_geo_rect_posn (struct ln_ell_orbit* orbit, double JD, struct ln_rect_posn* posn);
00082
00087 void LIBNOVA_EXPORT ln_get_ell_helio_rect_posn (struct ln_ell_orbit* orbit, double JD, struct ln_rect_posn* posn);
00088
00093 double LIBNOVA_EXPORT ln_get_ell_orbit_len (struct ln_ell_orbit * orbit);
00094
00099 double LIBNOVA_EXPORT ln_get_ell_orbit_vel (double JD, struct ln_ell_orbit * orbit);
00100
00105 double LIBNOVA_EXPORT ln_get_ell_orbit_pvel (struct ln_ell_orbit * orbit);
00106
00111 double LIBNOVA_EXPORT ln_get_ell_orbit_avel (struct ln_ell_orbit * orbit);
00112
00117 double LIBNOVA_EXPORT ln_get_ell_body_phase_angle (double JD, struct ln_ell_orbit * orbit);
00118
00123 double LIBNOVA_EXPORT ln_get_ell_body_elong (double JD, struct ln_ell_orbit * orbit);
00124
00130 double LIBNOVA_EXPORT ln_get_ell_body_solar_dist (double JD, struct ln_ell_orbit * orbit);
00131
00137 double LIBNOVA_EXPORT ln_get_ell_body_earth_dist (double JD, struct ln_ell_orbit * orbit);
00138
00144 void LIBNOVA_EXPORT ln_get_ell_body_equ_coords (double JD, struct ln_ell_orbit * orbit, struct ln_equ_posn * posn);
00145
00150 int LIBNOVA_EXPORT ln_get_ell_body_rst (double JD, struct ln_lnlat_posn * observer, struct ln_ell_orbit * orbit, struct ln_rst_time * rst);
00151
00156 int LIBNOVA_EXPORT ln_get_ell_body_rst_horizon (double JD, struct ln_lnlat_posn * observer, struct ln_ell_orbit * orbit, double horizon, struct ln_rst_time * rst);
00157
00162 int LIBNOVA_EXPORT ln_get_ell_body_next_rst (double JD, struct ln_lnlat_posn * observer, struct ln_ell_orbit * orbit, struct ln_rst_time * rst);
00163
00168 int LIBNOVA_EXPORT ln_get_ell_body_next_rst_horizon (double JD, struct ln_lnlat_posn * observer, struct ln_ell_orbit * orbit, double horizon, struct ln_rst_time * rst);
00169
00174 int LIBNOVA_EXPORT ln_get_ell_body_next_rst_horizon_future (double JD, struct ln_lnlat_posn * observer, struct ln_ell_orbit * orbit, double horizon, int day_limit, struct ln_rst_time * rst);
00175
00180 double LIBNOVA_EXPORT ln_get_ell_last_perihelion (double epoch_JD, double M, double n);
00181
00182 #ifdef __cplusplus
00183 };
00184 #endif
00185
00186 #endif