libnova.h   libnova.h 
skipping to change at line 42 skipping to change at line 42
* - Dynamical Time * - Dynamical Time
* - Julian Day * - Julian Day
* - Precession * - Precession
* - Proper Motion * - Proper Motion
* - Sidereal Time * - Sidereal Time
* - Solar Coordinates (using VSOP87) * - Solar Coordinates (using VSOP87)
* - Coordinate Transformations * - Coordinate Transformations
* - Planetary Positions (Mercury - Neptune using VSOP87) * - Planetary Positions (Mercury - Neptune using VSOP87)
* - Planetary Magnitude, illuminated disk and phase angle. * - Planetary Magnitude, illuminated disk and phase angle.
* - Lunar Position (using ELP82), phase angle. * - Lunar Position (using ELP82), phase angle.
* - Elliptic Motion of bodies (Asteroid + Comet positional and orbit data)
* - Asteroid + Comet magnitudes
* - Parabolic Motion of bodies
* - Orbit velocities and lengths
* - Atmospheric refraction
* - Rise, Set and Transit times.
* - Semidiameters of the Sun, Moon, Planets and asteroids.
* *
* \section docs Documentation * \section docs Documentation
* API documentation for libnova is included in the source. It can also be f ound in this website and an offline tarball is available <A href="http://li bnova.sf.net/libnovadocs.tar.gz">here</A>. * API documentation for libnova is included in the source. It can also be f ound in this website and an offline tarball is available <A href="http://li bnova.sf.net/libnovadocs.tar.gz">here</A>.
* *
* \section download Download * \section download Download
* The latest released version of libnova is 0.4.0 and was released on the 2 nd Sept 2002. * The latest released version of libnova is 0.5.0 and was released on the 1 3th Oct 2002.
* It is available for download <A href="http://sf.net/project/showfiles.php ?group_id=57697">here.</A> * It is available for download <A href="http://sf.net/project/showfiles.php ?group_id=57697">here.</A>
* *
* \section cvs CVS * \section cvs CVS
* The latest CVS version of libnova is available via CVS <A href="http://sf .net/cvs/?group_id=57697">here.</A> * The latest CVS version of libnova is available via CVS <A href="http://sf .net/cvs/?group_id=57697">here.</A>
* *
* \section licence Licence * \section licence Licence
* libnova is released under the <A href="http://www.gnu.org">GNU</A> LGPL. * libnova is released under the <A href="http://www.gnu.org">GNU</A> LGPL.
* *
* \section help Help * \section help Help
* If you are interested in helping in the future development of libnova, th en please get in touch. * If you are interested in helping in the future development of libnova, th en please get in touch.
skipping to change at line 161 skipping to change at line 168
* Human readable Horizontal Coordinates. * Human readable Horizontal Coordinates.
*/ */
struct lnh_hrz_posn struct lnh_hrz_posn
{ {
struct ln_dms az; /*!< AZ. Object azimuth. */ struct ln_dms az; /*!< AZ. Object azimuth. */
struct ln_dms alt; /*!< ALT. Object altitude. */ struct ln_dms alt; /*!< ALT. Object altitude. */
}; };
/*! \struct lnh_lnlat_posn /*! \struct lnh_lnlat_posn
** \brief Latitude and Longitude. ** \brief Ecliptical (or celestial) Latitude and Longitude.
* *
* Human readable Longitude and Latitude. * Human readable Ecliptical (or celestial) Longitude and Latitude.
*/ */
struct lnh_lnlat_posn struct lnh_lnlat_posn
{ {
struct ln_dms lng; /*!< longitude. Object longitude */ struct ln_dms lng; /*!< longitude. Object longitude */
struct ln_dms lat; /*!< latitude. Object latitude */ struct ln_dms lat; /*!< latitude. Object latitude */
}; };
/*! \struct ln_equ_posn /*! \struct ln_equ_posn
** \brief Equatorial Coordinates. ** \brief Equatorial Coordinates.
skipping to change at line 201 skipping to change at line 208
* Angles are expressed in degrees. * Angles are expressed in degrees.
*/ */
struct ln_hrz_posn struct ln_hrz_posn
{ {
double az; /*!< AZ. Object azimuth. */ double az; /*!< AZ. Object azimuth. */
double alt; /*!< ALT. Object altitude. */ double alt; /*!< ALT. Object altitude. */
}; };
/*! \struct ln_lnlat_posn /*! \struct ln_lnlat_posn
** \brief Longitude and Latitude. ** \brief Ecliptical (or celestial) Longitude and Latitude.
* *
* The Latitude and Longitude of and object. * The Ecliptical (or celestial) Latitude and Longitude of and object.
* *
* Angles are expressed in degrees. * Angles are expressed in degrees.
*/ */
struct ln_lnlat_posn struct ln_lnlat_posn
{ {
double lng; /*!< longitude. Object longitude */ double lng; /*!< longitude. Object longitude */
double lat; /*!< latitude. Object latitude */ double lat; /*!< latitude. Object latitude */
}; };
skipping to change at line 230 skipping to change at line 237
* Angles are expressed in degrees. * Angles are expressed in degrees.
* Radius vector is in AU. * Radius vector is in AU.
*/ */
struct ln_helio_posn struct ln_helio_posn
{ {
double L; /*!< Heliocentric longitude */ double L; /*!< Heliocentric longitude */
double B; /*!< Heliocentric latitude */ double B; /*!< Heliocentric latitude */
double R; /*!< Heliocentric radius vector */ double R; /*!< Heliocentric radius vector */
}; };
/*! \struct ln_geo_posn /*! \struct ln_rect_posn
* \brief Geocentric position * \brief Rectangular coordinates
* *
* Rectangular Coordinates of a body. These coordinates can be either
* geocentric or heliocentric.
*
* A heliocentric position is an objects position relative to the
* centre of the Sun.
* A geocentric position is an objects position relative to the centre * A geocentric position is an objects position relative to the centre
* of the Earth. * of the Earth.
* *
* Position is in units of AU for planets and in units of km * Position is in units of AU for planets and in units of km
* for the Moon. * for the Moon.
*/ */
struct ln_geo_posn struct ln_rect_posn
{ {
double X; /*!< Geocentric X coordinate */ double X; /*!< Rectangular X coordinate */
double Y; /*!< Geocentric Y coordinate */ double Y; /*!< Rectangular Y coordinate */
double Z; /*!< Geocentric Z coordinate */ double Z; /*!< Rectangular Z coordinate */
}; };
/*! /*!
* \struct ln_orbit * \struct ln_ell_orbit
* \brief Orbital elements * \brief Elliptic Orbital elements
* *
* TODO. * TODO.
* Angles are expressed in degrees. * Angles are expressed in degrees.
*/ */
struct ln_orbit struct ln_ell_orbit
{ {
double a; /*!< Semi major axis, in AU */ double a; /*!< Semi major axis, in AU */
double e; /*!< Eccentricity */ double e; /*!< Eccentricity */
double i; /*!< Inclination */ double i; /*!< Inclination in degrees */
double w; /*!< Argument of perihelion */ double w; /*!< Argument of perihelion in degrees */
double omega; /*!< Longitude of ascending node */ double omega; /*!< Longitude of ascending node in degrees*/
double n; /*!< Mean motion, in degrees/day */ double n; /*!< Mean motion, in degrees/day */
double JD; /*!< Epoch of orbital elements, in julian day */
};
/*!
* \struct ln_par_orbit
* \brief Parabolic Orbital elements
*
* TODO.
* Angles are expressed in degrees.
*/
struct ln_par_orbit
{
double q; /*!< Perihelion distance in AU */
double i; /*!< Inclination in degrees */
double w; /*!< Argument of perihelion in degrees */
double omega; /*!< Longitude of ascending node in degrees*/
double JD; /*!< Time of passage in Perihelion, in julian day */
};
/*!
* \struct ln_rst_time
* \brief Rise, Set and Transit times.
*
* Contains the Rise, Set and transit times for a body.
*
* Angles are expressed in degrees.
*/
struct ln_rst_time
{
double rise; /*!< Rise time in JD */
double set; /*!< Set time in JD */
double transit; /*!< Transit time in JD */
};
/*!
* \struct ln_nutation
* \brief Nutation in longitude, ecliptic and obliquity.
*
* Contains Nutation in longitude, obliquity and ecliptic obliquity.
*
* Angles are expressed in degrees.
*/
struct ln_nutation
{
double longitude; /*!< Nutation in longitude */
double obliquity; /*!< Nutation in obliquity */
double ecliptic; /*!< Obliquity of the ecliptic */
}; };
/*! \defgroup version Libnova library version information /*! \defgroup version Libnova library version information
*/ */
/*! \fn const char * get_ln_version (void) /*! \fn const char * get_ln_version (void)
* \brief Library Version Number * \brief Library Version Number
* \ingroup version * \ingroup version
*/ */
const char * get_ln_version (void); const char * get_ln_version (void);
skipping to change at line 323 skipping to change at line 382
* \ingroup calendar * \ingroup calendar
*/ */
void get_timet_from_julian (double JD, time_t * time); void get_timet_from_julian (double JD, time_t * time);
/*! \defgroup misc Misc Functions /*! \defgroup misc Misc Functions
*/ */
/*! \fn double get_dec_location(char * s) /*! \fn double get_dec_location(char * s)
* \ingroup misc * \ingroup misc
* \brief Obtains Latitude, Longitude, RA or Declination from a string. * \brief Obtains Latitude, Longitude, RA or Declination from a string.
*
* If the last char is N/S doesn't accept more than 90 degrees.
* If it is E/W doesn't accept more than 180 degrees.
* If they are hours don't accept more than 24:00
*
* Any position can be expressed as follows:
* (please use a 8 bits charset if you want
* to view the degrees separator char '0xba')
*
* 42.30.35,53
* 90
* 42
* 42
* 42
* - 42.30.35.53
* 42:30:35.53 S
* + 42.30.35.53
* +42
* 23h36'45,0
*
*
* 42:30:35.53 S = -42
* + 42 30.35.53 S the same previous position, the plus (+) sign is
* considered like an error, the last 'S' has precedence over the sign
*
* 90
*
*/ */
double get_dec_location(char *s); double get_dec_location(char *s);
/*! \fn char * get_humanr_location(double location) /*! \fn char * get_humanr_location(double location)
* \ingroup misc * \ingroup misc
* \brief obtains a human readable location in the form: dd * \brief Obtains a human readable location in the form: dd
*/ */
char *get_humanr_location(double location); char *get_humanr_location(double location);
/*! /*!
* \defgroup dynamical Dynamical Time * \defgroup dynamical Dynamical Time
* *
* TODO * TODO
*/ */
skipping to change at line 396 skipping to change at line 428
*/ */
double get_mean_sidereal_time (double JD); double get_mean_sidereal_time (double JD);
/*! \fn get_apparent_sidereal_time (double JD) /*! \fn get_apparent_sidereal_time (double JD)
* \brief Calculate apparent sidereal time from date. * \brief Calculate apparent sidereal time from date.
* \ingroup sidereal * \ingroup sidereal
*/ */
double get_apparent_sidereal_time (double JD); double get_apparent_sidereal_time (double JD);
/*! \defgroup misc Misc. Functions
*
* Misc functions.
*/
/*
* \fn double get_rect_distance (struct ln_rect_posn * a, struct ln_rect_pos
n * b)
* \ingroup misc
*/
double get_rect_distance (struct ln_rect_posn * a, struct ln_rect_posn * b)
;
/*! \defgroup conversion General Conversion Functions /*! \defgroup conversion General Conversion Functions
* *
* Conversion from one libnova type to another. * Conversion from one libnova type to another.
*/ */
/*! \fn double rad_to_deg (double radians) /*! \fn double rad_to_deg (double radians)
* \brief radians to degrees * \brief radians to degrees
* \ingroup conversion * \ingroup conversion
*/ */
double rad_to_deg (double radians); inline double rad_to_deg (double radians);
/*! \fn double deg_to_rad (double radians) /*! \fn double deg_to_rad (double radians)
* \brief degrees to radians * \brief degrees to radians
* \ingroup conversion * \ingroup conversion
*/ */
double deg_to_rad (double degrees); inline double deg_to_rad (double degrees);
/*! \fn double hms_to_deg (struct ln_hms * hms) /*! \fn double hms_to_deg (struct ln_hms * hms)
* \brief hours to degrees * \brief hours to degrees
* \ingroup conversion * \ingroup conversion
*/ */
double hms_to_deg (struct ln_hms * hms); double hms_to_deg (struct ln_hms * hms);
/*! \fn void deg_to_hms (double degrees, struct ln_hms * hms) /*! \fn void deg_to_hms (double degrees, struct ln_hms * hms)
* \brief degrees to hours * \brief degrees to hours
* \ingroup conversion * \ingroup conversion
skipping to change at line 522 skipping to change at line 565
*/ */
double range_degrees (double angle); double range_degrees (double angle);
/*! \fn void range_radians (double angle) /*! \fn void range_radians (double angle)
* \brief puts a large angle in the correct range 0 - 2PI radians * \brief puts a large angle in the correct range 0 - 2PI radians
* \ingroup conversion * \ingroup conversion
*/ */
double range_radians (double angle); double range_radians (double angle);
double range_radians2 (double angle); double range_radians2 (double angle);
/*
* \fn double get_light_time (double dist)
* \brief Convert units of AU into light days.
* \ingroup conversion
*/
double get_light_time (double dist);
/*! \defgroup transform Transformation of Coordinates /*! \defgroup transform Transformation of Coordinates
* *
* Transformations from one coordinate system to another. * Transformations from one coordinate system to another.
*/ */
/*! \fn void get_hrz_from_equ (struct ln_equ_posn * object, struct ln_lnlat _posn * observer, double JD, struct ln_hrz_posn *position); /*! \fn void get_hrz_from_equ (struct ln_equ_posn * object, struct ln_lnlat _posn * observer, double JD, struct ln_hrz_posn *position);
* \brief Calculate horizontal coordinates from equatorial coordinates * \brief Calculate horizontal coordinates from equatorial coordinates
* \ingroup transform * \ingroup transform
*/ */
/* Equ 12.5,12.6 pg 88 */ /* Equ 12.5,12.6 pg 88 */
skipping to change at line 568 skipping to change at line 618
* \brief Calculate equatorial coordinates from horizontal coordinates * \brief Calculate equatorial coordinates from horizontal coordinates
* \ingroup transform * \ingroup transform
*/ */
/* Pg 89 */ /* Pg 89 */
void get_equ_from_hrz void get_equ_from_hrz
(struct ln_hrz_posn *object, (struct ln_hrz_posn *object,
struct ln_lnlat_posn * observer, struct ln_lnlat_posn * observer,
double JD, double JD,
struct ln_equ_posn * position); struct ln_equ_posn * position);
/*! \fn void get_geo_from_helio (struct ln_helio_posn *object, double JD, s truct ln_geo_posn * position); /*! \fn void get_rect_from_helio (struct ln_helio_posn *object, double JD, struct ln_geo_posn * position);
* \brief Calculate geocentric coordinates from heliocentric coordinates * \brief Calculate geocentric coordinates from heliocentric coordinates
* \ingroup transform * \ingroup transform
*/ */
/* Pg ?? */ /* Pg ?? */
void get_geo_from_helio void get_rect_from_helio
(struct ln_helio_posn *object, (struct ln_helio_posn *object,
double JD, double JD,
struct ln_geo_posn * position); struct ln_rect_posn * position);
/*! \fn void get_ecl_from_rect (struct ln_rect_posn * rect, struct ln_lnlat
_posn * posn)
* \ingroup transform
* Transform an objects rectangular coordinates into ecliptical coordinates.
*/
/* Equ 33.2
*/
void get_ecl_from_rect (struct ln_rect_posn * rect, struct ln_lnlat_posn *
posn);
/*! \defgroup VSOP87 VSOP87 Theory /*! \defgroup VSOP87 VSOP87 Theory
* *
* Thanks to Messrs. Bretagnon and Francou for publishing planetary * Thanks to Messrs. Bretagnon and Francou for publishing planetary
* solution VSOP87. * solution VSOP87.
*/ */
/*! \fn void vsop87_to_fk5 (struct ln_helio_posn * position, double JD); /*! \fn void vsop87_to_fk5 (struct ln_helio_posn * position, double JD);
* \ingroup VSOP87 * \ingroup VSOP87
* \brief Transform from VSOP87 to FK5 reference system. * \brief Transform from VSOP87 to FK5 reference system.
skipping to change at line 613 skipping to change at line 671
void get_earth_centre_dist (float height, double latitude, double * p_sin_o , double * p_cos_o); void get_earth_centre_dist (float height, double latitude, double * p_sin_o , double * p_cos_o);
/*! \defgroup nutation Nutation /*! \defgroup nutation Nutation
* *
* Nutation is a period oscillation of the Earths rotational axis around it' s * Nutation is a period oscillation of the Earths rotational axis around it' s
* mean position. * mean position.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn void get_nutation (double JD, double * longitude, double * obliquit y, double * ecliptic); /*! \fn void get_nutation (double JD, struct ln_nutation * nutation);
* \ingroup nutation * \ingroup nutation
* \brief Calculate nutation. * \brief Calculate nutation.
*/ */
void get_nutation (double JD, double * longitude, double * obliquity, doubl e * ecliptic); void get_nutation (double JD, struct ln_nutation * nutation);
/*! \defgroup apparent Apparent position of a Star /*! \defgroup apparent Apparent position of a Star
* *
* The apparent position of a star is it's position as seen from * The apparent position of a star is it's position as seen from
* the centre of the Earth. * the centre of the Earth.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn void get_apparent_posn (struct ln_equ_posn * mean_position, struct ln_equ_posn * proper_motion, double JD, struct ln_equ_posn * position); /*! \fn void get_apparent_posn (struct ln_equ_posn * mean_position, struct ln_equ_posn * proper_motion, double JD, struct ln_equ_posn * position);
skipping to change at line 719 skipping to change at line 777
struct ln_lnlat_posn * position); struct ln_lnlat_posn * position);
/*! \defgroup solar Solar. /*! \defgroup solar Solar.
* *
* Calculate solar ecliptical/equatorial coordinates for a given julian date . * Calculate solar ecliptical/equatorial coordinates for a given julian date .
* Accuracy 0.01 arc second error - uses VSOP87 solution. * Accuracy 0.01 arc second error - uses VSOP87 solution.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_solar_rst (double JD, struct ln_lnlat_posn * observer, s
truct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for the Sun.
* \ingroup solar
*/
int get_solar_rst (double JD, struct ln_lnlat_posn * observer, struct ln_rs
t_time * rst);
/*! \fn void get_geom_solar_coords (double JD, struct ln_helio_posn * posit ion); /*! \fn void get_geom_solar_coords (double JD, struct ln_helio_posn * posit ion);
* \brief Calculate solar geometric coordinates. * \brief Calculate solar geometric coordinates.
* \ingroup solar * \ingroup solar
*/ */
void get_geom_solar_coords void get_geom_solar_coords
(double JD, (double JD,
struct ln_helio_posn * position); struct ln_helio_posn * position);
/*! \fn void get_equ_solar_coords (double JD, struct ln_equ_posn * position ); /*! \fn void get_equ_solar_coords (double JD, struct ln_equ_posn * position );
* \brief Calculate apparent equatorial coordinates. * \brief Calculate apparent equatorial coordinates.
skipping to change at line 747 skipping to change at line 811
* \ingroup solar * \ingroup solar
*/ */
void get_ecl_solar_coords void get_ecl_solar_coords
(double JD, (double JD,
struct ln_lnlat_posn * position); struct ln_lnlat_posn * position);
/*! \fn void get_geo_solar_coords (double JD, struct ln_geo_posn * position ) /*! \fn void get_geo_solar_coords (double JD, struct ln_geo_posn * position )
* \brief Calculate geocentric coordinates (rectangular) * \brief Calculate geocentric coordinates (rectangular)
* \ingroup solar * \ingroup solar
*/ */
void get_geo_solar_coords (double JD, struct ln_geo_posn * position); void get_geo_solar_coords (double JD, struct ln_rect_posn * position);
/*! \fn double get_solar_sdiam (double JD)
* \brief Calcaluate the semidiameter of the Sun in arc seconds.
* \ingroup solar
*/
double get_solar_sdiam (double JD);
/*! \defgroup mercury Mercury /*! \defgroup mercury Mercury
* *
* Functions relating to the planet Mercury. * Functions relating to the planet Mercury.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_mercury_sdiam (double JD)
* \brief Calcaluate the semidiameter of Mercury in arc seconds.
* \ingroup mercury
*/
double get_mercury_sdiam (double JD);
/*! \fn double get_mercury_rst (double JD, struct ln_lnlat_posn * observer,
struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Mercury.
* \ingroup mercury
*/
int get_mercury_rst (double JD, struct ln_lnlat_posn * observer, struct ln_
rst_time * rst);
/*! \fn void get_mercury_helio_coords (double JD, struct ln_helio_posn * po sition); /*! \fn void get_mercury_helio_coords (double JD, struct ln_helio_posn * po sition);
* \brief Calculate Mercury's heliocentric coordinates * \brief Calculate Mercury's heliocentric coordinates
* \ingroup mercury * \ingroup mercury
*/ */
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */
void get_mercury_helio_coords void get_mercury_helio_coords
(double JD, (double JD,
struct ln_helio_posn * position); struct ln_helio_posn * position);
/*! \fn void get_mercury_equ_coords (double JD, struct ln_equ_posn * positi on); /*! \fn void get_mercury_equ_coords (double JD, struct ln_equ_posn * positi on);
skipping to change at line 821 skipping to change at line 903
/* Chapter 41 */ /* Chapter 41 */
double get_mercury_phase (double JD); double get_mercury_phase (double JD);
/*! \defgroup venus Venus /*! \defgroup venus Venus
* *
* Functions relating to the planet Venus. * Functions relating to the planet Venus.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_venus_sdiam (double JD)
* \brief Calcaluate the semidiameter of Venus in arc seconds.
* \ingroup venus
*/
double get_venus_sdiam (double JD);
/*! \fn double get_venus_rst (double JD, struct ln_lnlat_posn * observer, s
truct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Venus.
* \ingroup venus
*/
int get_venus_rst (double JD, struct ln_lnlat_posn * observer, struct ln_rs
t_time * rst);
/*! \fn void get_venus_helio_coords (double JD, struct ln_helio_posn * posi tion); /*! \fn void get_venus_helio_coords (double JD, struct ln_helio_posn * posi tion);
* \brief Calvulate Venus heliocentric coordinates * \brief Calvulate Venus heliocentric coordinates
* \ingroup venus * \ingroup venus
*/ */
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */
void get_venus_helio_coords void get_venus_helio_coords
(double JD, (double JD,
struct ln_helio_posn * position); struct ln_helio_posn * position);
/*! \fn void get_venus_equ_coords (double JD, struct ln_equ_posn * position ); /*! \fn void get_venus_equ_coords (double JD, struct ln_equ_posn * position );
skipping to change at line 907 skipping to change at line 1001
/* Chapter ?? */ /* Chapter ?? */
double get_earth_sun_dist (double JD); double get_earth_sun_dist (double JD);
/*! \defgroup mars Mars /*! \defgroup mars Mars
* *
* Functions relating to the planet Mars. * Functions relating to the planet Mars.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_mars_sdiam (double JD)
* \brief Calcaluate the semidiameter of Mars in arc seconds.
* \ingroup mars
*/
double get_mars_sdiam (double JD);
/*! \fn double get_mars_rst (double JD, struct ln_lnlat_posn * observer, st
ruct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Mars.
* \ingroup mars
*/
int get_mars_rst (double JD, struct ln_lnlat_posn * observer, struct ln_rst
_time * rst);
/*! \fn void get_mars_helio_coords (double JD, struct ln_helio_posn * posit ion); /*! \fn void get_mars_helio_coords (double JD, struct ln_helio_posn * posit ion);
* \brief Calculate Mars heliocentric coordinates * \brief Calculate Mars heliocentric coordinates
* \ingroup mars * \ingroup mars
*/ */
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */
void get_mars_helio_coords void get_mars_helio_coords
(double JD, (double JD,
struct ln_helio_posn * position); struct ln_helio_posn * position);
/*! \fn void get_mars_equ_coords (double JD, struct ln_equ_posn * position) ; /*! \fn void get_mars_equ_coords (double JD, struct ln_equ_posn * position) ;
skipping to change at line 972 skipping to change at line 1078
/* Chapter 41 */ /* Chapter 41 */
double get_mars_phase (double JD); double get_mars_phase (double JD);
/*! \defgroup jupiter Jupiter /*! \defgroup jupiter Jupiter
* *
* Functions relating to the planet Jupiter. * Functions relating to the planet Jupiter.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_jupiter_equ_sdiam (double JD)
* \brief Calcaluate the eqatorial semidiameter of Jupiter in arc seconds.
* \ingroup jupiter
*/
double get_jupiter_equ_sdiam (double JD);
/*! \fn double get_jupiter_pol_sdiam (double JD)
* \brief Calcaluate the polar semidiameter of Jupiter in arc seconds.
* \ingroup jupiter
*/
double get_jupiter_pol_sdiam (double JD);
/*! \fn double get_jupiter_rst (double JD, struct ln_lnlat_posn * observer,
struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Jupiter.
* \ingroup jupiter
*/
int get_jupter_rst (double JD, struct ln_lnlat_posn * observer, struct ln_r
st_time * rst);
/*! \fn void get_jupiter_helio_coords (double JD, struct ln_helio_posn * po sition); /*! \fn void get_jupiter_helio_coords (double JD, struct ln_helio_posn * po sition);
* \brief Calculate Jupiter's heliocentric coordinates * \brief Calculate Jupiter's heliocentric coordinates
* \ingroup jupiter * \ingroup jupiter
*/ */
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */
void get_jupiter_helio_coords void get_jupiter_helio_coords
(double JD, struct ln_helio_posn * position); (double JD, struct ln_helio_posn * position);
/*! \fn void get_jupiter_equ_coords (double JD, struct ln_equ_posn * positi on); /*! \fn void get_jupiter_equ_coords (double JD, struct ln_equ_posn * positi on);
* \brief Calculate Jupiter's equatorial coordinates. * \brief Calculate Jupiter's equatorial coordinates.
skipping to change at line 1036 skipping to change at line 1160
/* Chapter 41 */ /* Chapter 41 */
double get_jupiter_phase (double JD); double get_jupiter_phase (double JD);
/*! \defgroup saturn Saturn /*! \defgroup saturn Saturn
* *
* Functions relating to the planet Saturn. * Functions relating to the planet Saturn.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_saturn_equ_sdiam (double JD)
* \brief Calcaluate the equatorial semidiameter of Saturn in arc seconds.
* \ingroup saturn
*/
double get_saturn_equ_sdiam (double JD);
/*! \fn double get_saturn_pol_sdiam (double JD)
* \brief Calcaluate the polar semidiameter of Saturn in arc seconds.
* \ingroup saturn
*/
double get_saturn_pol_sdiam (double JD);
/*! \fn double get_saturn_rst (double JD, struct ln_lnlat_posn * observer,
struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Saturn.
* \ingroup saturn
*/
int get_saturn_rst (double JD, struct ln_lnlat_posn * observer, struct ln_r
st_time * rst);
/*! \fn void get_saturn_helio_coords (double JD, struct ln_helio_posn * pos ition); /*! \fn void get_saturn_helio_coords (double JD, struct ln_helio_posn * pos ition);
* \brief Calculate Saturn's heliocentric coordinates. * \brief Calculate Saturn's heliocentric coordinates.
* \ingroup saturn * \ingroup saturn
*/ */
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */
void get_saturn_helio_coords void get_saturn_helio_coords
(double JD, struct ln_helio_posn * position); (double JD, struct ln_helio_posn * position);
/*! \fn void get_saturn_equ_coords (double JD, struct ln_equ_posn * positio n); /*! \fn void get_saturn_equ_coords (double JD, struct ln_equ_posn * positio n);
* \brief Calculate Saturn's equatorial coordinates. * \brief Calculate Saturn's equatorial coordinates.
skipping to change at line 1100 skipping to change at line 1242
/* Chapter 41 */ /* Chapter 41 */
double get_saturn_phase (double JD); double get_saturn_phase (double JD);
/*! \defgroup uranus Uranus /*! \defgroup uranus Uranus
* *
* Functions relating to the planet Uranus. * Functions relating to the planet Uranus.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_uranus_sdiam (double JD)
* \brief Calcaluate the semidiameter of Uranus in arc seconds.
* \ingroup uranus
*/
double get_uranus_sdiam (double JD);
/*! \fn double get_uranus_rst (double JD, struct ln_lnlat_posn * observer,
struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Uranus.
* \ingroup uranus
*/
int get_uranus_rst (double JD, struct ln_lnlat_posn * observer, struct ln_r
st_time * rst);
/*! \fn void get_uranus_helio_coords (double JD, struct ln_helio_posn * pos ition); /*! \fn void get_uranus_helio_coords (double JD, struct ln_helio_posn * pos ition);
* \brief Calculate Uranus heliocentric coordinates * \brief Calculate Uranus heliocentric coordinates
* \ingroup uranus * \ingroup uranus
*/ */
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */
void get_uranus_helio_coords void get_uranus_helio_coords
(double JD, struct ln_helio_posn * position); (double JD, struct ln_helio_posn * position);
/*! \fn void get_uranus_equ_coords (double JD, struct ln_equ_posn * positio n); /*! \fn void get_uranus_equ_coords (double JD, struct ln_equ_posn * positio n);
* \brief Calculate Uranus equatorial coordinates. * \brief Calculate Uranus equatorial coordinates.
skipping to change at line 1164 skipping to change at line 1318
/* Chapter 41 */ /* Chapter 41 */
double get_uranus_phase (double JD); double get_uranus_phase (double JD);
/*! \defgroup neptune Neptune /*! \defgroup neptune Neptune
* *
* Functions relating to the planet Neptune. * Functions relating to the planet Neptune.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_neptune_sdiam (double JD)
* \brief Calcaluate the semidiameter of Neptune in arc seconds.
* \ingroup neptune
*/
double get_neptune_sdiam (double JD);
/*! \fn double get_neptune_rst (double JD, struct ln_lnlat_posn * observer,
struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Neptune.
* \ingroup neptune
*/
int get_neptune_rst (double JD, struct ln_lnlat_posn * observer, struct ln_
rst_time * rst);
/*! \fn void get_neptune_helio_coords (double JD, struct ln_helio_posn * po sition); /*! \fn void get_neptune_helio_coords (double JD, struct ln_helio_posn * po sition);
* \brief Calculate Neptune's heliocentric coordinates. * \brief Calculate Neptune's heliocentric coordinates.
* \ingroup neptune * \ingroup neptune
*/ */
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */ /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 */
void get_neptune_helio_coords void get_neptune_helio_coords
(double JD, struct ln_helio_posn * position); (double JD, struct ln_helio_posn * position);
/*! \fn void get_neptune_equ_coords (double JD, struct ln_equ_posn * positi on); /*! \fn void get_neptune_equ_coords (double JD, struct ln_equ_posn * positi on);
* \brief Calculate Neptune's equatorial coordinates. * \brief Calculate Neptune's equatorial coordinates.
skipping to change at line 1228 skipping to change at line 1394
/* Chapter 41 */ /* Chapter 41 */
double get_neptune_phase (double JD); double get_neptune_phase (double JD);
/*! \defgroup pluto Pluto /*! \defgroup pluto Pluto
* *
* Functions relating to the planet Pluto. * Functions relating to the planet Pluto.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_pluto_sdiam (double JD)
* \brief Calcaluate the semidiameter of Pluto in arc seconds.
* \ingroup pluto
*/
double get_pluto_sdiam (double JD);
/*! \fn double get_pluto_rst (double JD, struct ln_lnlat_posn * observer, s
truct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for Pluto.
* \ingroup pluto
*/
int get_pluto_rst (double JD, struct ln_lnlat_posn * observer, struct ln_rs
t_time * rst);
/*! \fn void get_pluto_helio_coords (double JD, struct ln_helio_posn * posi tion); /*! \fn void get_pluto_helio_coords (double JD, struct ln_helio_posn * posi tion);
* \brief Calculate Pluto's heliocentric coordinates. * \brief Calculate Pluto's heliocentric coordinates.
* \ingroup pluto * \ingroup pluto
*/ */
/* Chapter 37 Pg 263 */ /* Chapter 37 Pg 263 */
void get_pluto_helio_coords void get_pluto_helio_coords
(double JD, struct ln_helio_posn * position); (double JD, struct ln_helio_posn * position);
/*! \fn void get_pluto_equ_coords (double JD, struct ln_equ_posn * position ); /*! \fn void get_pluto_equ_coords (double JD, struct ln_equ_posn * position );
* \brief Calculate Pluto's equatorial coordinates. * \brief Calculate Pluto's equatorial coordinates.
skipping to change at line 1292 skipping to change at line 1470
/* Chapter 41 */ /* Chapter 41 */
double get_pluto_phase (double JD); double get_pluto_phase (double JD);
/*! \defgroup lunar Lunar /*! \defgroup lunar Lunar
* *
* Functions relating to the Moon. * Functions relating to the Moon.
* *
* All angles are expressed in degrees. * All angles are expressed in degrees.
*/ */
/*! \fn double get_lunar_sdiam (double JD)
* \brief Calcaluate the semidiameter of the Moon in arc seconds.
* \ingroup lunar
*/
double get_lunar_sdiam (double JD);
/*! \fn double get_lunar_rst (double JD, struct ln_lnlat_posn * observer, s
truct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for the Moon.
* \ingroup lunar
*/
int get_lunar_rst (double JD, struct ln_lnlat_posn * observer, struct ln_rs
t_time * rst);
/*! \fn void get_lunar_geo_posn (double JD, struct ln_geo_posn * moon, doub le precision); /*! \fn void get_lunar_geo_posn (double JD, struct ln_geo_posn * moon, doub le precision);
* \brief Calculate the rectangular geocentric lunar cordinates. * \brief Calculate the rectangular geocentric lunar cordinates.
* \ingroup lunar * \ingroup lunar
*/ */
/* ELP 2000-82B theory */ /* ELP 2000-82B theory */
void get_lunar_geo_posn (double JD, struct ln_geo_posn * moon, double preci sion); void get_lunar_geo_posn (double JD, struct ln_rect_posn * moon, double prec ision);
/*! \fn void get_lunar_equ_coords (double JD, struct ln_equ_posn * position , double precision); /*! \fn void get_lunar_equ_coords (double JD, struct ln_equ_posn * position , double precision);
* \brief Calculate lunar equatorial coordinates. * \brief Calculate lunar equatorial coordinates.
* \ingroup lunar * \ingroup lunar
*/ */
void get_lunar_equ_coords void get_lunar_equ_coords
(double JD, (double JD,
struct ln_equ_posn * position, double precision); struct ln_equ_posn * position, double precision);
/*! \fn void get_lunar_ecl_coords (double JD, struct ln_lnlat_posn * positi on, double precision); /*! \fn void get_lunar_ecl_coords (double JD, struct ln_lnlat_posn * positi on, double precision);
skipping to change at line 1339 skipping to change at line 1529
* \ingroup lunar * \ingroup lunar
*/ */
double get_lunar_earth_dist (double JD); double get_lunar_earth_dist (double JD);
/*! \fn double get_lunar_bright_limb (double JD); /*! \fn double get_lunar_bright_limb (double JD);
* \brief Calculate the position angle of the Moon's bright limb. * \brief Calculate the position angle of the Moon's bright limb.
* \ingroup lunar * \ingroup lunar
*/ */
double get_lunar_bright_limb (double JD); double get_lunar_bright_limb (double JD);
/*! \defgroup elliptic Elliptic Motion
*
* Functions relating to the elliptic motion of bodies.
*
* All angles are expressed in degrees.
*/
/*! \fn double solve_kepler (double E, double M);
* \brief Calculate the eccentric anomaly.
* \ingroup elliptic
*/
double solve_kepler (double e, double M);
/*! \fn double get_ell_mean_anomaly (double n, double delta_JD);
* \brief Calculate the mean anomaly.
* \ingroup elliptic
*/
double get_ell_mean_anomaly (double n, double delta_JD);
/*! \fn double get_ell_true_anomaly (double n, double delta_JD);
* \brief Calculate the true anomaly.
* \ingroup elliptic
*/
double get_ell_true_anomaly (double e, double E);
/*! \fn double get_ell_radius_vector (double a, double e, double E);
* \brief Calculate the radius vector.
* \ingroup elliptic
*/
double get_ell_radius_vector (double a, double e, double E);
/*! \fn double get_ell_smajor_diam (double e, double q);
* \brief Calculate the semi major diameter.
* \ingroup elliptic
*/
double get_ell_smajor_diam (double e, double q);
/*! \fn double get_ell_sminor_diam (double e, double a);
* \brief Calculate the semi minor diameter.
* \ingroup elliptic
*/
double get_ell_sminor_diam (double e, double a);
/*! \fn double get_ell_mean_motion (double a);
* \brief Calculate the mean daily motion (degrees/day).
* \ingroup elliptic
*/
double get_ell_mean_motion (double a);
/*! \fn void get_ell_geo_rect_posn (struct ln_ell_orbit* orbit, double JD,
struct ln_rect_posn* posn);
* \brief Calculate the objects rectangular geocentric position.
* \ingroup elliptic
*/
void get_ell_geo_rect_posn (struct ln_ell_orbit* orbit, double JD, struct l
n_rect_posn* posn);
/*! \fn void get_ell_helio_rect_posn (struct ln_ell_orbit* orbit, double JD
, struct ln_rect_posn* posn);
* \brief Calculate the objects rectangular heliocentric position.
* \ingroup elliptic
*/
void get_ell_helio_rect_posn (struct ln_ell_orbit* orbit, double JD, struct
ln_rect_posn* posn);
/*! \fn double get_ell_orbit_len (struct ln_ell_orbit * orbit);
* \brief Calculate the orbital length in AU.
* \ingroup elliptic
*/
double get_ell_orbit_len (struct ln_ell_orbit * orbit);
/*! \fn double get_ell_orbit_vel (double JD, struct ln_ell_orbit * orbit);
* \brief Calculate orbital velocity in km/s.
* \ingroup elliptic
*/
double get_ell_orbit_vel (double JD, struct ln_ell_orbit * orbit);
/*! \fn double get_ell_orbit_pvel (struct ln_ell_orbit * orbit);
* \brief Calculate orbital velocity at perihelion in km/s.
* \ingroup elliptic
*/
double get_ell_orbit_pvel (struct ln_ell_orbit * orbit);
/*! \fn double get_ell_orbit_avel (struct ln_ell_orbit * orbit);
* \ingroup elliptic
* \brief Calculate the orbital velocity at aphelion in km/s.
*/
double get_ell_orbit_avel (struct ln_ell_orbit * orbit);
/*! \fn double get_ell_body_phase_angle (double JD, struct ln_ell_orbit * o
rbit);
* \ingroup elliptic
* \brief Calculate the pase angle of the body. The angle Sun - body - Earth
.
*/
double get_ell_body_phase_angle (double JD, struct ln_ell_orbit * orbit);
/*!
* \fn double get_ell_body_solar_dist (double JD, struct ln_ell_orbit * orbi
t)
* \brief Calculate the distance between a body and the Sun
* \ingroup elliptic
*/
double get_ell_body_solar_dist (double JD, struct ln_ell_orbit * orbit);
/*!
* \fn double get_ell_body_earth_dist (double JD, struct ln_ell_orbit * orbi
t)
* \brief Calculate the distance between a body and the Earth
* \ingroup elliptic
*/
double get_ell_body_earth_dist (double JD, struct ln_ell_orbit * orbit);
/*!
* \fn void get_ell_body_equ_coords (double JD, struct ln_ell_orbit * orbit,
struct ln_equ_posn * posn)
* \brief Calculate a bodies equatorial coords
* \ingroup elliptic
*/
void get_ell_body_equ_coords (double JD, struct ln_ell_orbit * orbit, struc
t ln_equ_posn * posn);
/*! \fn double get_ell_body_rst (double JD, struct ln_lnlat_posn * observer
, struct ln_ell_orbit * orbit, struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for a body with an ell
iptic orbit.
* \ingroup elliptic
*/
int get_ell_body_rst (double JD, struct ln_lnlat_posn * observer, struct ln
_ell_orbit * orbit, struct ln_rst_time * rst);
/*! \defgroup parabolic Parabolic Motion
*
* Functions relating to the Parabolic motion of bodies.
*
* All angles are expressed in degrees.
*/
/*! \fn double solve_barker (double q, double t);
* \brief Solve Barkers equation.
* \ingroup parabolic
*/
double solve_barker (double q, double t);
/*! \fn double get_par_true_anomaly (double q, double t);
* \ingroup parabolic
* \brief Calculate the true anomaly.
*/
double get_par_true_anomaly (double q, double t);
/*! \fn double get_par_radius_vector (double q, double t);
* \ingroup parabolic
* \brief Calculate the radius vector.
*/
double get_par_radius_vector (double q, double t);
/*! \fn void get_par_geo_rect_posn (struct ln_orbit* orbit, double JD, stru
ct ln_rect_posn* posn);
* \ingroup parabolic
* \brief Calculate an objects rectangular geocentric position.
*/
void get_par_geo_rect_posn (struct ln_par_orbit* orbit, double JD, struct l
n_rect_posn* posn);
/*! \fn void get_par_helio_rect_posn (struct ln_par_orbit* orbit, double JD
, struct ln_rect_posn* posn);
* \ingroup parabolic
* \brief Calculate an objects rectangular heliocentric position.
*/
void get_par_helio_rect_posn (struct ln_par_orbit* orbit, double JD, struct
ln_rect_posn* posn);
/*!
* \fn void get_par_body_equ_coords (double JD, struct ln_par_orbit * orbit,
struct ln_equ_posn * posn)
* \ingroup parabolic
* \brief Calculate a bodies equatorial coordinates.
*/
void get_par_body_equ_coords (double JD, struct ln_par_orbit * orbit, struc
t ln_equ_posn * posn);
/*!
* \fn double get_par_body_earth_dist (double JD, struct ln_par_orbit * orbi
t)
* \ingroup parabolic
* \brief Calculate the distance between a body and the Earth.
*/
double get_par_body_earth_dist (double JD, struct ln_par_orbit * orbit);
/*!
* \fn double get_par_body_solar_dist (double JD, struct ln_par_orbit * orbi
t)
* \ingroup parabolic
* \brief Calculate the distance between a body and the Sun.
*/
double get_par_body_solar_dist (double JD, struct ln_par_orbit * orbit);
/*! \fn double get_par_body_phase_angle (double JD, struct ln_par_orbit * o
rbit);
* \ingroup parabolic
* \brief Calculate the pase angle of the body.
*/
double get_par_body_phase_angle (double JD, struct ln_par_orbit * orbit);
/*! \fn double get_par_body_rst (double JD, struct ln_lnlat_posn * observer
, struct ln_par_orbit * orbit, struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for a body with a para
bolic orbit.
* \ingroup parabolic
*/
int get_par_body_rst (double JD, struct ln_lnlat_posn * observer, struct ln
_par_orbit * orbit, struct ln_rst_time * rst);
/*! \defgroup asteroid Asteroids
*
* Functions relating to Asteroids.
*
* All angles are expressed in degrees.
*/
/*!
* \fn double get_asteroid_mag (double JD, struct ln_ell_orbit * orbit, doub
le H, double G)
* \ingroup asteroid
* \brief Calculate the visual magnitude of an asteroid.
*/
double get_asteroid_mag (double JD, struct ln_ell_orbit * orbit, double H,
double G);
/*! \fn double get_asteroid_sdiam_km (double H, double A)
* \brief Calcaluate the semidiameter of an asteroid in km.
* \ingroup asteroid
*/
double get_asteroid_sdiam_km (double H, double A);
/*! \fn double get_asteroid_sdiam_arc (double JD, struct ln_ell_orbit * orb
it, double H, double A);
* \brief Calcaluate the semidiameter of an asteroid in arc seconds.
* \ingroup asteroid
*/
double get_asteroid_sdiam_arc (double JD, struct ln_ell_orbit * orbit, doub
le H, double A);
/*! \defgroup comet Comets
*
* Functions relating to Comets.
*
* All angles are expressed in degrees.
*/
/*!
* \fn double get_ell_comet_mag (double JD, struct ln_ell_orbit * orbit, dou
ble g, double k)
* \ingroup comet
* \brief Calculate the visual magnitude of a comet in an elliptic orbit.
*/
double get_ell_comet_mag (double JD, struct ln_ell_orbit * orbit, double g,
double k);
/*!
* \fn double get_par_comet_mag (double JD, struct ln_par_orbit * orbit, dou
ble g, double k)
* \ingroup comet
* \brief Calculate the visual magnitude of a comet in a parabolic orbit.
*/
double get_par_comet_mag (double JD, struct ln_par_orbit * orbit, double g,
double k);
/*! \defgroup refraction Atmospheric Refraction
*
* Functions relating to Atmospheric Refraction
*
* All angles are expressed in degrees.
*/
/*! \fn double get_refraction_adj (double altitude, double atm_pres, double
temp)
* \brief Calculate the adjustment in altitude of a body due to atmospheric
* refraction.
* \ingroup refraction
*/
double get_refraction_adj (double altitude, double atm_pres, double temp);
/*! \fn double interpolate3 (double n, double y1, double y2, double y3)
* \ingroup misc
* \brief Calculate an intermediate value of the 3 arguments.
*/
double interpolate3 (double n, double y1, double y2, double y3);
/*! \fn double interpolate5 (double n, double y1, double y2, double y3, dou
ble y4, double y5)
* \ingroup misc
* \brief Calculate an intermediate value of the 5 arguments.
*/
double interpolate5 (double n, double y1, double y2, double y3, double y4,
double y5);
/*! \defgroup rst Rise, Set, Transit
*
* Functions relating to an objects rise, set and transit
*
* All angles are expressed in degrees.
*/
/*! \fn double get_object_rst (double JD, struct ln_lnlat_posn * observer,
struct ln_equ_posn * object,struct ln_rst_time * rst);
* \brief Calculate the time of rise, set and transit for an object not orbi
ting the Sun.
* \ingroup rst
*/
int get_object_rst (double JD, struct ln_lnlat_posn * observer, struct ln_e
qu_posn * object, struct ln_rst_time * rst);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#endif #endif
 End of changes. 38 change blocks. 
54 lines changed or deleted 581 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/