API of libgravix2. More...
#include "libgravix2/libgravix2_export.h"
#include <stdint.h>
Go to the source code of this file.
Classes | |
struct | GrvxTrajectory |
Sequence of spatial and velocity data of a missile. More... | |
struct | GrvxConfig |
Static configurations. More... | |
Typedefs | |
typedef struct GrvxPlanets * | GrvxPlanetsHandle |
Handle to a set of planets forming a closed universe. More... | |
typedef struct GrvxTrajectory * | GrvxTrajectoryBatch |
Handle to a batch of trajectories. More... | |
Functions | |
GRVX_EXPORT const char * | grvx_version (void) |
Returns the version of the library. More... | |
GRVX_EXPORT GrvxPlanetsHandle | grvx_new_planets (uint32_t n) |
Creates a new planets handle. More... | |
GRVX_EXPORT void | grvx_delete_planets (GrvxPlanetsHandle handle) |
Deletes all planets of the associated handle and frees the allocated memory. More... | |
GRVX_EXPORT uint32_t | grvx_count_planets (GrvxPlanetsHandle handle) |
Counts the planets. More... | |
GRVX_EXPORT int32_t | grvx_set_planet (GrvxPlanetsHandle handle, uint32_t i, double lat, double lon) |
Initializes or overwrites the spatial position of a planet. More... | |
GRVX_EXPORT int32_t | grvx_get_planet (GrvxPlanetsHandle handle, uint32_t i, double *lat, double *lon) |
Retrieves the spatial position of a planet. More... | |
GRVX_EXPORT uint32_t | grvx_pop_planet (GrvxPlanetsHandle handle) |
Removes the last planet from the universe. More... | |
GRVX_EXPORT GrvxTrajectoryBatch | grvx_new_missiles (uint32_t n) |
Creates a new batch of uninitialized missiles. More... | |
GRVX_EXPORT void | grvx_delete_missiles (GrvxTrajectoryBatch batch) |
Deletes a batch of missiles and frees the allocated memory. More... | |
GRVX_EXPORT struct GrvxTrajectory * | grvx_get_trajectory (GrvxTrajectoryBatch batch, uint32_t i) |
Extracts a missile by ID from the given missile batch. More... | |
GRVX_EXPORT int32_t | grvx_init_missile (struct GrvxTrajectory *trj, double lat, double lon, double v, double dlat, double dlon) |
Initializes the position and velocity of a missile on the sphere. More... | |
GRVX_EXPORT int32_t | grvx_launch_missile (struct GrvxTrajectory *trj, GrvxPlanetsHandle planets_handle, uint32_t planet_id, double v_abs, double psi) |
Initializes a missile on the rim of a given planet. More... | |
GRVX_EXPORT uint32_t | grvx_propagate_missile (struct GrvxTrajectory *trj, GrvxPlanetsHandle planets, double h, int32_t *premature) |
Propagates a missile in the gravitational force field of planets. More... | |
GRVX_EXPORT double | grvx_lat (double z) |
Computes the latitudinal position, \(\phi\), from Cartesian coordinates. More... | |
GRVX_EXPORT double | grvx_lon (double x, double y) |
Computes the longitudinal position, \(\lambda\), from Cartesian coordinates. More... | |
GRVX_EXPORT double | grvx_vlat (double vx, double vy, double vz, double lat, double lon) |
Computes the latitudinal speed, \(\dot\phi\), from Cartesian coordinates. More... | |
GRVX_EXPORT double | grvx_vlon (double vx, double vy, double vz, double lon) |
Computes the (scaled) longitudinal speed, \(\dot\lambda \cos\phi\), from Cartesian coordinates. More... | |
GRVX_EXPORT double | grvx_v_esc (void) |
Escape velocity \(p_\pi\) for isolated planets. More... | |
GRVX_EXPORT double | grvx_v_scrcl (double r) |
Velocity of a missile on a small circle for isolated planets. More... | |
GRVX_EXPORT double | grvx_orb_period (double v0, double h) |
Orbital period for isolated planets. More... | |
GRVX_EXPORT void | grvx_perturb_measurement (GrvxPlanetsHandle planets_handle, uint32_t planet_id, double angular_error, double *lat, double *lon) |
Perturbs measurement by assuming finite angular resolution. More... | |
GRVX_EXPORT struct GrvxConfig * | grvx_get_config (void) |
Returns static configuration. More... | |
GRVX_EXPORT void | grvx_free_config (struct GrvxConfig *cfg) |
Frees GrvxConfig instance. More... | |
API of libgravix2.
See module API for a detailed description.