1 /* 2 * This library is free software; you can redistribute it and/or 3 * modify it under the terms of the GNU Lesser General Public 4 * License as published by the Free Software Foundation; either 5 * version 2 of the License, or (at your option) any later version. 6 * 7 * This library is distributed in the hope that it will be useful, 8 * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 10 * Lesser General Public License for more details. 11 * 12 * You should have received a copy of the GNU General Public License 13 * along with this program; if not, write to the Free Software 14 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 15 * 16 * Copyright (C) 2000 - 2005 Liam Girdwood 17 */ 18 19 #ifndef _LN_EARTH_H 20 #define _LN_EARTH_H 21 22 #include <libnova/ln_types.h> 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 29 /*! \defgroup earth Earth 30 * 31 * Functions relating to the planet Earth. 32 * 33 * All angles are expressed in degrees. 34 */ 35 36 /* 37 ** Earth 38 */ 39 40 /*! \fn void ln_get_earth_helio_coords (double JD, struct ln_helio_posn * position); 41 * \brief Calculate Earth's heliocentric coordinates 42 * \ingroup earth 43 */ 44 /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ 45 void LIBNOVA_EXPORT ln_get_earth_helio_coords (double JD, struct ln_helio_posn * position); 46 47 /*! \fn void ln_get_earth_solar_dist (double JD); 48 * \brief Calculate the distance between Earth and the Sun. 49 * \ingroup earth 50 * \return Distance in AU 51 */ 52 /* Chapter ?? */ 53 double LIBNOVA_EXPORT ln_get_earth_solar_dist (double JD); 54 55 /*! \fn void ln_get_earth_rect_helio (double JD, struct ln_rect_posn * position) 56 * \ingroup earth 57 * \brief Calculate the Earths rectangular heliocentric coordinates. 58 */ 59 void LIBNOVA_EXPORT ln_get_earth_rect_helio (double JD, struct ln_rect_posn * position); 60 61 /*! \fn void ln_get_earth_centre_dist (float height, double latitude, double * p_sin_o, double * p_cos_o); 62 * \ingroup earth 63 * \brief Calculate Earth globe centre distance. 64 */ 65 void LIBNOVA_EXPORT ln_get_earth_centre_dist (float height, double latitude, double * p_sin_o, double * p_cos_o); 66 67 #ifdef __cplusplus 68 }; 69 #endif 70 71 #endif 72