|
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().