|
| short | ephemeris (const double *restrict jd_tdb, const object *restrict body, enum novas_origin origin, enum novas_accuracy accuracy, double *restrict pos, double *restrict vel) |
| | Retrieves the position and velocity of a solar system body using the currently configured plugins that provide them.
|
| |
| novas_ephem_provider | get_ephem_provider () |
| | Returns the user-defined ephemeris accessor function.
|
| |
| novas_nutation_provider | get_nutation_lp_provider () |
| | Returns the function configured for low-precision IAU 2000 nutation calculations instead of the default nu2000k().
|
| |
| novas_planet_provider | get_planet_provider () |
| | Returns the custom (low-precision) ephemeris provider function for major planets (and Sun, Moon, SSB...), if any.
|
| |
| novas_planet_provider_hp | get_planet_provider_hp () |
| | Returns the custom high-precision ephemeris provider function for major planets (and Sun, Moon, SSB...), if any.
|
| |
| int | set_ephem_provider (novas_ephem_provider func) |
| | Sets the function to use for obtaining position / velocity information for minor planets, or satellites.
|
| |
| int | set_nutation_lp_provider (novas_nutation_provider func) |
| | Set the function to use for low-precision IAU 2000 nutation calculations instead of the default nu2000k().
|
| |
| int | set_planet_provider (novas_planet_provider func) |
| | Set a custom function to use for regular precision (see NOVAS_REDUCED_ACCURACY) ephemeris calculations instead of the default solarsystem() routine.
|
| |
| int | set_planet_provider_hp (novas_planet_provider_hp func) |
| | Set a custom function to use for high precision (see NOVAS_FULL_ACCURACY) ephemeris calculations instead of the default solarsystem_hp() routine.
|
| |
- Date
- Created on Mar 6, 2025
- Author
- Attila Kovacs
Functions that allow to define or access user-defined plugin routines.
| short ephemeris |
( |
const double *restrict | jd_tdb, |
|
|
const object *restrict | body, |
|
|
enum novas_origin | origin, |
|
|
enum novas_accuracy | accuracy, |
|
|
double *restrict | pos, |
|
|
double *restrict | vel ) |
Retrieves the position and velocity of a solar system body using the currently configured plugins that provide them.
It is recommended that the input structure 'cel_obj' be created using make_object()
- Parameters
-
| jd_tdb | [day] Barycentric Dynamic Time (TDB) based Julian date |
| body | Pointer to structure containing the designation of the body of interest |
| origin | NOVAS_BARYCENTER (0) or NOVAS_HELIOCENTER (1) |
| accuracy | NOCAS_FULL_ACCURACY (0) or NOVAS_REDUCED_ACCURACY (1) |
| [out] | pos | [AU] Pointer to structure containing the designation of the body of interest |
| [out] | vel | [AU/day] Velocity vector of the body at 'jd_tdb'; equatorial rectangular coordinates in AU/day referred to the ICRS. |
- Returns
- 0 if successful, -1 if the 'jd_tdb' or input object argument is NULL, or else 1 if 'origin' is invalid, 2 if
cel_obj->type is invalid, 10 + the error code from the currently configured novas_planet_provider_hp call, or 20 + the error code from readeph().
- See also
- set_planet_provider(), set_planet_provider_hp(), set_ephem_provider()
-
make_planet(), make_ephem_object()
References ephemeris(), get_ephem_provider(), make_planet(), NOVAS_BARYCENTER, NOVAS_EPHEM_OBJECT, NOVAS_FULL_ACCURACY, NOVAS_HELIOCENTER, novas_orbit_posvel(), NOVAS_ORBITAL_OBJECT, NOVAS_ORIGIN_TYPES, NOVAS_PLANET, NOVAS_SSB, NOVAS_SUN, and readeph().