Available on non-crate feature
lock only.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
| CSPICE | rust-spice | Description |
|---|---|---|
| bodc2n_c | neat::bodc2n | Body ID code to name translation |
| bodfnd_c | raw::bodfnd | Find values from the kernel pool |
| bodn2c_c | raw::bodn2c | Body name to ID code translation |
| bodvrd_c | raw::bodvrd | Return d.p. values from the kernel pool |
| ckcov_c | TODO | |
| ckgp_c | TODO | |
| ckgpav_c | TODO | |
| ckobj_c | TODO | |
| dascls_c | raw::dascls | DAS, close file |
| dasopr_c | raw::dasopr | DAS, open for read |
| deltet_c | [raw::udeltet] | Delta ET, ET - UTC |
| dlabfs_c | raw::dlabfs | DLA, begin forward search |
| dskgd_c | raw::dskgd | DSK, return DSK segment descriptor |
| dskn02_c | raw::dskn02 | DSK, type 2, compute normal vector for plate |
| dskobj_c | raw::dskobj | DSK, get object IDs |
| dskp02_c | neat::dskp02 | DSK, fetch type 2 plate data |
| dsksrf_c | TODO | |
| dskv02_c | neat::dskv02 | DSK, fetch type 2 vertex data |
| dskx02_c | raw::dskx02 | DSK, ray-surface intercept, type 2 |
| dskz02_c | raw::dskz02 | DSK, fetch type 2 model size parameters |
| furnsh_c | raw::furnsh | Furnish a program with SPICE kernels |
| gcpool_c | TODO | |
| gdpool_c | raw::gdpool | Get d.p. values from the kernel pool |
| georec_c | raw::georec | Geodetic to rectangular coordinates |
| getfov_c | raw::getfov | Get instrument FOV parameters |
| gipool_c | TODO | |
| illumf_c | raw::illumf | Illumination angles, general source, return flags |
| kclear_c | raw::kclear | Keeper clear |
| kdata_c | neat::kdata | Kernel Data |
| ktotal_c | raw::ktotal | Kernel Totals |
| latrec_c | raw::latrec | Latitudinal to rectangular coordinates |
| latsrf_c | TODO | |
| mxv_c | raw::mxv | Matrix times vector, 3x3 |
| occult_c | raw::occult | Find occultation type at time |
| pckcov_c | TODO | |
| pxform_c | raw::pxform | Position Transformation Matrix |
| pxfrm2_c | raw::pxfrm2 | Position Transform Matrix, Different Epochs |
| sce2c_c | TODO | |
| sce2s_c | TODO | |
| scencd_c | TODO | |
| scdecd_c | TODO | |
| scs2e_c | TODO | |
| sct2e_c | TODO | |
| sincpt_c | raw::sincpt | Surface intercept |
| spkcls_c | raw::spkcls | SPK, Close file |
| spkcov_c | TODO | |
| spkcpo_c | TODO | |
| spkcpt_c | TODO | |
| spkcvo_c | TODO | |
| spkcvt_c | TODO | |
| spkezr_c | raw::spkezr | S/P Kernel, easier reader |
| spkobj_c | TODO | |
| spkopn_c | raw::spkopn | SPK, open new file. |
| spkpos_c | raw::spkpos | S/P Kernel, position |
| spkw09_c | raw::spkw09 | Write SPK segment, type 9 |
| srfc2s_c | TODO | |
| srfcss_c | TODO | |
| srfnrm_c | TODO | |
| srfs2c_c | TODO | |
| srfscc_c | TODO | |
| str2et_c | raw::str2et | String to ET |
| sunpnt_c | raw::subpnt | Sub-observer point |
| surfpt_c | raw::surfpt | Surface point on an ellipsoid |
| sxform_c | TODO | |
| radrec_c | raw::radrec | RA and DEC to rectangular coordinates |
| recrad_c | raw::recrad | Rectangular coordinates to RA and DEC |
| recpgr_c | raw::recpgr | Rectangular to planetographic |
| timout_c | neat::timout | Time Output |
| unitim_c | [raw::unitime] | Uniform time scale transformation |
| unload_c | raw::unload | Unload a kernel |
| vcrss_c | raw::vcrss | Vector cross product, 3 dimensions |
| vdot_c | raw::vdot | Vector dot product, 3 dimensions |
| vsep_c | raw::vsep | Angular separation of vectors, 3 dimensions |
| xpose_c | raw::xpose | Transpose 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§
- lock
lock - 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.