Module core

Source
Expand description

An idiomatic interface in Rust to CSPICE.

§Description

Below you will find the index of the CSPICE functions that are wrapped with an idiomatic Rust interface.

It takes a long time to correctly wrap all functions of the API. Raise an issue to ask a specific function to be implemented and we will do it immediately. Pull requests are warmly welcomed to help speed up this process (do not forget to include a proper documentation and a test).

In the meantime, if you are in a rush and need quickly to use a function not implemented with the Rust interface, use the unsafe C functions here. You can find some inspiration in the source of this lib to deal with the FFI types and unsafe code.

§Bindings

CSPICErust-spiceDescription
bodc2n_cneat::bodc2nBody ID code to name translation
bodfnd_craw::bodfndFind values from the kernel pool
bodn2c_craw::bodn2cBody name to ID code translation
bodvrd_craw::bodvrdReturn d.p. values from the kernel pool
ckcov_cTODO
ckgp_cTODO
ckgpav_cTODO
ckobj_cTODO
dascls_craw::dasclsDAS, close file
dasopr_craw::dasoprDAS, open for read
deltet_c[raw::udeltet]Delta ET, ET - UTC
dlabfs_craw::dlabfsDLA, begin forward search
dskgd_craw::dskgdDSK, return DSK segment descriptor
dskn02_craw::dskn02DSK, type 2, compute normal vector for plate
dskobj_craw::dskobjDSK, get object IDs
dskp02_cneat::dskp02DSK, fetch type 2 plate data
dsksrf_cTODO
dskv02_cneat::dskv02DSK, fetch type 2 vertex data
dskx02_craw::dskx02DSK, ray-surface intercept, type 2
dskz02_craw::dskz02DSK, fetch type 2 model size parameters
furnsh_craw::furnshFurnish a program with SPICE kernels
gcpool_cTODO
gdpool_craw::gdpoolGet d.p. values from the kernel pool
georec_craw::georecGeodetic to rectangular coordinates
getfov_craw::getfovGet instrument FOV parameters
gipool_cTODO
illumf_craw::illumfIllumination angles, general source, return flags
kclear_craw::kclearKeeper clear
kdata_cneat::kdataKernel Data
ktotal_craw::ktotalKernel Totals
latrec_craw::latrecLatitudinal to rectangular coordinates
latsrf_cTODO
mxv_craw::mxvMatrix times vector, 3x3
occult_craw::occultFind occultation type at time
pckcov_cTODO
pxform_craw::pxformPosition Transformation Matrix
pxfrm2_craw::pxfrm2Position Transform Matrix, Different Epochs
sce2c_cTODO
sce2s_cTODO
scencd_cTODO
scdecd_cTODO
scs2e_cTODO
sct2e_cTODO
sincpt_craw::sincptSurface intercept
spkcls_craw::spkclsSPK, Close file
spkcov_cTODO
spkcpo_cTODO
spkcpt_cTODO
spkcvo_cTODO
spkcvt_cTODO
spkezr_craw::spkezrS/P Kernel, easier reader
spkobj_cTODO
spkopn_craw::spkopnSPK, open new file.
spkpos_craw::spkposS/P Kernel, position
spkw09_craw::spkw09Write SPK segment, type 9
srfc2s_cTODO
srfcss_cTODO
srfnrm_cTODO
srfs2c_cTODO
srfscc_cTODO
str2et_craw::str2etString to ET
sunpnt_craw::subpntSub-observer point
surfpt_craw::surfptSurface point on an ellipsoid
sxform_cTODO
radrec_craw::radrecRA and DEC to rectangular coordinates
recrad_craw::recradRectangular coordinates to RA and DEC
recpgr_craw::recpgrRectangular to planetographic
timout_cneat::timoutTime Output
unitim_c[raw::unitime]Uniform time scale transformation
unload_craw::unloadUnload a kernel
vcrss_craw::vcrssVector cross product, 3 dimensions
vdot_craw::vdotVector dot product, 3 dimensions
vsep_craw::vsepAngular separation of vectors, 3 dimensions
xpose_craw::xposeTranspose a matrix, 3x3

Re-exports§

pub use self::neat::bodc2n;
pub use self::neat::dskp02;
pub use self::neat::dskv02;
pub use self::neat::kdata;
pub use self::neat::timout;
pub use self::raw::bodfnd;
pub use self::raw::bodn2c;
pub use self::raw::bodvrd;
pub use self::raw::dascls;
pub use self::raw::dasopr;
pub use self::raw::deltet;
pub use self::raw::dlabfs;
pub use self::raw::dskgd;
pub use self::raw::dskn02;
pub use self::raw::dskobj;
pub use self::raw::dskx02;
pub use self::raw::dskz02;
pub use self::raw::furnsh;
pub use self::raw::gdpool;
pub use self::raw::georec;
pub use self::raw::getfov;
pub use self::raw::illumf;
pub use self::raw::kclear;
pub use self::raw::ktotal;
pub use self::raw::latrec;
pub use self::raw::mxv;
pub use self::raw::occult;
pub use self::raw::pxform;
pub use self::raw::pxfrm2;
pub use self::raw::radrec;
pub use self::raw::recpgr;
pub use self::raw::recrad;
pub use self::raw::sincpt;
pub use self::raw::spkcls;
pub use self::raw::spkezr;
pub use self::raw::spkopn;
pub use self::raw::spkpos;
pub use self::raw::spkw09;
pub use self::raw::str2et;
pub use self::raw::subpnt;
pub use self::raw::surfpt;
pub use self::raw::unitim;
pub use self::raw::unload;
pub use self::raw::vcrss;
pub use self::raw::vdot;
pub use self::raw::vsep;
pub use self::raw::xpose;
pub use self::raw::DLADSC;
pub use self::raw::DSKDSC;

Modules§

locklock
neat
Improvement on the procedurally generated functions.
raw
A Rust idiomatic CSPICE wrapper built with procedural macros.

Constants§

MAX_LEN_OUT
Maximum size of string outputs.
TIME_FORMAT
Default date format.
TIME_FORMAT_SIZE
Size of the default date format.