Skip to main content

SpiceLock

Struct SpiceLock 

Source
pub struct SpiceLock { /* private fields */ }
Available on crate feature lock only.
Expand description

A wrapper singleton struct around the API to prevent concurrent calls to SPICE functions from multiple threads.

Exposes all functions as methods with identical signatures besides the added &self argument. Only available with the lock feature enabled.

Implementations§

Source§

impl SpiceLock

Source

pub fn failed(&self) -> bool

Available on non-crate feature lock only.

Whether CSPICE is in an error state.

Source§

impl SpiceLock

Source

pub fn reset(&self)

Available on non-crate feature lock only.

Clear the CSPICE error state.

Source§

impl SpiceLock

Source

pub fn getmsg(&self, option: &str) -> String

Available on non-crate feature lock only.

Retrieve one of the error messages: "SHORT", "EXPLAIN" or "LONG".

Source§

impl SpiceLock

Source

pub fn qcktrc(&self) -> String

Available on non-crate feature lock only.

Return the traceback of the routines that were active when the error was signalled.

Source§

impl SpiceLock

Source

pub fn check(&self) -> Result<(), Error>

Available on non-crate feature lock only.

Turn the current CSPICE error state into a Result, clearing it on the way.

Ok(()) when no routine has failed since the last reset.

Source§

impl SpiceLock

Source

pub fn erract(&self, op: &str, value: &str) -> String

Available on non-crate feature lock only.

Retrieve or set the default error action.

op is "SET" to install value, or "GET" to read the current one back; the current value is returned either way.

Source§

impl SpiceLock

Source

pub fn errdev(&self, op: &str, value: &str) -> String

Available on non-crate feature lock only.

Retrieve or set the name of the current output device for error messages.

op is "SET" to install value, or "GET" to read the current one back; the current value is returned either way.

Source§

impl SpiceLock

Source

pub fn errprt(&self, op: &str, value: &str) -> String

Available on non-crate feature lock only.

Retrieve or set the list of error message items to be output.

op is "SET" to install value, or "GET" to read the current one back; the current value is returned either way.

Source§

impl SpiceLock

Source

pub fn quiet(&self)

Available on non-crate feature lock only.

Stop CSPICE from writing to the screen and from terminating the process on error.

Sets the error action to "RETURN" and the error device to "NULL"; pair it with check.

Source§

impl SpiceLock

Source

pub fn loud(&self)

Available on non-crate feature lock only.

Restore the CSPICE defaults: report to the screen, then abort the process.

Source§

impl SpiceLock

Source

pub fn bodc2n(&self, code: i32) -> (String, bool)

Available on non-crate feature lock only.

Translate the SPICE integer code of a body into a common name for that body.

See raw::bodc2n for the raw interface.

Source§

impl SpiceLock

Source

pub fn bodc2s(&self, code: i32) -> String

Available on non-crate feature lock only.

Translate a body ID code to either the corresponding name or, if no name exists, the string representation of the code.

See raw::bodc2s for the raw interface.

Source§

impl SpiceLock

Source

pub fn frmnam(&self, frcode: i32) -> String

Available on non-crate feature lock only.

Look up the name of a reference frame associated with an ID code.

See raw::frmnam for the raw interface.

Source§

impl SpiceLock

Source

pub fn et2utc(&self, et: f64, format: &str, prec: i32) -> String

Available on non-crate feature lock only.

Convert an input epoch, in ephemeris seconds past J2000, to a UTC string.

See raw::et2utc for the raw interface.

Source§

impl SpiceLock

Source

pub fn timout(&self, et: f64, pictur: &str) -> String

Available on non-crate feature lock only.

This routine converts an input epoch represented in TDB seconds past the TDB epoch of J2000 to a character string formatted to the specifications of a user’s format picture.

See raw::timout for the raw interface.

Source§

impl SpiceLock

Source

pub fn tparse(&self, string: &str) -> (f64, String)

Available on non-crate feature lock only.

Parse a time string, returning the seconds past J2000 and the error message, empty on success.

See raw::tparse for the raw interface.

Source§

impl SpiceLock

Source

pub fn sce2s(&self, sc: i32, et: f64) -> String

Available on non-crate feature lock only.

Convert ephemeris seconds past J2000 to a spacecraft clock string.

See raw::sce2s for the raw interface.

Source§

impl SpiceLock

Source

pub fn scdecd(&self, sc: i32, sclkdp: f64) -> String

Available on non-crate feature lock only.

Convert a double precision encoding of spacecraft clock time into a character representation.

See raw::scdecd for the raw interface.

Source§

impl SpiceLock

Source

pub fn srfc2s(&self, code: i32, bodyid: i32) -> (String, bool)

Available on non-crate feature lock only.

Translate a surface ID code, together with a body ID code, to the corresponding surface name.

See raw::srfc2s for the raw interface.

Source§

impl SpiceLock

Source

pub fn srfcss(&self, code: i32, bodstr: &str) -> (String, bool)

Available on non-crate feature lock only.

Translate a surface ID code, together with a body string, to the corresponding surface name.

See raw::srfcss for the raw interface.

Source§

impl SpiceLock

Source

pub fn kdata( &self, which: i32, kind: &str, ) -> (String, String, String, i32, bool)

Available on non-crate feature lock only.

Return the file name, type, source and handle of a loaded kernel.

See raw::kdata for the raw interface.

Source§

impl SpiceLock

Source

pub fn kinfo(&self, file: &str) -> (String, String, i32, bool)

Available on non-crate feature lock only.

Return the type, source and handle of a loaded kernel, given its name.

See raw::kinfo for the raw interface.

Source§

impl SpiceLock

Source

pub fn gcpool(&self, name: &str, start: usize, room: usize) -> Vec<String>

Available on non-crate feature lock only.

Return the character values of a kernel pool variable.

See raw::gcpool for the raw interface.

Source§

impl SpiceLock

Source

pub fn stpool(&self, item: &str, nth: i32, contin: &str) -> (String, i32, bool)

Available on non-crate feature lock only.

Fetch the nth string of a kernel pool variable, re-joining continuation lines.

See raw::stpool for the raw interface.

Source§

impl SpiceLock

Source

pub fn getfat(&self, file: &str) -> (String, String)

Available on non-crate feature lock only.

Determine the architecture and type of a SPICE kernel file.

See raw::getfat for the raw interface.

Source§

impl SpiceLock

Source

pub fn getfvn( &self, inst: &str, room: usize, ) -> (String, String, [f64; 3], Vec<[f64; 3]>)

Available on non-crate feature lock only.

Return the field of view of an instrument given its name.

See raw::getfvn for the raw interface.

Source§

impl SpiceLock

Source

pub fn et2lst( &self, et: f64, body: i32, lon: f64, kind: &str, ) -> (i32, i32, i32, String, String)

Available on non-crate feature lock only.

The local solar time at a longitude on a body.

See raw::et2lst for the raw interface.

Source§

impl SpiceLock

Source

pub fn tpictr(&self, sample: &str) -> (String, bool, String)

Available on non-crate feature lock only.

Build a time format picture from a sample time string.

See raw::tpictr for the raw interface.

Source§

impl SpiceLock

Source

pub fn timdef(&self, action: &str, item: &str, value: &str) -> String

Available on non-crate feature lock only.

Set or retrieve a default used by the time routines.

See raw::timdef for the raw interface.

Source§

impl SpiceLock

Source

pub fn trcnam(&self, index: i32) -> String

Available on non-crate feature lock only.

The name of the routine at a given depth in the traceback.

See raw::trcnam for the raw interface.

Source§

impl SpiceLock

Source

pub fn repmct( &self, input: &str, marker: &str, value: i32, strcase: char, ) -> String

Available on non-crate feature lock only.

Replace a marker in a string with the cardinal text of an integer.

See raw::repmct for the raw interface.

Source§

impl SpiceLock

Source

pub fn spksfs(&self, body: i32, et: f64) -> (i32, [f64; 5], String, bool)

Available on non-crate feature lock only.

Search for the segment of an SPK that covers a body at an epoch.

See raw::spksfs for the raw interface.

Source§

impl SpiceLock

Source

pub fn dafec(&self, handle: i32) -> Vec<String>

Available on non-crate feature lock only.

Read the whole comment area of a DAF.

See raw::dafec for the raw interface.

Source§

impl SpiceLock

Source

pub fn dasec(&self, handle: i32) -> Vec<String>

Available on non-crate feature lock only.

Read the whole comment area of a DAS.

See raw::dasec for the raw interface.

Source§

impl SpiceLock

Source

pub fn gnpool(&self, name: &str, start: usize, room: usize) -> Vec<String>

Available on non-crate feature lock only.

Return the names of the kernel pool variables matching a template.

See raw::gnpool for the raw interface.

Source§

impl SpiceLock

Source

pub fn getfov( &self, instid: i32, room: usize, ) -> (String, String, [f64; 3], Vec<[f64; 3]>)

Available on non-crate feature lock only.

Return the field-of-view parameters of an instrument, given its NAIF ID code.

See raw::getfov for the raw interface.

Source§

impl SpiceLock

Source

pub fn dskp02(&self, handle: i32, dladsc: DLADSC) -> Vec<[i32; 3]>

Available on non-crate feature lock only.

Fetch every triangular plate of a type 2 DSK segment.

See raw::dskp02 for the raw interface.

Source§

impl SpiceLock

Source

pub fn dskv02(&self, handle: i32, dladsc: DLADSC) -> Vec<[f64; 3]>

Available on non-crate feature lock only.

Fetch every vertex of a type 2 DSK segment.

See raw::dskv02 for the raw interface.

Source§

impl SpiceLock

Source

pub fn lparse(&self, list: &str, delim: &str) -> Vec<String>

Available on non-crate feature lock only.

Split a list on a single delimiter, sizing the result for you.

See raw::lparse for the raw interface.

Source§

impl SpiceLock

Source

pub fn lparsm(&self, list: &str, delims: &str) -> Vec<String>

Available on non-crate feature lock only.

Split a list on any of a set of delimiters, sizing the result for you.

See raw::lparsm for the raw interface.

Source§

impl SpiceLock

Source

pub fn lcase(&self, input: &str) -> String

Available on non-crate feature lock only.

Convert a string to lower case.

See raw::lcase for the raw interface.

Source§

impl SpiceLock

Source

pub fn ucase(&self, input: &str) -> String

Available on non-crate feature lock only.

Convert a string to upper case.

See raw::ucase for the raw interface.

Source§

impl SpiceLock

Source

pub fn cmprss(&self, delim: char, n: i32, input: &str) -> String

Available on non-crate feature lock only.

Compress runs of a delimiter down to n of them.

See raw::cmprss for the raw interface.

Source§

impl SpiceLock

Source

pub fn nextwd(&self, string: &str) -> (String, String)

Available on non-crate feature lock only.

Split a string at the first run of blanks, into the first word and the rest.

See raw::nextwd for the raw interface.

Source§

impl SpiceLock

Source

pub fn repmc(&self, input: &str, marker: &str, value: &str) -> String

Available on non-crate feature lock only.

Replace a marker in a string with a string.

See raw::repmc for the raw interface.

Source§

impl SpiceLock

Source

pub fn repmd( &self, input: &str, marker: &str, value: f64, sigdig: i32, ) -> String

Available on non-crate feature lock only.

Replace a marker in a string with a double precision number.

See raw::repmd for the raw interface.

Source§

impl SpiceLock

Source

pub fn repmi(&self, input: &str, marker: &str, value: i32) -> String

Available on non-crate feature lock only.

Replace a marker in a string with an integer.

See raw::repmi for the raw interface.

Source§

impl SpiceLock

Source

pub fn dskobj(&self, dsk: &str) -> Cell<i32>

Available on non-crate feature lock only.

Find the set of body ID codes of all objects for which topographic data are provided in a specified DSK file.

See raw::dskobj for the raw interface.

Source§

impl SpiceLock

Source

pub fn dsksrf(&self, dsk: &str, bodyid: i32) -> Cell<i32>

Available on non-crate feature lock only.

Find the set of surface ID codes for all surfaces associated with a given body in a specified DSK file.

See raw::dsksrf for the raw interface.

Source§

impl SpiceLock

Source

pub fn spkobj(&self, spk: &str) -> Cell<i32>

Available on non-crate feature lock only.

Find the set of ID codes of all objects in a specified SPK file.

See raw::spkobj for the raw interface.

Source§

impl SpiceLock

Source

pub fn spkcov(&self, spk: &str, idcode: i32) -> Cell<f64>

Available on non-crate feature lock only.

Find the coverage window for a specified ephemeris object in a specified SPK file.

See raw::spkcov for the raw interface.

Source§

impl SpiceLock

Source

pub fn ckobj(&self, ck: &str) -> Cell<i32>

Available on non-crate feature lock only.

Find the set of ID codes of all objects in a specified CK file.

See raw::ckobj for the raw interface.

Source§

impl SpiceLock

Source

pub fn ckcov( &self, ck: &str, idcode: i32, needav: bool, level: &str, tol: f64, timsys: &str, ) -> Cell<f64>

Available on non-crate feature lock only.

Find the coverage window for a specified object in a specified CK file.

See raw::ckcov for the raw interface.

Source§

impl SpiceLock

Source

pub fn pckcov(&self, pck: &str, idcode: i32) -> Cell<f64>

Available on non-crate feature lock only.

Find the coverage window for a specified reference frame in a specified binary PCK file.

See raw::pckcov for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfoclt( &self, occtyp: &str, front: &str, fshape: &str, fframe: &str, back: &str, bshape: &str, bframe: &str, abcorr: &str, obsrvr: &str, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Determine the time windows, within a confinement window, when one body is occulted by or in transit across another, as seen from an observer.

See raw::gfoclt for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfdist( &self, target: &str, abcorr: &str, obsrvr: &str, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when the distance to a target meets a condition.

See raw::gfdist for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfrr( &self, target: &str, abcorr: &str, obsrvr: &str, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when the range rate of a target meets a condition.

See raw::gfrr for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfpa( &self, target: &str, illmn: &str, abcorr: &str, obsrvr: &str, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when the phase angle of a target meets a condition.

See raw::gfpa for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfposc( &self, target: &str, frame: &str, abcorr: &str, obsrvr: &str, crdsys: &str, coord: &str, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when a coordinate of a target’s position meets a condition.

See raw::gfposc for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfsubc( &self, target: &str, fixref: &str, method: &str, abcorr: &str, obsrvr: &str, crdsys: &str, coord: &str, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when a coordinate of the sub-observer point meets a condition.

See raw::gfsubc for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfsntc( &self, target: &str, fixref: &str, method: &str, abcorr: &str, obsrvr: &str, dref: &str, dvec: [f64; 3], crdsys: &str, coord: &str, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when a coordinate of a ray-surface intercept meets a condition.

See raw::gfsntc for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfsep( &self, targ1: &str, shape1: &str, frame1: &str, targ2: &str, shape2: &str, frame2: &str, abcorr: &str, obsrvr: &str, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when the angular separation of two targets meets a condition.

See raw::gfsep for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfilum( &self, method: &str, angtyp: &str, target: &str, illmn: &str, fixref: &str, abcorr: &str, obsrvr: &str, spoint: [f64; 3], relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when an illumination angle at a surface point meets a condition.

See raw::gfilum for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfrfov( &self, inst: &str, raydir: [f64; 3], rframe: &str, abcorr: &str, obsrvr: &str, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when a ray is in the field of view of an instrument.

See raw::gfrfov for the raw interface.

Source§

impl SpiceLock

Source

pub fn gftfov( &self, inst: &str, target: &str, tshape: &str, tframe: &str, abcorr: &str, obsrvr: &str, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when a target is in the field of view of an instrument.

See raw::gftfov for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfuds( &self, udfuns: UdFuns, udfunb: UdFunb, relate: &str, refval: f64, adjust: f64, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when a scalar function the caller supplies meets a condition.

See raw::gfuds for the raw interface.

Source§

impl SpiceLock

Source

pub fn gfudb( &self, udfuns: UdFuns, udfunb: UdFunb, step: f64, cnfine: &mut Cell<f64>, ) -> Cell<f64>

Available on non-crate feature lock only.

Search for times when a boolean function the caller supplies is true.

See raw::gfudb for the raw interface.

Source§

impl SpiceLock

Source

pub fn pckfrm(&self, pck: &str) -> Cell<i32>

Available on non-crate feature lock only.

Find the set of reference frame class ID codes of all frames in a specified binary PCK file.

See raw::pckfrm for the raw interface.

Source§

impl SpiceLock

Source

pub fn bodfnd(&self, body: i32, item: &str) -> bool

Available on non-crate feature lock only.

Determine whether values exist for some item for any body in the kernel pool.

Source§

impl SpiceLock

Source

pub fn bodn2c(&self, name: &str) -> (i32, bool)

Available on non-crate feature lock only.

Translate the name of a body or object to the corresponding SPICE integer ID code.

Source§

impl SpiceLock

Source

pub fn bods2c(&self, name: &str) -> (i32, bool)

Available on non-crate feature lock only.

Translate a string containing a body name or ID code to an integer code.

Source§

impl SpiceLock

Source

pub fn bodvrd(&self, bodynm: &str, item: &str, maxn: usize) -> Vec<f64>

Available on non-crate feature lock only.

Fetch from the kernel pool the double precision values of an item associated with a body.

At most maxn values are returned; the vector is truncated to the number actually found, and is empty when the item is not in the pool.

Source§

impl SpiceLock

Source

pub fn bodvar(&self, body: i32, item: &str, maxn: usize) -> Vec<f64>

Available on non-crate feature lock only.

Fetch from the kernel pool the double precision values of an item associated with a body.

Deprecated by CSPICE in favour of bodvcd and bodvrd: it takes no bound on how much it may write, so the caller has to know how many values to make room for.

Source§

impl SpiceLock

Source

pub fn bodvcd(&self, bodyid: i32, item: &str, maxn: usize) -> Vec<f64>

Available on non-crate feature lock only.

Fetch from the kernel pool the double precision values of an item associated with a body, using the body’s integer ID code.

Source§

impl SpiceLock

Source

pub fn ckgp( &self, inst: i32, sclkdp: f64, tol: f64, frame: &str, ) -> ([[f64; 3]; 3], f64, bool)

Available on non-crate feature lock only.

Get pointing (attitude) for a specified spacecraft clock time.

Source§

impl SpiceLock

Source

pub fn ckgpav( &self, inst: i32, sclkdp: f64, tol: f64, frame: &str, ) -> ([[f64; 3]; 3], [f64; 3], f64, bool)

Available on non-crate feature lock only.

Get pointing (attitude) and angular velocity for a spacecraft clock time.

Source§

impl SpiceLock

Source

pub fn ckopn(&self, fname: &str, ifname: &str, ncomch: i32) -> i32

Available on non-crate feature lock only.

Open a new CK file, returning the handle of the opened file.

Source§

impl SpiceLock

Source

pub fn ckcls(&self, handle: i32)

Available on non-crate feature lock only.

Close an open CK file.

Source§

impl SpiceLock

Source

pub fn ckw03( &self, handle: i32, begtim: f64, endtim: f64, inst: i32, frame: &str, avflag: bool, segid: &str, nrec: i32, sclkdp: &[f64], quats: &[[f64; 4]], avvs: &[[f64; 3]], nints: i32, starts: &[f64], )

Available on non-crate feature lock only.

Add a type 3 segment to a CK file.

§Panics

Panics if nrec or nints is negative, or larger than the arrays it counts: CSPICE reads exactly that many records and has no way of knowing how long they are.

Source§

impl SpiceLock

Source

pub fn dascls(&self, handle: i32)

Available on non-crate feature lock only.

Close a DAS file.

Source§

impl SpiceLock

Source

pub fn dasopr(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Open a DAS file for reading.

Source§

impl SpiceLock

Source

pub fn dlabfs(&self, handle: i32) -> (DLADSC, bool)

Available on non-crate feature lock only.

Begin a forward segment search in a DLA file.

Source§

impl SpiceLock

Source

pub fn dlabbs(&self, handle: i32) -> (DLADSC, bool)

Available on non-crate feature lock only.

Begin a backward segment search in a DLA file.

Source§

impl SpiceLock

Source

pub fn dlafns(&self, handle: i32, dladsc: DLADSC) -> (DLADSC, bool)

Available on non-crate feature lock only.

Find the segment following a specified segment in a DLA file.

Source§

impl SpiceLock

Source

pub fn dskgd(&self, handle: i32, dladsc: DLADSC) -> DSKDSC

Available on non-crate feature lock only.

Return the DSK descriptor from a DSK segment identified by a DAS handle and DLA descriptor.

Source§

impl SpiceLock

Source

pub fn dskn02(&self, handle: i32, dladsc: DLADSC, plid: i32) -> [f64; 3]

Available on non-crate feature lock only.

Compute the unit normal vector for a specified plate from a type 2 DSK segment.

Source§

impl SpiceLock

Source

pub fn dskx02( &self, handle: i32, dladsc: DLADSC, vertex: [f64; 3], raydir: [f64; 3], ) -> (i32, [f64; 3], bool)

Available on non-crate feature lock only.

Determine the plate ID and body-fixed coordinates of the intersection of a specified ray with the surface defined by a type 2 DSK plate model.

Source§

impl SpiceLock

Source

pub fn dskz02(&self, handle: i32, dladsc: DLADSC) -> (i32, i32)

Available on non-crate feature lock only.

Return plate model size parameters—vertex count and plate count—for a type 2 DSK segment.

Vertices first, plates second.

Source§

impl SpiceLock

Source

pub fn dskxsi( &self, pri: bool, target: &str, srflst: &[i32], et: f64, fixref: &str, vertex: [f64; 3], raydir: [f64; 3], ) -> ([f64; 3], i32, DLADSC, DSKDSC, [f64; 1], [i32; 1], bool)

Available on non-crate feature lock only.

Compute a ray-surface intercept using data provided by multiple loaded DSK segments, and return information about the source of the data defining the surface on which the intercept was found.

srflst is the list of surface IDs to consider; leave it empty to let CSPICE choose.

Source§

impl SpiceLock

Source

pub fn dskxv( &self, pri: bool, target: &str, srflst: &[i32], et: f64, fixref: &str, vtxarr: &[[f64; 3]], dirarr: &[[f64; 3]], ) -> (Vec<[f64; 3]>, Vec<bool>)

Available on non-crate feature lock only.

Compute ray-surface intercepts for a set of rays, using data provided by multiple loaded DSK segments.

Returns one intercept and one flag per ray.

Source§

impl SpiceLock

Source

pub fn dskopn(&self, fname: &str, ifname: &str, ncomch: i32) -> i32

Available on non-crate feature lock only.

Open a new DSK file for subsequent write operations.

Source§

impl SpiceLock

Source

pub fn dskcls(&self, handle: i32, optmiz: bool)

Available on non-crate feature lock only.

Close a DSK file, optionally segregating it for faster access.

Source§

impl SpiceLock

Source

pub fn dskgtl(&self, keywrd: i32) -> f64

Available on non-crate feature lock only.

Retrieve the value of a specified DSK tolerance or margin parameter.

The keyword is one of the DSK_KEY* constants of this module.

Source§

impl SpiceLock

Source

pub fn dskstl(&self, keywrd: i32, dpval: f64)

Available on non-crate feature lock only.

Set the value of a specified DSK tolerance or margin parameter.

Source§

impl SpiceLock

Source

pub fn dskmi2( &self, vrtces: &[[f64; 3]], plates: &[[i32; 3]], finscl: f64, corscl: i32, worksz: usize, voxpsz: usize, voxlsz: usize, makvtl: bool, spxisz: usize, ) -> (Vec<f64>, Vec<i32>)

Available on non-crate feature lock only.

Make a spatial index for a DSK type 2 segment, returning its double precision and integer components.

spxisz is the size to allocate for the integer component; see the C documentation for how to size it and the work array.

Source§

impl SpiceLock

Source

pub fn dskw02( &self, handle: i32, center: i32, surfce: i32, dclass: i32, frame: &str, corsys: i32, corpar: &[f64], mncor1: f64, mxcor1: f64, mncor2: f64, mxcor2: f64, mncor3: f64, mxcor3: f64, first: f64, last: f64, vrtces: &[[f64; 3]], plates: &[[i32; 3]], spaixd: &[f64], spaixi: &[i32], )

Available on non-crate feature lock only.

Write a type 2 segment to a DSK file.

§Panics

Panics if corpar holds fewer than DSK_NSYPAR values: CSPICE reads that many whatever the coordinate system.

Source§

impl SpiceLock

Source

pub fn furnsh(&self, name: &str)

Available on non-crate feature lock only.

Load one or more SPICE kernels into a program.

Source§

impl SpiceLock

Source

pub fn unload(&self, name: &str)

Available on non-crate feature lock only.

Unload a SPICE kernel.

Source§

impl SpiceLock

Source

pub fn kclear(&self)

Available on non-crate feature lock only.

Clear the KEEPER subsystem: unload all kernels, clear the kernel pool, and re-initialize the subsystem. Existing watches on kernel variables are retained.

Source§

impl SpiceLock

Source

pub fn ktotal(&self, kind: &str) -> i32

Available on non-crate feature lock only.

Return the current number of kernels that have been loaded via the KEEPER interface that are of a specified type.

Source§

impl SpiceLock

Source

pub fn ldpool(&self, filename: &str)

Available on non-crate feature lock only.

Load the variables contained in a text kernel into the kernel pool.

Source§

impl SpiceLock

Source

pub fn clpool(&self)

Available on non-crate feature lock only.

Remove all variables from the kernel pool.

Source§

impl SpiceLock

Source

pub fn expool(&self, name: &str) -> bool

Available on non-crate feature lock only.

Confirm the existence of a kernel variable in the kernel pool.

Source§

impl SpiceLock

Source

pub fn dtpool(&self, name: &str) -> (bool, i32, String)

Available on non-crate feature lock only.

Return the data about a kernel pool variable: whether it exists, how many components it has, and whether it is numeric ("N") or character ("C").

Source§

impl SpiceLock

Source

pub fn gdpool(&self, name: &str, start: usize, room: usize) -> Vec<f64>

Available on non-crate feature lock only.

Return the double precision values of a kernel pool variable.

The vector is empty when the variable is absent from the pool.

Source§

impl SpiceLock

Source

pub fn gipool(&self, name: &str, start: usize, room: usize) -> Vec<i32>

Available on non-crate feature lock only.

Return the integer values of a kernel pool variable.

The vector is empty when the variable is absent from the pool.

Source§

impl SpiceLock

Source

pub fn swpool<S: AsRef<str>>(&self, agent: &str, names: &[S])

Available on non-crate feature lock only.

Set a watch on a set of kernel pool variables for a named agent.

cvpool then reports whether any of them have been updated since the agent last asked.

Source§

impl SpiceLock

Source

pub fn pdpool(&self, name: &str, values: &[f64])

Available on non-crate feature lock only.

Insert double precision values into the kernel pool.

Source§

impl SpiceLock

Source

pub fn pipool(&self, name: &str, values: &[i32])

Available on non-crate feature lock only.

Insert integer values into the kernel pool.

Source§

impl SpiceLock

Source

pub fn pcpool<S: AsRef<str>>(&self, name: &str, values: &[S])

Available on non-crate feature lock only.

Insert character values into the kernel pool.

Source§

impl SpiceLock

Source

pub fn str2et(&self, targ: &str) -> f64

Available on non-crate feature lock only.

Convert a string representing an epoch to a double precision value representing the number of TDB seconds past the J2000 epoch corresponding to the input epoch.

Source§

impl SpiceLock

Source

pub fn utc2et(&self, utcstr: &str) -> f64

Available on non-crate feature lock only.

Convert an input time from UTC seconds past the J2000 epoch to ephemeris seconds past J2000.

Source§

impl SpiceLock

Source

pub fn deltet(&self, epoch: f64, eptype: &str) -> f64

Available on non-crate feature lock only.

Return the value of Delta ET (ET-UTC) for an input epoch.

Source§

impl SpiceLock

Source

pub fn unitim(&self, epoch: f64, insys: &str, outsys: &str) -> f64

Available on non-crate feature lock only.

Transform time from one uniform scale to another. The uniform time scales are TAI, GPS, TT, TDT, TDB, ET, JED, JDTDB, JDTDT.

Source§

impl SpiceLock

Source

pub fn sce2c(&self, sc: i32, et: f64) -> f64

Available on non-crate feature lock only.

Convert ephemeris seconds past J2000 to continuous encoded spacecraft clock ticks.

Source§

impl SpiceLock

Source

pub fn scencd(&self, sc: i32, sclkch: &str) -> f64

Available on non-crate feature lock only.

Encode a character representation of spacecraft clock time into a double precision number.

Source§

impl SpiceLock

Source

pub fn scs2e(&self, sc: i32, sclkch: &str) -> f64

Available on non-crate feature lock only.

Convert a spacecraft clock string to ephemeris seconds past J2000.

Source§

impl SpiceLock

Source

pub fn sct2e(&self, sc: i32, sclkdp: f64) -> f64

Available on non-crate feature lock only.

Convert encoded spacecraft clock ticks to ephemeris seconds past J2000.

Source§

impl SpiceLock

Source

pub fn lspcn(&self, body: &str, et: f64, abcorr: &str) -> f64

Available on non-crate feature lock only.

Compute L_s, the planetocentric longitude of the sun, as seen from a specified body.

Source§

impl SpiceLock

Source

pub fn pxform(&self, from: &str, to: &str, et: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Return the matrix that transforms position vectors from one specified frame to another at a specified epoch.

Source§

impl SpiceLock

Source

pub fn pxfrm2( &self, from: &str, to: &str, etfrom: f64, etto: f64, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Return the 3x3 matrix that transforms position vectors from one specified frame at a specified epoch to another specified frame at another specified epoch.

Source§

impl SpiceLock

Source

pub fn sxform(&self, from: &str, to: &str, et: f64) -> [[f64; 6]; 6]

Available on non-crate feature lock only.

Return the 6x6 state transformation matrix from one frame to another at a specified epoch.

Source§

impl SpiceLock

Source

pub fn namfrm(&self, frname: &str) -> i32

Available on non-crate feature lock only.

Look up the frame ID code associated with a frame name; zero when the name is not recognised.

Source§

impl SpiceLock

Source

pub fn georec(&self, lon: f64, lat: f64, alt: f64, re: f64, f: f64) -> [f64; 3]

Available on non-crate feature lock only.

Convert geodetic coordinates to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn recgeo(&self, rectan: [f64; 3], re: f64, f: f64) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert rectangular coordinates to geodetic coordinates, as longitude, latitude and altitude.

Source§

impl SpiceLock

Source

pub fn latrec(&self, radius: f64, longitude: f64, latitude: f64) -> [f64; 3]

Available on non-crate feature lock only.

Convert from latitudinal coordinates to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn reclat(&self, rectan: [f64; 3]) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from rectangular coordinates to latitudinal coordinates, as radius, longitude and latitude.

Source§

impl SpiceLock

Source

pub fn sphrec(&self, r: f64, colat: f64, lon: f64) -> [f64; 3]

Available on non-crate feature lock only.

Convert from spherical coordinates to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn recsph(&self, rectan: [f64; 3]) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from rectangular coordinates to spherical coordinates, as radius, colatitude and longitude.

Source§

impl SpiceLock

Source

pub fn cylrec(&self, r: f64, lon: f64, z: f64) -> [f64; 3]

Available on non-crate feature lock only.

Convert from cylindrical coordinates to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn reccyl(&self, rectan: [f64; 3]) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from rectangular coordinates to cylindrical coordinates, as radius, longitude and z.

Source§

impl SpiceLock

Source

pub fn pgrrec( &self, body: &str, lon: f64, lat: f64, alt: f64, re: f64, f: f64, ) -> [f64; 3]

Available on non-crate feature lock only.

Convert planetographic coordinates to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn recpgr( &self, body: &str, rectan: [f64; 3], re: f64, f: f64, ) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert rectangular coordinates to planetographic coordinates, as longitude, latitude and altitude.

Source§

impl SpiceLock

Source

pub fn radrec(&self, range: f64, ra: f64, dec: f64) -> [f64; 3]

Available on non-crate feature lock only.

Convert range, right ascension, and declination to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn recrad(&self, rectan: [f64; 3]) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert rectangular coordinates to range, right ascension, and declination.

Source§

impl SpiceLock

Source

pub fn srfrec(&self, body: i32, lon: f64, lat: f64) -> [f64; 3]

Available on non-crate feature lock only.

Convert planetocentric latitude and longitude of a surface point on a specified body to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn vpack(&self, x: f64, y: f64, z: f64) -> [f64; 3]

Available on non-crate feature lock only.

Pack three scalars into a vector.

Source§

impl SpiceLock

Source

pub fn vupack(&self, v: [f64; 3]) -> (f64, f64, f64)

Available on non-crate feature lock only.

Unpack a vector into three scalars.

Source§

impl SpiceLock

Source

pub fn vzero(&self, v: [f64; 3]) -> bool

Available on non-crate feature lock only.

Whether a vector is the zero vector.

Source§

impl SpiceLock

Source

pub fn vperp(&self, a: [f64; 3], b: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

The component of a perpendicular to b.

Source§

impl SpiceLock

Source

pub fn vproj(&self, a: [f64; 3], b: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

The projection of a onto b.

Source§

impl SpiceLock

Source

pub fn vrotv(&self, v: [f64; 3], axis: [f64; 3], theta: f64) -> [f64; 3]

Available on non-crate feature lock only.

Rotate a vector about an axis by a given angle.

Source§

impl SpiceLock

Source

pub fn vlcom(&self, a: f64, v1: [f64; 3], b: f64, v2: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

The linear combination a * v1 + b * v2.

Source§

impl SpiceLock

Source

pub fn vlcom3( &self, a: f64, v1: [f64; 3], b: f64, v2: [f64; 3], c: f64, v3: [f64; 3], ) -> [f64; 3]

Available on non-crate feature lock only.

The linear combination a * v1 + b * v2 + c * v3.

Source§

impl SpiceLock

Source

pub fn vtmv(&self, v1: [f64; 3], matrix: [[f64; 3]; 3], v2: [f64; 3]) -> f64

Available on non-crate feature lock only.

The quadratic form v1 * matrix * v2.

Source§

impl SpiceLock

Source

pub fn ident(&self) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

The 3x3 identity matrix.

Source§

impl SpiceLock

Source

pub fn mequ(&self, m1: [[f64; 3]; 3]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Copy a 3x3 matrix.

Source§

impl SpiceLock

Source

pub fn xpose6(&self, m1: [[f64; 6]; 6]) -> [[f64; 6]; 6]

Available on non-crate feature lock only.

Transpose a 6x6 matrix.

Source§

impl SpiceLock

Source

pub fn vaddg(&self, v1: &[f64], v2: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

Add two vectors of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vsubg(&self, v1: &[f64], v2: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

Subtract one vector of arbitrary dimension from another.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vhatg(&self, v1: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

The unit vector along a vector of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vequg(&self, vin: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

Copy a vector of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vminug(&self, vin: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

Negate a vector of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vprojg(&self, a: &[f64], b: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

The projection of one vector onto another, in arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vdotg(&self, v1: &[f64], v2: &[f64]) -> f64

Available on non-crate feature lock only.

The dot product of two vectors of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vnormg(&self, v1: &[f64]) -> f64

Available on non-crate feature lock only.

The magnitude of a vector of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vdistg(&self, v1: &[f64], v2: &[f64]) -> f64

Available on non-crate feature lock only.

The distance between two vectors of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vrelg(&self, v1: &[f64], v2: &[f64]) -> f64

Available on non-crate feature lock only.

The relative difference between two vectors of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vsepg(&self, v1: &[f64], v2: &[f64]) -> f64

Available on non-crate feature lock only.

The angular separation of two vectors of arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vzerog(&self, v: &[f64]) -> bool

Available on non-crate feature lock only.

Whether a vector of arbitrary dimension is the zero vector.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn vsclg(&self, s: f64, v1: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

Scale a vector of arbitrary dimension.

Source§

impl SpiceLock

Source

pub fn unormg(&self, v1: &[f64]) -> (Vec<f64>, f64)

Available on non-crate feature lock only.

Normalize a vector of arbitrary dimension, returning the unit vector and the original magnitude.

Source§

impl SpiceLock

Source

pub fn vlcomg(&self, a: f64, v1: &[f64], b: f64, v2: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

The linear combination a * v1 + b * v2, in arbitrary dimension.

§Panics

Panics if the vectors have different lengths.

Source§

impl SpiceLock

Source

pub fn moved(&self, arrfrm: &[f64]) -> Vec<f64>

Available on non-crate feature lock only.

Copy ndim elements of an array.

Source§

impl SpiceLock

Source

pub fn vtmvg( &self, v1: &[f64], matrix: &[f64], v2: &[f64], nrow: usize, ncol: usize, ) -> f64

Available on non-crate feature lock only.

The quadratic form v1 * matrix * v2, in arbitrary dimension.

matrix is nrow by ncol, stored row by row.

§Panics

Panics if the lengths do not match the dimensions.

Source§

impl SpiceLock

Source

pub fn mxmg( &self, m1: &[f64], m2: &[f64], nr1: usize, nc1r2: usize, nc2: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Multiply a nr1 by nc1r2 matrix with a nc1r2 by nc2 one, giving nr1 by nc2.

The matrices are stored row by row.

§Panics

Panics if the slice lengths do not match the dimensions.

Source§

impl SpiceLock

Source

pub fn mtxmg( &self, m1: &[f64], m2: &[f64], nc1: usize, nr1r2: usize, nc2: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Multiply the transpose of a nr1r2 by nc1 matrix with a nr1r2 by nc2 one, giving nc1 by nc2.

The matrices are stored row by row.

§Panics

Panics if the slice lengths do not match the dimensions.

Source§

impl SpiceLock

Source

pub fn mxmtg( &self, m1: &[f64], m2: &[f64], nr1: usize, nc1c2: usize, nr2: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Multiply a nr1 by nc1c2 matrix with the transpose of a nr2 by nc1c2 one, giving nr1 by nr2.

The matrices are stored row by row.

§Panics

Panics if the slice lengths do not match the dimensions.

Source§

impl SpiceLock

Source

pub fn mxvg( &self, m1: &[f64], v2: &[f64], nrow1: usize, nc1r2: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Multiply a matrix by a vector, in arbitrary dimension.

m1 is nrow1 by nc1r2, stored row by row.

Source§

impl SpiceLock

Source

pub fn mtxvg( &self, m1: &[f64], v2: &[f64], ncol1: usize, nr1r2: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Multiply the transpose of a matrix by a vector, in arbitrary dimension.

m1 is nr1r2 by ncol1, stored row by row.

Source§

impl SpiceLock

Source

pub fn xposeg(&self, matrix: &[f64], nrow: usize, ncol: usize) -> Vec<f64>

Available on non-crate feature lock only.

Transpose a matrix of arbitrary dimension, stored row by row.

Source§

impl SpiceLock

Source

pub fn mequg(&self, m1: &[f64], nr: usize, nc: usize) -> Vec<f64>

Available on non-crate feature lock only.

Copy a matrix of arbitrary dimension, stored row by row.

Source§

impl SpiceLock

Source

pub fn latcyl(&self, radius: f64, lon: f64, lat: f64) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from latitudinal to cylindrical coordinates.

Source§

impl SpiceLock

Source

pub fn cyllat(&self, r: f64, lonc: f64, z: f64) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from cylindrical to latitudinal coordinates.

Source§

impl SpiceLock

Source

pub fn latsph(&self, radius: f64, lon: f64, lat: f64) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from latitudinal to spherical coordinates.

Source§

impl SpiceLock

Source

pub fn sphlat(&self, r: f64, colat: f64, lons: f64) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from spherical to latitudinal coordinates.

Source§

impl SpiceLock

Source

pub fn cylsph(&self, r: f64, lonc: f64, z: f64) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from cylindrical to spherical coordinates.

Source§

impl SpiceLock

Source

pub fn sphcyl(&self, radius: f64, colat: f64, slon: f64) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from spherical to cylindrical coordinates.

Source§

impl SpiceLock

Source

pub fn azlrec( &self, range: f64, az: f64, el: f64, azccw: bool, elplsz: bool, ) -> [f64; 3]

Available on non-crate feature lock only.

Convert from range, azimuth and elevation to rectangular coordinates.

azccw says whether azimuth increases counterclockwise, elplsz whether elevation is positive toward +z.

Source§

impl SpiceLock

Source

pub fn recazl( &self, rectan: [f64; 3], azccw: bool, elplsz: bool, ) -> (f64, f64, f64)

Available on non-crate feature lock only.

Convert from rectangular coordinates to range, azimuth and elevation.

Source§

impl SpiceLock

Source

pub fn dlatdr(&self, x: f64, y: f64, z: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from rectangular to latitudinal coordinates.

Source§

impl SpiceLock

Source

pub fn drdlat(&self, r: f64, lon: f64, lat: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from latitudinal to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn dsphdr(&self, x: f64, y: f64, z: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from rectangular to spherical coordinates.

Source§

impl SpiceLock

Source

pub fn drdsph(&self, r: f64, colat: f64, lon: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from spherical to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn dcyldr(&self, x: f64, y: f64, z: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from rectangular to cylindrical coordinates.

Source§

impl SpiceLock

Source

pub fn drdcyl(&self, r: f64, lon: f64, z: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from cylindrical to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn dgeodr(&self, x: f64, y: f64, z: f64, re: f64, f: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from rectangular to geodetic coordinates.

Source§

impl SpiceLock

Source

pub fn drdgeo( &self, lon: f64, lat: f64, alt: f64, re: f64, f: f64, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from geodetic to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn dpgrdr( &self, body: &str, x: f64, y: f64, z: f64, re: f64, f: f64, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from rectangular to planetographic coordinates.

Source§

impl SpiceLock

Source

pub fn drdpgr( &self, body: &str, lon: f64, lat: f64, alt: f64, re: f64, f: f64, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from planetographic to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn dazldr( &self, x: f64, y: f64, z: f64, azccw: bool, elplsz: bool, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from rectangular to azimuth/elevation coordinates.

Source§

impl SpiceLock

Source

pub fn drdazl( &self, range: f64, az: f64, el: f64, azccw: bool, elplsz: bool, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Jacobian of the transformation from azimuth/elevation to rectangular coordinates.

Source§

impl SpiceLock

Source

pub fn xfmsta( &self, input_state: [f64; 6], input_coord_sys: &str, output_coord_sys: &str, body: &str, ) -> [f64; 6]

Available on non-crate feature lock only.

Transform a state between two coordinate systems.

Source§

impl SpiceLock

Source

pub fn vadd(&self, v1: [f64; 3], v2: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Add two 3-dimensional vectors.

Source§

impl SpiceLock

Source

pub fn vsub(&self, v1: [f64; 3], v2: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Subtract one 3-dimensional vector from another.

Source§

impl SpiceLock

Source

pub fn vscl(&self, s: f64, v1: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Multiply a 3-dimensional vector by a scalar.

Source§

impl SpiceLock

Source

pub fn vequ(&self, vin: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Copy a 3-dimensional vector.

Source§

impl SpiceLock

Source

pub fn vminus(&self, v1: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Negate a 3-dimensional vector.

Source§

impl SpiceLock

Source

pub fn vhat(&self, v1: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Find the unit vector along a 3-dimensional vector.

Source§

impl SpiceLock

Source

pub fn unorm(&self, v1: [f64; 3]) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Normalize a 3-dimensional vector, returning the unit vector and the original magnitude.

Source§

impl SpiceLock

Source

pub fn vnorm(&self, v1: [f64; 3]) -> f64

Available on non-crate feature lock only.

Compute the magnitude of a 3-dimensional vector.

Source§

impl SpiceLock

Source

pub fn vdist(&self, v1: [f64; 3], v2: [f64; 3]) -> f64

Available on non-crate feature lock only.

Compute the distance between two 3-dimensional vectors.

Source§

impl SpiceLock

Source

pub fn vrel(&self, v1: [f64; 3], v2: [f64; 3]) -> f64

Available on non-crate feature lock only.

Compute the relative difference between two 3-dimensional vectors.

Source§

impl SpiceLock

Source

pub fn vdot(&self, v1: [f64; 3], v2: [f64; 3]) -> f64

Available on non-crate feature lock only.

Compute the dot product of two double precision, 3-dimensional vectors.

Source§

impl SpiceLock

Source

pub fn vcrss(&self, v1: [f64; 3], v2: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Compute the cross product of two 3-dimensional vectors.

Source§

impl SpiceLock

Source

pub fn vsep(&self, v1: [f64; 3], v2: [f64; 3]) -> f64

Available on non-crate feature lock only.

Find the separation angle in radians between two double precision, 3-dimensional vectors. This angle is defined as zero if either vector is zero.

Source§

impl SpiceLock

Source

pub fn mxv(&self, m1: [[f64; 3]; 3], vin: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Multiply a 3x3 double precision matrix with a 3-dimensional double precision vector.

Source§

impl SpiceLock

Source

pub fn mtxv(&self, m1: [[f64; 3]; 3], vin: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Multiply the transpose of a 3x3 matrix with a 3-dimensional vector.

Source§

impl SpiceLock

Source

pub fn mxm(&self, m1: [[f64; 3]; 3], m2: [[f64; 3]; 3]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Multiply two 3x3 matrices.

Source§

impl SpiceLock

Source

pub fn mxmt(&self, m1: [[f64; 3]; 3], m2: [[f64; 3]; 3]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Multiply a 3x3 matrix by the transpose of another.

Source§

impl SpiceLock

Source

pub fn mtxm(&self, m1: [[f64; 3]; 3], m2: [[f64; 3]; 3]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Multiply the transpose of a 3x3 matrix by another 3x3 matrix.

Source§

impl SpiceLock

Source

pub fn xpose(&self, m1: [[f64; 3]; 3]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Transpose a 3x3 matrix.

Source§

impl SpiceLock

Source

pub fn invert(&self, m1: [[f64; 3]; 3]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Invert a 3x3 matrix.

Source§

impl SpiceLock

Source

pub fn det(&self, m1: [[f64; 3]; 3]) -> f64

Available on non-crate feature lock only.

Compute the determinant of a 3x3 matrix.

Source§

impl SpiceLock

Source

pub fn trace(&self, matrix: [[f64; 3]; 3]) -> f64

Available on non-crate feature lock only.

Compute the trace of a 3x3 matrix.

Source§

impl SpiceLock

Source

pub fn twovec( &self, axdef: [f64; 3], indexa: i32, plndef: [f64; 3], indexp: i32, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Find the transformation to the right-handed frame having a given vector as a specified axis and a second given vector lying in a specified coordinate plane.

Source§

impl SpiceLock

Source

pub fn rotate(&self, angle: f64, iaxis: i32) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Calculate the 3x3 rotation matrix generated by a rotation of a specified angle about a specified axis. This rotation is thought of as rotating the coordinate system.

Source§

impl SpiceLock

Source

pub fn rotmat(&self, m1: [[f64; 3]; 3], angle: f64, iaxis: i32) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Apply a rotation of angle radians about axis iaxis to a matrix.

Source§

impl SpiceLock

Source

pub fn m2q(&self, r: [[f64; 3]; 3]) -> [f64; 4]

Available on non-crate feature lock only.

Find the unit quaternion corresponding to a specified rotation matrix.

Source§

impl SpiceLock

Source

pub fn q2m(&self, q: [f64; 4]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Find the rotation matrix corresponding to a specified unit quaternion.

Source§

impl SpiceLock

Source

pub fn qxq(&self, q1: [f64; 4], q2: [f64; 4]) -> [f64; 4]

Available on non-crate feature lock only.

Multiply two quaternions.

Source§

impl SpiceLock

Source

pub fn axisar(&self, axis: [f64; 3], angle: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Construct a rotation matrix that rotates vectors by a specified angle about a specified axis.

Source§

impl SpiceLock

Source

pub fn raxisa(&self, matrix: [[f64; 3]; 3]) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Compute the axis of the rotation a matrix represents, and the angle about that axis.

Source§

impl SpiceLock

Source

pub fn eul2m( &self, angle3: f64, angle2: f64, angle1: f64, axis3: i32, axis2: i32, axis1: i32, ) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Construct a rotation matrix from a set of Euler angles.

Source§

impl SpiceLock

Source

pub fn m2eul( &self, r: [[f64; 3]; 3], axis3: i32, axis2: i32, axis1: i32, ) -> (f64, f64, f64)

Available on non-crate feature lock only.

Factor a rotation matrix as a product of three rotations about specified coordinate axes, returning the three angles in the order angle3, angle2, angle1.

Source§

impl SpiceLock

Source

pub fn eul2xf( &self, eulang: [f64; 6], axisa: i32, axisb: i32, axisc: i32, ) -> [[f64; 6]; 6]

Available on non-crate feature lock only.

Construct a state transformation matrix from a set of Euler angles and their derivatives.

Source§

impl SpiceLock

Source

pub fn xf2eul( &self, xform: [[f64; 6]; 6], axisa: i32, axisb: i32, axisc: i32, ) -> ([f64; 6], bool)

Available on non-crate feature lock only.

Factor a state transformation matrix into Euler angles and their derivatives.

The boolean says whether the factorisation is unique.

Source§

impl SpiceLock

Source

pub fn xf2rav(&self, xform: [[f64; 6]; 6]) -> ([[f64; 3]; 3], [f64; 3])

Available on non-crate feature lock only.

Split a state transformation matrix into a rotation and the angular velocity of that rotation.

Source§

impl SpiceLock

Source

pub fn rav2xf(&self, rot: [[f64; 3]; 3], av: [f64; 3]) -> [[f64; 6]; 6]

Available on non-crate feature lock only.

Build a state transformation matrix from a rotation and an angular velocity.

Source§

impl SpiceLock

Source

pub fn invort(&self, m: [[f64; 3]; 3]) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Compute the inverse of a 3x3 matrix whose rows are orthogonal but not necessarily unit length.

Source§

impl SpiceLock

Source

pub fn isrot(&self, m: [[f64; 3]; 3], ntol: f64, dtol: f64) -> bool

Available on non-crate feature lock only.

Decide whether a matrix is a rotation matrix, to within the given norm and determinant tolerances.

Source§

impl SpiceLock

Source

pub fn spkpos( &self, targ: &str, et: f64, frame: &str, abcorr: &str, obs: &str, ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Return the position of a target body relative to an observing body, optionally corrected for light time (planetary aberration) and stellar aberration.

Source§

impl SpiceLock

Source

pub fn spkezr( &self, targ: &str, et: f64, frame: &str, abcorr: &str, obs: &str, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Return the state (position and velocity) of a target body relative to an observing body, optionally corrected for light time (planetary aberration) and stellar aberration.

Source§

impl SpiceLock

Source

pub fn spkez( &self, targ: i32, et: f64, frame: &str, abcorr: &str, obs: i32, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Return the state of a target body relative to an observing body, both given by their ID codes.

Source§

impl SpiceLock

Source

pub fn spkezp( &self, targ: i32, et: f64, frame: &str, abcorr: &str, obs: i32, ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Return the position of a target body relative to an observing body, both given by their ID codes.

Source§

impl SpiceLock

Source

pub fn spkgeo( &self, targ: i32, et: f64, frame: &str, obs: i32, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Compute the geometric state of a target body relative to an observing body.

Source§

impl SpiceLock

Source

pub fn spkcpo( &self, target: &str, et: f64, outref: &str, refloc: &str, abcorr: &str, obssta: [f64; 6], obsctr: &str, obsref: &str, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Return the state of a specified target relative to an observer that is described by a constant position in a specified reference frame.

Source§

impl SpiceLock

Source

pub fn spkcpt( &self, trgpos: [f64; 3], trgctr: &str, trgref: &str, et: f64, outref: &str, refloc: &str, abcorr: &str, obsrvr: &str, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Return the state of a target that is described by a constant position in a specified reference frame, relative to a specified observer.

Source§

impl SpiceLock

Source

pub fn spkcvo( &self, target: &str, et: f64, outref: &str, refloc: &str, abcorr: &str, obssta: [f64; 6], obsepc: f64, obsctr: &str, obsref: &str, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Return the state of a specified target relative to an observer that is described by a constant velocity in a specified reference frame.

Source§

impl SpiceLock

Source

pub fn spkcvt( &self, trgsta: [f64; 6], trgepc: f64, trgctr: &str, trgref: &str, et: f64, outref: &str, refloc: &str, abcorr: &str, obsrvr: &str, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Return the state of a target that is described by a constant velocity in a specified reference frame, relative to a specified observer.

Source§

impl SpiceLock

Source

pub fn spkopn(&self, fname: &str, ifname: &str, ncomch: i32) -> i32

Available on non-crate feature lock only.

Create a new SPK file, returning the handle of the opened file.

Source§

impl SpiceLock

Source

pub fn spkopa(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Open an existing SPK file for subsequent write, returning its handle.

Source§

impl SpiceLock

Source

pub fn spkcls(&self, handle: i32)

Available on non-crate feature lock only.

Close a SPK file opened for read or write.

Source§

impl SpiceLock

Source

pub fn spkw09( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, degree: i32, n: i32, states: &[[f64; 6]], epochs: &[f64], )

Available on non-crate feature lock only.

Write a type 9 segment to an SPK file.

§Panics

Panics if n is negative, or larger than states or epochs: CSPICE reads exactly n records from each and has no way of knowing how long they are.

Source§

impl SpiceLock

Source

pub fn sincpt( &self, method: &str, target: &str, et: f64, fixref: &str, abcorr: &str, obsrvr: &str, dref: &str, dvec: [f64; 3], ) -> ([f64; 3], f64, [f64; 3], bool)

Available on non-crate feature lock only.

Compute, for a given observer and a ray emanating from the observer, the surface intercept of the ray on a target body at a specified epoch, optionally corrected for light time and stellar aberration.

The surface of the target body may be represented by a triaxial ellipsoid or by topographic data provided by DSK files.

This routine supersedes srfxpt.

Source§

impl SpiceLock

Source

pub fn subpnt( &self, method: &str, target: &str, et: f64, fixref: &str, abcorr: &str, obsrvr: &str, ) -> ([f64; 3], f64, [f64; 3])

Available on non-crate feature lock only.

Compute the rectangular coordinates of the sub-observer point on a target body at a specified epoch, optionally corrected for light time and stellar aberration.

Source§

impl SpiceLock

Source

pub fn subslr( &self, method: &str, target: &str, et: f64, fixref: &str, abcorr: &str, obsrvr: &str, ) -> ([f64; 3], f64, [f64; 3])

Available on non-crate feature lock only.

Compute the rectangular coordinates of the sub-solar point on a target body at a specified epoch, optionally corrected for light time and stellar aberration.

Source§

impl SpiceLock

Source

pub fn ilumin( &self, method: &str, target: &str, et: f64, fixref: &str, abcorr: &str, obsrvr: &str, spoint: [f64; 3], ) -> (f64, [f64; 3], f64, f64, f64)

Available on non-crate feature lock only.

Find the illumination angles—phase, solar incidence, and emission—at a specified surface point of a target body.

Source§

impl SpiceLock

Source

pub fn illumf( &self, method: &str, target: &str, ilusrc: &str, et: f64, fixref: &str, abcorr: &str, obsrvr: &str, spoint: [f64; 3], ) -> (f64, [f64; 3], f64, f64, f64, bool, bool)

Available on non-crate feature lock only.

Compute the illumination angles—phase, incidence, and emission—at a specified point on a target body. Return logical flags indicating whether the surface point is visible from the observer’s position and whether the surface point is illuminated.

The target body’s surface is represented using topographic data provided by DSK files, or by a reference ellipsoid.

The illumination source is a specified ephemeris object.

Source§

impl SpiceLock

Source

pub fn surfpt( &self, positn: [f64; 3], u: [f64; 3], a: f64, b: f64, c: f64, ) -> ([f64; 3], bool)

Available on non-crate feature lock only.

Determine the intersection of a line-of-sight vector with the surface of an ellipsoid.

Source§

impl SpiceLock

Source

pub fn nearpt( &self, positn: [f64; 3], a: f64, b: f64, c: f64, ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Locate the point on the surface of an ellipsoid that is nearest to a specified position, and the altitude of that position above the ellipsoid.

Source§

impl SpiceLock

Source

pub fn occult( &self, targ1: &str, shape1: &str, frame1: &str, targ2: &str, shape2: &str, frame2: &str, abcorr: &str, obsrvr: &str, et: f64, ) -> i32

Available on non-crate feature lock only.

Determine the occultation condition (not occulted, partially, etc.) of one target relative to another target as seen by an observer at a given time, with targets modeled as points, ellipsoids, or digital shapes (DSK).

Source§

impl SpiceLock

Source

pub fn phaseq( &self, et: f64, target: &str, illumn: &str, obsrvr: &str, abcorr: &str, ) -> f64

Available on non-crate feature lock only.

Compute the apparent phase angle for a target, observer, illuminator set of ephemeris objects.

Source§

impl SpiceLock

Source

pub fn srfnrm( &self, method: &str, target: &str, et: f64, fixref: &str, srfpts: &[[f64; 3]], ) -> Vec<[f64; 3]>

Available on non-crate feature lock only.

Map an array of surface points on a target body to the corresponding unit length outward surface normal vectors.

Source§

impl SpiceLock

Source

pub fn latsrf( &self, method: &str, target: &str, et: f64, fixref: &str, lonlat: &[[f64; 2]], ) -> Vec<[f64; 3]>

Available on non-crate feature lock only.

Map an array of planetocentric longitude/latitude pairs to the corresponding surface points on a target body.

Source§

impl SpiceLock

Source

pub fn edterm( &self, trmtyp: &str, source: &str, target: &str, et: f64, fixfrm: &str, abcorr: &str, obsrvr: &str, npts: usize, ) -> (f64, [f64; 3], Vec<[f64; 3]>)

Available on non-crate feature lock only.

Compute a set of points on the umbral or penumbral terminator of a specified target body, where the target shape is modelled as an ellipsoid.

Source§

impl SpiceLock

Source

pub fn limbpt( &self, method: &str, target: &str, et: f64, fixref: &str, abcorr: &str, corloc: &str, obsrvr: &str, refvec: [f64; 3], rolstp: f64, ncuts: usize, schstp: f64, soltol: f64, maxn: usize, ) -> (Vec<i32>, Vec<[f64; 3]>, Vec<f64>, Vec<[f64; 3]>)

Available on non-crate feature lock only.

Find limb points on a target body, on cuts of a half-plane pencil rotating about the observer-target vector.

Returns, per cut, the number of points found, then the points themselves, the epoch associated with each, and the tangent vector from the observer to each.

Source§

impl SpiceLock

Source

pub fn termpt( &self, method: &str, ilusrc: &str, target: &str, et: f64, fixref: &str, abcorr: &str, corloc: &str, obsrvr: &str, refvec: [f64; 3], rolstp: f64, ncuts: usize, schstp: f64, soltol: f64, maxn: usize, ) -> (Vec<i32>, Vec<[f64; 3]>, Vec<f64>, Vec<[f64; 3]>)

Available on non-crate feature lock only.

Find terminator points on a target body, on cuts of a half-plane pencil rotating about the observer-target vector.

Shaped like limbpt, with the illumination source named separately.

Source§

impl SpiceLock

Source

pub fn nvc2pl(&self, normal: [f64; 3], constant: f64) -> PLANE

Available on non-crate feature lock only.

Build a plane from a normal vector and a constant.

Source§

impl SpiceLock

Source

pub fn nvp2pl(&self, normal: [f64; 3], point: [f64; 3]) -> PLANE

Available on non-crate feature lock only.

Build a plane from a normal vector and a point.

Source§

impl SpiceLock

Source

pub fn psv2pl(&self, point: [f64; 3], span1: [f64; 3], span2: [f64; 3]) -> PLANE

Available on non-crate feature lock only.

Build a plane from a point and two spanning vectors.

Source§

impl SpiceLock

Source

pub fn pl2nvc(&self, plane: PLANE) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Take a plane apart into a unit normal vector and a constant.

Source§

impl SpiceLock

Source

pub fn pl2nvp(&self, plane: PLANE) -> ([f64; 3], [f64; 3])

Available on non-crate feature lock only.

Take a plane apart into a unit normal vector and a point.

Source§

impl SpiceLock

Source

pub fn pl2psv(&self, plane: PLANE) -> ([f64; 3], [f64; 3], [f64; 3])

Available on non-crate feature lock only.

Take a plane apart into a point and two spanning vectors.

Source§

impl SpiceLock

Source

pub fn cgv2el( &self, center: [f64; 3], vec1: [f64; 3], vec2: [f64; 3], ) -> ELLIPSE

Available on non-crate feature lock only.

Build an ellipse from a centre and two generating vectors.

Source§

impl SpiceLock

Source

pub fn el2cgv(&self, ellipse: ELLIPSE) -> ([f64; 3], [f64; 3], [f64; 3])

Available on non-crate feature lock only.

Take an ellipse apart into its centre and its semi-major and semi-minor axes.

Source§

impl SpiceLock

Source

pub fn saelgv(&self, vec1: [f64; 3], vec2: [f64; 3]) -> ([f64; 3], [f64; 3])

Available on non-crate feature lock only.

Find the semi-axes of the ellipse two vectors generate.

Source§

impl SpiceLock

Source

pub fn inedpl(&self, a: f64, b: f64, c: f64, plane: PLANE) -> (ELLIPSE, bool)

Available on non-crate feature lock only.

Find the intersection of an ellipsoid and a plane, when there is one.

Source§

impl SpiceLock

Source

pub fn inelpl(&self, ellips: ELLIPSE, plane: PLANE) -> (i32, [f64; 3], [f64; 3])

Available on non-crate feature lock only.

Find the intersection of an ellipse and a plane: how many points there are, and the points.

Source§

impl SpiceLock

Source

pub fn inrypl( &self, vertex: [f64; 3], dir: [f64; 3], plane: PLANE, ) -> (i32, [f64; 3])

Available on non-crate feature lock only.

Find the intersection of a ray and a plane: how many points there are, and the point.

Source§

impl SpiceLock

Source

pub fn edlimb(&self, a: f64, b: f64, c: f64, viewpt: [f64; 3]) -> ELLIPSE

Available on non-crate feature lock only.

Find the limb of an ellipsoid as seen from a viewing point.

Source§

impl SpiceLock

Source

pub fn pjelpl(&self, elin: ELLIPSE, plane: PLANE) -> ELLIPSE

Available on non-crate feature lock only.

Project an ellipse orthogonally onto a plane.

Source§

impl SpiceLock

Source

pub fn vprjp(&self, vin: [f64; 3], plane: PLANE) -> [f64; 3]

Available on non-crate feature lock only.

Project a vector orthogonally onto a plane.

Source§

impl SpiceLock

Source

pub fn vprjpi( &self, vin: [f64; 3], projpl: PLANE, invpl: PLANE, ) -> ([f64; 3], bool)

Available on non-crate feature lock only.

Invert an orthogonal projection: find the vector of invpl that projects onto vin.

Source§

impl SpiceLock

Source

pub fn npelpt(&self, point: [f64; 3], ellips: ELLIPSE) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Find the point of an ellipse nearest a specified point, and the distance between them.

Source§

impl SpiceLock

Source

pub fn npedln( &self, a: f64, b: f64, c: f64, linept: [f64; 3], linedr: [f64; 3], ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Find the point of an ellipsoid nearest a line, and the distance between them.

Source§

impl SpiceLock

Source

pub fn nplnpt( &self, linpt: [f64; 3], lindir: [f64; 3], point: [f64; 3], ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Find the point of a line nearest a specified point, and the distance between them.

Source§

impl SpiceLock

Source

pub fn surfnm(&self, a: f64, b: f64, c: f64, point: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

The outward normal of an ellipsoid at a point on its surface.

Source§

impl SpiceLock

Source

pub fn surfpv( &self, stvrtx: [f64; 6], stdir: [f64; 6], a: f64, b: f64, c: f64, ) -> ([f64; 6], bool)

Available on non-crate feature lock only.

Find the state of the intersection of a ray with an ellipsoid, given the state of the ray.

Source§

impl SpiceLock

Source

pub fn srfs2c(&self, srfstr: &str, bodstr: &str) -> (i32, bool)

Available on non-crate feature lock only.

Translate a surface string, together with a body string, to the corresponding surface ID code.

Source§

impl SpiceLock

Source

pub fn srfscc(&self, surfce: &str, bodyid: i32) -> (i32, bool)

Available on non-crate feature lock only.

Translate a surface string, together with a body ID code, to the corresponding surface ID code.

Source§

impl SpiceLock

Source

pub fn conics(&self, elts: [f64; 8], et: f64) -> [f64; 6]

Available on non-crate feature lock only.

Determine the state of a body from a set of elliptic, hyperbolic, or parabolic orbital elements.

Source§

impl SpiceLock

Source

pub fn oscelt(&self, state: [f64; 6], et: f64, mu: f64) -> [f64; 8]

Available on non-crate feature lock only.

Determine the set of osculating conic orbital elements that corresponds to the state of a body at some epoch.

Source§

impl SpiceLock

Source

pub fn oscltx(&self, state: [f64; 6], et: f64, mu: f64) -> [f64; 20]

Available on non-crate feature lock only.

Like oscelt, with the true anomaly, semi-major axis and orbital period appended.

Source§

impl SpiceLock

Source

pub fn prop2b(&self, gm: f64, pvinit: [f64; 6], dt: f64) -> [f64; 6]

Available on non-crate feature lock only.

Propagate a two body solution from one epoch to another.

Source§

impl SpiceLock

Source

pub fn wninsd(&self, left: f64, right: f64, window: &mut Cell<f64>)

Available on non-crate feature lock only.

Insert the interval [left, right] into a double precision window.

Source§

impl SpiceLock

Source

pub fn wnfetd(&self, window: &mut Cell<f64>, n: i32) -> (f64, f64)

Available on non-crate feature lock only.

Fetch the endpoints of the nth interval of a double precision window, counting from zero.

Source§

impl SpiceLock

Source

pub fn wncard(&self, window: &mut Cell<f64>) -> i32

Available on non-crate feature lock only.

Return the number of intervals in a double precision window.

Source§

impl SpiceLock

Source

pub fn wncomd( &self, left: f64, right: f64, window: &mut Cell<f64>, result: &mut Cell<f64>, )

Available on non-crate feature lock only.

Place the complement of a window, relative to the interval [left, right], into result.

Source§

impl SpiceLock

Source

pub fn wncond(&self, left: f64, right: f64, window: &mut Cell<f64>)

Available on non-crate feature lock only.

Contract each interval of a window by left at its start and right at its end.

Source§

impl SpiceLock

Source

pub fn wnexpd(&self, left: f64, right: f64, window: &mut Cell<f64>)

Available on non-crate feature lock only.

Expand each interval of a window by left at its start and right at its end.

Source§

impl SpiceLock

Source

pub fn wndifd(&self, a: &mut Cell<f64>, b: &mut Cell<f64>, c: &mut Cell<f64>)

Available on non-crate feature lock only.

Place the difference of two windows into c.

Source§

impl SpiceLock

Source

pub fn wnintd(&self, a: &mut Cell<f64>, b: &mut Cell<f64>, c: &mut Cell<f64>)

Available on non-crate feature lock only.

Place the intersection of two windows into c.

Source§

impl SpiceLock

Source

pub fn wnunid(&self, a: &mut Cell<f64>, b: &mut Cell<f64>, c: &mut Cell<f64>)

Available on non-crate feature lock only.

Place the union of two windows into c.

Source§

impl SpiceLock

Source

pub fn wnelmd(&self, point: f64, window: &mut Cell<f64>) -> bool

Available on non-crate feature lock only.

Whether a point belongs to a window.

Source§

impl SpiceLock

Source

pub fn wnincd(&self, left: f64, right: f64, window: &mut Cell<f64>) -> bool

Available on non-crate feature lock only.

Whether an interval is included in a window.

Source§

impl SpiceLock

Source

pub fn wnreld(&self, a: &mut Cell<f64>, op: &str, b: &mut Cell<f64>) -> bool

Available on non-crate feature lock only.

Compare two windows; op is one of "=", "<>", "<=", "<", ">=" or ">".

Source§

impl SpiceLock

Source

pub fn wnextd(&self, side: char, window: &mut Cell<f64>)

Available on non-crate feature lock only.

Replace each interval of a window by one of its endpoints; side is 'L' or 'R'.

Source§

impl SpiceLock

Source

pub fn wnfild(&self, sml: f64, window: &mut Cell<f64>)

Available on non-crate feature lock only.

Fill the gaps shorter than sml between adjacent intervals of a window.

Source§

impl SpiceLock

Source

pub fn wnfltd(&self, sml: f64, window: &mut Cell<f64>)

Available on non-crate feature lock only.

Drop the intervals of a window shorter than sml.

Source§

impl SpiceLock

Source

pub fn wnsumd(&self, window: &mut Cell<f64>) -> (f64, f64, f64, i32, i32)

Available on non-crate feature lock only.

Summarize a window: total measure, average and standard deviation of the interval lengths, and the indices of the shortest and longest intervals.

The two indices point at the left endpoints in the flat endpoint array, so they run 0, 2, 4, ... rather than 0, 1, 2, ...; the nth interval is reported as 2 * n. Ties go to the first interval of that length.

Source§

impl SpiceLock

Source

pub fn wnvald(&self, size: i32, n: i32, window: &mut Cell<f64>)

Available on non-crate feature lock only.

Validate a double precision window built by writing into a cell directly.

Source§

impl SpiceLock

Source

pub fn union<T: CellItem>( &self, a: &mut Cell<T>, b: &mut Cell<T>, c: &mut Cell<T>, )

Available on non-crate feature lock only.

Place the union of two sets into c.

Source§

impl SpiceLock

Source

pub fn inter<T: CellItem>( &self, a: &mut Cell<T>, b: &mut Cell<T>, c: &mut Cell<T>, )

Available on non-crate feature lock only.

Place the intersection of two sets into c.

Source§

impl SpiceLock

Source

pub fn diff<T: CellItem>( &self, a: &mut Cell<T>, b: &mut Cell<T>, c: &mut Cell<T>, )

Available on non-crate feature lock only.

Place the difference of two sets into c.

Source§

impl SpiceLock

Source

pub fn copy<T: CellItem>(&self, a: &mut Cell<T>, b: &mut Cell<T>)

Available on non-crate feature lock only.

Copy the contents of one cell into another.

Source§

impl SpiceLock

Source

pub fn card<T: CellItem>(&self, cell: &mut Cell<T>) -> i32

Available on non-crate feature lock only.

The cardinality of a cell; Cell::len reports the same number without a CSPICE call.

Source§

impl SpiceLock

Source

pub fn scard<T: CellItem>(&self, card: i32, cell: &mut Cell<T>)

Available on non-crate feature lock only.

Set the cardinality of a cell.

Source§

impl SpiceLock

Source

pub fn size<T: CellItem>(&self, cell: &mut Cell<T>) -> i32

Available on non-crate feature lock only.

The size of a cell; Cell::capacity reports the same number without a CSPICE call.

Source§

impl SpiceLock

Source

pub fn ssize<T: CellItem>(&self, size: i32, cell: &mut Cell<T>)

Available on non-crate feature lock only.

Set the size of a cell.

Source§

impl SpiceLock

Source

pub fn valid<T: CellItem>(&self, size: i32, n: i32, a: &mut Cell<T>)

Available on non-crate feature lock only.

Turn a cell holding n items into a set, by sorting it and removing the duplicates.

Source§

impl SpiceLock

Source

pub fn elemi(&self, item: i32, set: &mut Cell<i32>) -> bool

Available on non-crate feature lock only.

Whether an integer belongs to a set.

Source§

impl SpiceLock

Source

pub fn elemd(&self, item: f64, set: &mut Cell<f64>) -> bool

Available on non-crate feature lock only.

Whether a double precision number belongs to a set.

Source§

impl SpiceLock

Source

pub fn elemc(&self, item: &str, set: &mut Cell<String>) -> bool

Available on non-crate feature lock only.

Whether a string belongs to a set.

Source§

impl SpiceLock

Source

pub fn insrti(&self, item: i32, set: &mut Cell<i32>)

Available on non-crate feature lock only.

Insert an integer into a set.

Source§

impl SpiceLock

Source

pub fn insrtd(&self, item: f64, set: &mut Cell<f64>)

Available on non-crate feature lock only.

Insert a double precision number into a set.

Source§

impl SpiceLock

Source

pub fn insrtc(&self, item: &str, set: &mut Cell<String>)

Available on non-crate feature lock only.

Insert a string into a set.

Source§

impl SpiceLock

Source

pub fn removi(&self, item: i32, set: &mut Cell<i32>)

Available on non-crate feature lock only.

Remove an integer from a set.

Source§

impl SpiceLock

Source

pub fn removd(&self, item: f64, set: &mut Cell<f64>)

Available on non-crate feature lock only.

Remove a double precision number from a set.

Source§

impl SpiceLock

Source

pub fn removc(&self, item: &str, set: &mut Cell<String>)

Available on non-crate feature lock only.

Remove a string from a set.

Source§

impl SpiceLock

Source

pub fn appndi(&self, item: i32, cell: &mut Cell<i32>)

Available on non-crate feature lock only.

Append an integer to a cell; Cell::push is the idiomatic form.

Source§

impl SpiceLock

Source

pub fn appndd(&self, item: f64, cell: &mut Cell<f64>)

Available on non-crate feature lock only.

Append a double precision number to a cell; Cell::push is the idiomatic form.

Source§

impl SpiceLock

Source

pub fn appndc(&self, item: &str, cell: &mut Cell<String>)

Available on non-crate feature lock only.

Append a string to a cell; Cell::push is the idiomatic form.

Source§

impl SpiceLock

Source

pub fn getelm<S: AsRef<str>>( &self, frstyr: i32, lines: &[S], ) -> (f64, [f64; 10])

Available on non-crate feature lock only.

Parse the two lines of a NORAD two-line element set into the epoch and the element set CSPICE uses.

frstyr is the first year of the century the two digit years in the set belong to; 1957, the start of the space age, is the usual choice.

§Panics

Panics if lines does not hold exactly two lines.

Source§

impl SpiceLock

Source

pub fn evsgp4(&self, et: f64, geophs: [f64; 8], elems: [f64; 10]) -> [f64; 6]

Available on non-crate feature lock only.

Evaluate a two-line element set with the SGP4 propagator.

geophs holds the eight geophysical constants the propagator needs, in the order J2, J3, J4, KE, QO, SO, ER, AE; they normally come from a geophysical constants kernel.

Source§

impl SpiceLock

Source

pub fn bsrchd(&self, value: f64, array: &[f64]) -> i32

Available on non-crate feature lock only.

Binary search a sorted array of doubles.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn bsrchi(&self, value: i32, array: &[i32]) -> i32

Available on non-crate feature lock only.

Binary search a sorted array of integers.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn lstled(&self, value: f64, array: &[f64]) -> i32

Available on non-crate feature lock only.

Last index of the doubles less than or equal to a value.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn lstlei(&self, value: i32, array: &[i32]) -> i32

Available on non-crate feature lock only.

Last index of the integers less than or equal to a value.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn lstltd(&self, value: f64, array: &[f64]) -> i32

Available on non-crate feature lock only.

Last index of the doubles strictly less than a value.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn lstlti(&self, value: i32, array: &[i32]) -> i32

Available on non-crate feature lock only.

Last index of the integers strictly less than a value.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn shelld(&self, array: &mut [f64])

Available on non-crate feature lock only.

Sort an array of doubles in place.

Source§

impl SpiceLock

Source

pub fn shelli(&self, array: &mut [i32])

Available on non-crate feature lock only.

Sort an array of integers in place.

Source§

impl SpiceLock

Source

pub fn orderd(&self, array: &[f64]) -> Vec<i32>

Available on non-crate feature lock only.

The order vector that sorts an array of doubles.

Source§

impl SpiceLock

Source

pub fn orderi(&self, array: &[i32]) -> Vec<i32>

Available on non-crate feature lock only.

The order vector that sorts an array of integers.

Source§

impl SpiceLock

Source

pub fn reordd(&self, iorder: &[i32], array: &mut [f64])

Available on non-crate feature lock only.

Reorder an array of doubles in place.

§Panics

Panics if the order vector is not as long as the array.

Source§

impl SpiceLock

Source

pub fn reordi(&self, iorder: &[i32], array: &mut [i32])

Available on non-crate feature lock only.

Reorder an array of integers in place.

§Panics

Panics if the order vector is not as long as the array.

Source§

impl SpiceLock

Source

pub fn reordl(&self, iorder: &[i32], array: &mut [SpiceBoolean])

Available on non-crate feature lock only.

Reorder an array of logical flags in place.

§Panics

Panics if the order vector is not as long as the array.

Source§

impl SpiceLock

Source

pub fn brcktd(&self, number: f64, end1: f64, end2: f64) -> f64

Available on non-crate feature lock only.

Bracket a double precision number between two endpoints.

Source§

impl SpiceLock

Source

pub fn brckti(&self, number: i32, end1: i32, end2: i32) -> i32

Available on non-crate feature lock only.

Bracket an integer between two endpoints.

Source§

impl SpiceLock

Source

pub fn sumad(&self, array: &[f64]) -> f64

Available on non-crate feature lock only.

The sum of an array of doubles.

Source§

impl SpiceLock

Source

pub fn sumai(&self, array: &[i32]) -> i32

Available on non-crate feature lock only.

The sum of an array of integers.

Source§

impl SpiceLock

Source

pub fn isordv(&self, array: &[i32]) -> bool

Available on non-crate feature lock only.

Whether an array is an order vector: a permutation of 0 .. n.

Source§

impl SpiceLock

Source

pub fn bsrchc<S: AsRef<str>>(&self, value: &str, array: &[S]) -> i32

Available on non-crate feature lock only.

Binary search a sorted array of strings.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn esrchc<S: AsRef<str>>(&self, value: &str, array: &[S]) -> i32

Available on non-crate feature lock only.

Search an array of strings, ignoring case and trailing blanks.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn lstlec<S: AsRef<str>>(&self, value: &str, array: &[S]) -> i32

Available on non-crate feature lock only.

Last index of the strings less than or equal to a value.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn lstltc<S: AsRef<str>>(&self, value: &str, array: &[S]) -> i32

Available on non-crate feature lock only.

Last index of the strings strictly less than a value.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn bschoi(&self, value: i32, array: &[i32], order: &[i32]) -> i32

Available on non-crate feature lock only.

Binary search an array of integers ordered by an order vector.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn bschoc<S: AsRef<str>>( &self, value: &str, array: &[S], order: &[i32], ) -> i32

Available on non-crate feature lock only.

Binary search an array of strings ordered by an order vector.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn orderc<S: AsRef<str>>(&self, array: &[S]) -> Vec<i32>

Available on non-crate feature lock only.

The order vector that sorts an array of strings.

Source§

impl SpiceLock

Source

pub fn reordc<S: AsRef<str>>(&self, iorder: &[i32], array: &[S]) -> Vec<String>

Available on non-crate feature lock only.

Apply an order vector to an array of strings.

§Panics

Panics if the order vector is not as long as the array.

Source§

impl SpiceLock

Source

pub fn shellc<S: AsRef<str>>(&self, array: &[S]) -> Vec<String>

Available on non-crate feature lock only.

Sort an array of strings.

Source§

impl SpiceLock

Source

pub fn eqstr(&self, a: &str, b: &str) -> bool

Available on non-crate feature lock only.

Whether two strings are equivalent, ignoring case and leading and trailing blanks.

Source§

impl SpiceLock

Source

pub fn matchi(&self, string: &str, templ: &str, wstr: char, wchr: char) -> bool

Available on non-crate feature lock only.

Match a string against a template, ignoring case; wstr matches any run of characters and wchr any single one.

Source§

impl SpiceLock

Source

pub fn matchw(&self, string: &str, templ: &str, wstr: char, wchr: char) -> bool

Available on non-crate feature lock only.

Match a string against a template, respecting case.

Source§

impl SpiceLock

Source

pub fn repmf( &self, input: &str, marker: &str, value: f64, sigdig: i32, format: char, lenout: i32, ) -> String

Available on non-crate feature lock only.

Replace a marker in a string with a formatted double precision number; format is 'E' or 'F'.

Source§

impl SpiceLock

Source

pub fn repml( &self, input: &str, marker: &str, value: bool, rtcase: char, outlen: i32, ) -> String

Available on non-crate feature lock only.

Replace a marker in a string with the text of a boolean; rtcase picks the capitalisation.

Source§

impl SpiceLock

Source

pub fn repmot( &self, input: &str, marker: &str, value: i32, strcase: char, lenout: i32, ) -> String

Available on non-crate feature lock only.

Replace a marker in a string with an ordinal number; strcase picks the capitalisation.

Source§

impl SpiceLock

Source

pub fn convrt(&self, x: f64, input: &str, output: &str) -> f64

Available on non-crate feature lock only.

Take a measurement X, the units associated with X, and units to which X should be converted; return Y — the value of the measurement in the output units.

Source§

impl SpiceLock

Source

pub fn dpmax(&self) -> f64

Available on non-crate feature lock only.

Return the value of the largest (positive) number representable in a double precision variable.

Source§

impl SpiceLock

Source

pub fn dpmin(&self) -> f64

Available on non-crate feature lock only.

Return the value of the smallest (negative) number representable in a double precision variable.

Source§

impl SpiceLock

Source

pub fn cpos(&self, string: &str, chars: &str, start: i32) -> i32

Available on non-crate feature lock only.

Find the first occurrence in a string of a character belonging to a collection of characters, starting at a specified location, searching forward.

Source§

impl SpiceLock

Source

pub fn cposr(&self, string: &str, chars: &str, start: i32) -> i32

Available on non-crate feature lock only.

Find the first occurrence in a string of a character belonging to a collection of characters, starting at a specified location, searching in reverse.

Source§

impl SpiceLock

Source

pub fn pos(&self, string: &str, substr: &str, start: i32) -> i32

Available on non-crate feature lock only.

Find the first occurrence in a string of a substring, starting at a specified location, searching forward.

Source§

impl SpiceLock

Source

pub fn posr(&self, string: &str, substr: &str, start: i32) -> i32

Available on non-crate feature lock only.

Find the first occurrence in a string of a substring, starting at a specified location, searching backward.

Source§

impl SpiceLock

Source

pub fn tparch(&self, kind: &str)

Available on non-crate feature lock only.

Restrict the set of strings that are recognized by SPICE time parsing routines to those that have standard values for all time components.

Source§

impl SpiceLock

Source

pub fn badkpv( &self, caller: &str, name: &str, comp: &str, size: i32, divby: i32, kind: char, ) -> bool

Available on non-crate feature lock only.

Determine if a kernel pool variable is present and if so that it has the correct size and type.

Source§

impl SpiceLock

Source

pub fn bltfrm(&self, frmcls: i32, idset: &mut Cell<i32>)

Available on non-crate feature lock only.

Return a SPICE set containing the frame IDs of all built-in frames of a specified class.

Source§

impl SpiceLock

Source

pub fn cvpool(&self, agent: &str) -> bool

Available on non-crate feature lock only.

Indicate whether or not any watched kernel variables that have a specified agent on their notification list have been updated.

Source§

impl SpiceLock

Source

pub fn azlcpo( &self, method: &str, target: &str, et: f64, abcorr: &str, azccw: bool, elplsz: bool, obspos: [f64; 3], obsctr: &str, obsref: &str, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Return the azimuth/elevation coordinates of a specified target relative to an “observer,” where the observer has constant position in a specified reference frame. The observer’s position is provided by the calling program rather than by loaded SPK files.

Source§

impl SpiceLock

Source

pub fn boddef(&self, name: &str, code: i32)

Available on non-crate feature lock only.

Define a body name/ID code pair for later translation via bodn2c_c or bodc2n_c.

Source§

impl SpiceLock

Source

pub fn chkin(&self, module: &str)

Available on non-crate feature lock only.

Inform the CSPICE error handling mechanism of entry into a routine.

Source§

impl SpiceLock

Source

pub fn chkout(&self, module: &str)

Available on non-crate feature lock only.

Inform the CSPICE error handling mechanism of exit from a routine.

Source§

impl SpiceLock

Source

pub fn dnearp( &self, state: [f64; 6], a: f64, b: f64, c: f64, ) -> ([f64; 6], [f64; 2], bool)

Available on non-crate feature lock only.

Compute the state (position and velocity) of an ellipsoid surface point nearest to the position component of a specified state.

Source§

impl SpiceLock

Source

pub fn ducrss(&self, s1: [f64; 6], s2: [f64; 6]) -> [f64; 6]

Available on non-crate feature lock only.

Compute the unit vector parallel to the cross product of two 3-dimensional vectors and the derivative of this unit vector.

Source§

impl SpiceLock

Source

pub fn dvcrss(&self, s1: [f64; 6], s2: [f64; 6]) -> [f64; 6]

Available on non-crate feature lock only.

Compute the cross product of two 3-dimensional vectors and the derivative of this cross product.

Source§

impl SpiceLock

Source

pub fn dvdot(&self, s1: [f64; 6], s2: [f64; 6]) -> f64

Available on non-crate feature lock only.

Compute the derivative of the dot product of two double precision position vectors.

Source§

impl SpiceLock

Source

pub fn dvhat(&self, s1: [f64; 6]) -> [f64; 6]

Available on non-crate feature lock only.

Find the unit vector corresponding to a state vector and the derivative of the unit vector.

Source§

impl SpiceLock

Source

pub fn dvnorm(&self, state: [f64; 6]) -> f64

Available on non-crate feature lock only.

Calculate the derivative of the norm of a 3-vector.

Source§

impl SpiceLock

Source

pub fn dvpool(&self, name: &str)

Available on non-crate feature lock only.

Delete a variable from the kernel pool.

Source§

impl SpiceLock

Source

pub fn dvsep(&self, s1: [f64; 6], s2: [f64; 6]) -> f64

Available on non-crate feature lock only.

Calculate the time derivative of the separation angle between two input states, S1 and S2.

Source§

impl SpiceLock

Source

pub fn ednmpt(&self, a: f64, b: f64, c: f64, normal: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Return the unique point on an ellipsoid’s surface where the outward normal direction is a given vector.

Source§

impl SpiceLock

Source

pub fn edpnt(&self, p: [f64; 3], a: f64, b: f64, c: f64) -> [f64; 3]

Available on non-crate feature lock only.

Scale a point so that it lies on the surface of a specified triaxial ellipsoid that is centered at the origin and aligned with the Cartesian coordinate axes.

Source§

impl SpiceLock

Source

pub fn eqncpv( &self, et: f64, epoch: f64, eqel: [f64; 9], rapol: f64, decpol: f64, ) -> [f64; 6]

Available on non-crate feature lock only.

Compute the state (position and velocity) of an object whose trajectory is described via equinoctial elements relative to some fixed plane (usually the equatorial plane of some planet).

Source§

impl SpiceLock

Source

pub fn return_c(&self) -> bool

Available on non-crate feature lock only.

Whether a routine should return immediately because the toolkit is in an error state.

Named return_c rather than return, which is a keyword in Rust. It is the only routine in the toolkit whose name has to change, and SpiceyPy renames it the same way for the same reason.

Source§

impl SpiceLock

Source

pub fn sigerr(&self, message: &str)

Available on non-crate feature lock only.

Signal an error, with the short message given.

Source§

impl SpiceLock

Source

pub fn errdp(&self, marker: &str, number: f64)

Available on non-crate feature lock only.

Substitute a double precision number for the first occurrence of a marker in the long error message being built.

Source§

impl SpiceLock

Source

pub fn errint(&self, marker: &str, number: i32)

Available on non-crate feature lock only.

Substitute an integer for the first occurrence of a marker in the long error message being built.

Source§

impl SpiceLock

Source

pub fn errch(&self, marker: &str, string: &str)

Available on non-crate feature lock only.

Substitute a character string for the first occurrence of a marker in the current long error message.

Source§

impl SpiceLock

Source

pub fn ftncls(&self, unit: i32)

Available on non-crate feature lock only.

Close a file designated by a Fortran-style integer logical unit.

Source§

impl SpiceLock

Source

pub fn illum( &self, target: &str, et: f64, abcorr: &str, obsrvr: &str, spoint: [f64; 3], ) -> (f64, f64, f64)

Available on non-crate feature lock only.

Deprecated: This routine has been superseded by the CSPICE routine ilumin_c. This routine is supported for purposes of backward compatibility only.

Source§

impl SpiceLock

Source

pub fn invstm(&self, mat: [[f64; 6]; 6]) -> [[f64; 6]; 6]

Available on non-crate feature lock only.

Return the inverse of a state transformation matrix.

Source§

impl SpiceLock

Source

pub fn iswhsp(&self, string: &str) -> bool

Available on non-crate feature lock only.

Return a boolean value indicating whether a string contains only white space characters.

Source§

impl SpiceLock

Source

pub fn lastnb(&self, string: &str) -> i32

Available on non-crate feature lock only.

Return the zero based index of the last non-blank character in a character string.

Source§

impl SpiceLock

Source

pub fn ltime(&self, etobs: f64, obs: i32, dir: &str, targ: i32) -> (f64, f64)

Available on non-crate feature lock only.

Compute the transmission (or reception) time of a signal at a specified target, given the reception (or transmission) time at a specified observer. Also return the elapsed time between transmission and reception.

Source§

impl SpiceLock

Source

pub fn lx4dec(&self, string: &str, first: i32) -> (i32, i32)

Available on non-crate feature lock only.

Scan a string from a specified starting position for the end of a decimal number.

Source§

impl SpiceLock

Source

pub fn lx4num(&self, string: &str, first: i32) -> (i32, i32)

Available on non-crate feature lock only.

Scan a string from a specified starting position for the end of a number.

Source§

impl SpiceLock

Source

pub fn lx4sgn(&self, string: &str, first: i32) -> (i32, i32)

Available on non-crate feature lock only.

Scan a string from a specified starting position for the end of a signed integer.

Source§

impl SpiceLock

Source

pub fn lx4uns(&self, string: &str, first: i32) -> (i32, i32)

Available on non-crate feature lock only.

Scan a string from a specified starting position for the end of an unsigned integer.

Source§

impl SpiceLock

Source

pub fn lxqstr(&self, string: &str, qchar: char, first: i32) -> (i32, i32)

Available on non-crate feature lock only.

Scan (lex) a quoted string.

Source§

impl SpiceLock

Source

pub fn ncpos(&self, string: &str, chars: &str, start: i32) -> i32

Available on non-crate feature lock only.

Find the first occurrence in a string of a character NOT belonging to a collection of characters, starting at a specified location, searching forward.

Source§

impl SpiceLock

Source

pub fn ncposr(&self, string: &str, chars: &str, start: i32) -> i32

Available on non-crate feature lock only.

Find the first occurrence in a string of a character NOT belonging to a collection of characters, starting at a specified location, searching in reverse.

Source§

impl SpiceLock

Source

pub fn pltexp(&self, iverts: [[f64; 3]; 3], delta: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Expand a triangular plate by a specified amount. The expanded plate is co-planar with, and has the same orientation as, the original. The centroids of the two plates coincide.

Source§

impl SpiceLock

Source

pub fn prsdp(&self, string: &str) -> f64

Available on non-crate feature lock only.

Parse a string as a double precision number, encapsulating error handling.

Source§

impl SpiceLock

Source

pub fn prsint(&self, string: &str) -> i32

Available on non-crate feature lock only.

Parse a string as an integer, encapsulating error handling.

Source§

impl SpiceLock

Source

pub fn qdq2av(&self, q: [f64; 4], dq: [f64; 4]) -> [f64; 3]

Available on non-crate feature lock only.

Derive angular velocity from a unit quaternion and its derivative with respect to time.

Source§

impl SpiceLock

Source

pub fn rotvec(&self, v1: [f64; 3], angle: f64, iaxis: i32) -> [f64; 3]

Available on non-crate feature lock only.

Transform a vector to a new coordinate system rotated by angle' radians about axis iaxis’. This transformation rotates `v1’ by -angle radians about the specified axis.

Source§

impl SpiceLock

Source

pub fn rquad(&self, a: f64, b: f64, c: f64) -> ([f64; 2], [f64; 2])

Available on non-crate feature lock only.

Find the roots of a quadratic equation.

Source§

impl SpiceLock

Source

pub fn sce2t(&self, sc: i32, et: f64) -> f64

Available on non-crate feature lock only.

Convert ephemeris seconds past J2000 (ET) to integral encoded spacecraft clock (`ticks’). For conversion to fractional ticks, (required for C-kernel production), see the routine sce2c_c.

Source§

impl SpiceLock

Source

pub fn sctiks(&self, sc: i32, clkstr: &str) -> f64

Available on non-crate feature lock only.

Convert a spacecraft clock format string to number of “ticks”.

Source§

impl SpiceLock

Source

pub fn setmsg(&self, msg: &str)

Available on non-crate feature lock only.

Set the value of the current long error message.

Source§

impl SpiceLock

Source

pub fn srfxpt( &self, method: &str, target: &str, et: f64, abcorr: &str, obsrvr: &str, dref: &str, dvec: [f64; 3], ) -> ([f64; 3], f64, f64, [f64; 3], bool)

Available on non-crate feature lock only.

Deprecated: This routine has been superseded by the CSPICE routine sincpt_c. This routine is supported for purposes of backward compatibility only.

Source§

impl SpiceLock

Source

pub fn stelab(&self, pobj: [f64; 3], vobs: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Correct the apparent position of an object for stellar aberration.

Source§

impl SpiceLock

Source

pub fn stlabx(&self, pobj: [f64; 3], vobs: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Correct the position of a target for the stellar aberration effect on radiation transmitted from a specified observer to the target.

Source§

impl SpiceLock

Source

pub fn subpt( &self, method: &str, target: &str, et: f64, abcorr: &str, obsrvr: &str, ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Deprecated: This routine has been superseded by the CSPICE routine subpnt_c. This routine is supported for purposes of backward compatibility only.

Source§

impl SpiceLock

Source

pub fn subsol( &self, method: &str, target: &str, et: f64, abcorr: &str, obsrvr: &str, ) -> [f64; 3]

Available on non-crate feature lock only.

Deprecated: This routine has been superseded by the CSPICE routine subslr_c. This routine is supported for purposes of backward compatibility only.

Source§

impl SpiceLock

Source

pub fn tangpt( &self, method: &str, target: &str, et: f64, fixref: &str, abcorr: &str, corloc: &str, obsrvr: &str, dref: &str, dvec: [f64; 3], ) -> ([f64; 3], f64, f64, [f64; 3], f64, [f64; 3])

Available on non-crate feature lock only.

Compute, for a given observer, ray emanating from the observer, and target, the “tangent point”: the point on the ray nearest to the target’s surface. Also compute the point on the target’s surface nearest to the tangent point.

Source§

impl SpiceLock

Source

pub fn tipbod(&self, frame: &str, body: i32, et: f64) -> [[f64; 3]; 3]

Available on non-crate feature lock only.

Return a 3x3 matrix that transforms positions in inertial coordinates to positions in body-equator-and-prime-meridian coordinates.

Source§

impl SpiceLock

Source

pub fn tisbod(&self, frame: &str, body: i32, et: f64) -> [[f64; 6]; 6]

Available on non-crate feature lock only.

Return a 6x6 matrix that transforms states in inertial coordinates to states in body-equator-and-prime-meridian coordinates.

Source§

impl SpiceLock

Source

pub fn tkfram(&self, frcode: i32) -> ([[f64; 3]; 3], i32, bool)

Available on non-crate feature lock only.

Find the position rotation matrix from a Text Kernel (TK) frame with the specified frame class ID to its base frame.

Source§

impl SpiceLock

Source

pub fn trcdep(&self) -> i32

Available on non-crate feature lock only.

Return the number of modules in the traceback representation.

Source§

impl SpiceLock

Source

pub fn trgsep( &self, et: f64, targ1: &str, shape1: &str, frame1: &str, targ2: &str, shape2: &str, frame2: &str, obsrvr: &str, abcorr: &str, ) -> f64

Available on non-crate feature lock only.

Compute the angular separation in radians between two spherical or point objects.

Source§

impl SpiceLock

Source

pub fn tsetyr(&self, year: i32)

Available on non-crate feature lock only.

Set the lower bound on the 100 year range

Source§

impl SpiceLock

Source

pub fn twovxf( &self, axdef: [f64; 6], indexa: i32, plndef: [f64; 6], indexp: i32, ) -> [[f64; 6]; 6]

Available on non-crate feature lock only.

Find the state transformation from a base frame to the right-handed frame defined by two state vectors: one state vector defining a specified axis and a second state vector defining a specified coordinate plane.

Source§

impl SpiceLock

Source

pub fn ucrss(&self, v1: [f64; 3], v2: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

Compute the normalized cross product of two 3-vectors.

Source§

impl SpiceLock

Source

pub fn ckfrot(&self, inst: i32, et: f64) -> ([[f64; 3]; 3], i32, bool)

Available on non-crate feature lock only.

Find the position rotation matrix from a C-kernel (CK) frame with the specified frame class ID (CK ID) to the base frame of the highest priority CK segment containing orientation data for this CK frame at the time requested.

Source§

impl SpiceLock

Source

pub fn ckfxfm(&self, inst: i32, et: f64) -> ([[f64; 6]; 6], i32, bool)

Available on non-crate feature lock only.

Find the state transformation matrix from a C-kernel (CK) frame with the specified frame class ID (CK ID) to the base frame of the highest priority CK segment containing orientation and angular velocity data for this CK frame at the time requested.

Source§

impl SpiceLock

Source

pub fn cklpf(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Load a CK pointing file for use by the CK readers. Return that file’s handle, to be used by other CK routines to refer to the file.

Source§

impl SpiceLock

Source

pub fn ckmeta(&self, ckid: i32, meta: &str) -> i32

Available on non-crate feature lock only.

Return (depending upon the user’s request) the ID code of either the spacecraft or spacecraft clock associated with a C-Kernel ID code.

Source§

impl SpiceLock

Source

pub fn ckupf(&self, handle: i32)

Available on non-crate feature lock only.

Unload a CK pointing file so that it will no longer be searched by the readers.

Source§

impl SpiceLock

Source

pub fn dafbbs(&self, handle: i32)

Available on non-crate feature lock only.

Begin a backward search for arrays in a DAF.

Source§

impl SpiceLock

Source

pub fn dafbfs(&self, handle: i32)

Available on non-crate feature lock only.

Begin a forward search for arrays in a DAF.

Source§

impl SpiceLock

Source

pub fn dafcls(&self, handle: i32)

Available on non-crate feature lock only.

Close the DAF associated with a given handle.

Source§

impl SpiceLock

Source

pub fn dafcs(&self, handle: i32)

Available on non-crate feature lock only.

Select a DAF that already has a search in progress as the one to continue searching.

Source§

impl SpiceLock

Source

pub fn dafdc(&self, handle: i32)

Available on non-crate feature lock only.

Delete the entire comment area of a specified DAF file.

Source§

impl SpiceLock

Source

pub fn daffna(&self) -> bool

Available on non-crate feature lock only.

Find the next (forward) array in the current DAF.

Source§

impl SpiceLock

Source

pub fn daffpa(&self) -> bool

Available on non-crate feature lock only.

Find the previous (backward) array in the current DAF.

Source§

impl SpiceLock

Source

pub fn dafgh(&self) -> i32

Available on non-crate feature lock only.

Return (get) the handle of the DAF currently being searched.

Source§

impl SpiceLock

Source

pub fn dafgsr( &self, handle: i32, recno: i32, begin: i32, end: i32, ) -> (Vec<f64>, bool)

Available on non-crate feature lock only.

Read a contiguous run of double precision words from a DAF record.

Returns the end - begin + 1 words, and whether the record was found.

Source§

impl SpiceLock

Source

pub fn dafhsf(&self, handle: i32) -> (i32, i32)

Available on non-crate feature lock only.

Return the summary format associated with a handle.

Source§

impl SpiceLock

Source

pub fn dafopr(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Open a DAF for subsequent read requests.

Source§

impl SpiceLock

Source

pub fn dafopw(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Open a DAF for subsequent write requests.

Source§

impl SpiceLock

Source

pub fn dasdc(&self, handle: i32)

Available on non-crate feature lock only.

Delete the entire comment area of a previously opened binary DAS file.

Source§

impl SpiceLock

Source

pub fn dashfs( &self, handle: i32, ) -> (i32, i32, i32, i32, i32, [i32; 3], [i32; 3], [i32; 3])

Available on non-crate feature lock only.

Return a file summary for a specified DAS file.

Source§

impl SpiceLock

Source

pub fn daslla(&self, handle: i32) -> (i32, i32, i32)

Available on non-crate feature lock only.

Return last DAS logical addresses of character, double precision and integer type that are currently in use in a specified DAS file.

Source§

impl SpiceLock

Source

pub fn dasllc(&self, handle: i32)

Available on non-crate feature lock only.

Close the DAS file associated with a given handle, without flushing buffered data or segregating the file.

Source§

impl SpiceLock

Source

pub fn dasonw(&self, fname: &str, ftype: &str, ifname: &str, ncomr: i32) -> i32

Available on non-crate feature lock only.

Open a new DAS file and set the file type.

Source§

impl SpiceLock

Source

pub fn dasops(&self) -> i32

Available on non-crate feature lock only.

Open a scratch DAS file for writing.

Source§

impl SpiceLock

Source

pub fn dasopw(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Open a DAS file for writing.

Source§

impl SpiceLock

Source

pub fn daswbr(&self, handle: i32)

Available on non-crate feature lock only.

Write out all buffered records of a specified DAS file.

Source§

impl SpiceLock

Source

pub fn dlabns(&self, handle: i32)

Available on non-crate feature lock only.

Begin a new segment in a DLA file.

Source§

impl SpiceLock

Source

pub fn dlaens(&self, handle: i32)

Available on non-crate feature lock only.

End a new segment in a DLA file.

Source§

impl SpiceLock

Source

pub fn dlaopn(&self, fname: &str, ftype: &str, ifname: &str, ncomch: i32) -> i32

Available on non-crate feature lock only.

Open a new DLA file and set the file type.

Source§

impl SpiceLock

Source

pub fn pckcls(&self, handle: i32)

Available on non-crate feature lock only.

Close an open PCK file.

Source§

impl SpiceLock

Source

pub fn pcklof(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Load a binary PCK file for use by the readers. Return the handle of the loaded file which is used by other PCK routines to refer to the file.

Source§

impl SpiceLock

Source

pub fn pckopn(&self, name: &str, ifname: &str, ncomch: i32) -> i32

Available on non-crate feature lock only.

Create a new PCK file, returning the handle of the opened file.

Source§

impl SpiceLock

Source

pub fn pckuof(&self, handle: i32)

Available on non-crate feature lock only.

Unload a binary PCK file so that it will no longer be searched by the readers.

Source§

impl SpiceLock

Source

pub fn dafgda(&self, handle: i32, begin: i32, end: i32) -> Vec<f64>

Available on non-crate feature lock only.

Read double precision data from the current array of a DAF.

Returns the end - begin + 1 words, addressed from one.

Source§

impl SpiceLock

Source

pub fn dafrda(&self, handle: i32, begin: i32, end: i32) -> Vec<f64>

Available on non-crate feature lock only.

Read double precision data from a DAF; superseded by dafgda.

Returns the end - begin + 1 words, addressed from one.

Source§

impl SpiceLock

Source

pub fn dafgs(&self) -> Vec<f64>

Available on non-crate feature lock only.

Return the summary of the current array in the current DAF.

At most DAF_MAXSUM words are returned, which is the largest a DAF summary can be.

Source§

impl SpiceLock

Source

pub fn dafps(&self, dc: &[f64], ic: &[i32]) -> Vec<f64>

Available on non-crate feature lock only.

Pack the double precision and integer components of a DAF summary into one array.

Source§

impl SpiceLock

Source

pub fn dafus( &self, summary: &[f64], nd: usize, ni: usize, ) -> (Vec<f64>, Vec<i32>)

Available on non-crate feature lock only.

Unpack a DAF summary into its nd double precision and ni integer components.

Source§

impl SpiceLock

Source

pub fn dafrs(&self, summary: &[f64])

Available on non-crate feature lock only.

Replace the summary of the current array in the current DAF.

Source§

impl SpiceLock

Source

pub fn dafrfr( &self, handle: i32, lenout: usize, ) -> (i32, i32, String, i32, i32, i32)

Available on non-crate feature lock only.

Read the file record of a DAF: the summary sizes, the internal file name, and the pointers to the first and last summary records and the first free address.

Source§

impl SpiceLock

Source

pub fn dafac<S: AsRef<str>>(&self, handle: i32, buffer: &[S])

Available on non-crate feature lock only.

Add comment lines to the comment area of a DAF.

Source§

impl SpiceLock

Source

pub fn dasrdd(&self, handle: i32, first: i32, last: i32) -> Vec<f64>

Available on non-crate feature lock only.

Read double precision data from a DAS.

Returns the last - first + 1 words, addressed from one.

Source§

impl SpiceLock

Source

pub fn dasrdi(&self, handle: i32, first: i32, last: i32) -> Vec<i32>

Available on non-crate feature lock only.

Read integer data from a DAS.

Returns the last - first + 1 words, addressed from one.

Source§

impl SpiceLock

Source

pub fn dasudd(&self, handle: i32, first: i32, last: i32, data: &[f64])

Available on non-crate feature lock only.

Update double precision data in a DAS.

Source§

impl SpiceLock

Source

pub fn dasudi(&self, handle: i32, first: i32, last: i32, data: &[i32])

Available on non-crate feature lock only.

Update integer data in a DAS.

Source§

impl SpiceLock

Source

pub fn dasadd(&self, handle: i32, data: &[f64])

Available on non-crate feature lock only.

Append double precision data to a DAS.

Source§

impl SpiceLock

Source

pub fn dasadi(&self, handle: i32, data: &[i32])

Available on non-crate feature lock only.

Append integer data to a DAS.

Source§

impl SpiceLock

Source

pub fn dasadc<S: AsRef<str>>( &self, handle: i32, bpos: i32, epos: i32, data: &[S], )

Available on non-crate feature lock only.

Append characters to a DAS, taking the substring bpos ..= epos of each line.

Source§

impl SpiceLock

Source

pub fn dasrdc( &self, handle: i32, first: i32, last: i32, bpos: i32, epos: i32, ) -> Vec<String>

Available on non-crate feature lock only.

Read characters from a DAS, into the substring bpos ..= epos of each line.

Returns one line per substring the range covers, each epos + 1 characters long, of which only bpos ..= epos come from the file.

Source§

impl SpiceLock

Source

pub fn dasudc<S: AsRef<str>>( &self, handle: i32, first: i32, last: i32, bpos: i32, epos: i32, data: &[S], )

Available on non-crate feature lock only.

Update characters in a DAS, taking the substring bpos ..= epos of each line.

Source§

impl SpiceLock

Source

pub fn dasac<S: AsRef<str>>(&self, handle: i32, buffer: &[S])

Available on non-crate feature lock only.

Add comment lines to the comment area of a DAS.

Source§

impl SpiceLock

Source

pub fn dasrfr( &self, handle: i32, idwlen: usize, ifnlen: usize, ) -> (String, String, i32, i32, i32, i32)

Available on non-crate feature lock only.

Read the file record of a DAS: the ID word, the internal file name, and the reserved and comment area sizes.

Source§

impl SpiceLock

Source

pub fn dlafps(&self, handle: i32, descr: DLADSC) -> (DLADSC, bool)

Available on non-crate feature lock only.

Find the segment preceding a specified segment in a DLA file.

Source§

impl SpiceLock

Source

pub fn spk14b( &self, handle: i32, segid: &str, body: i32, center: i32, frame: &str, first: f64, last: f64, chbdeg: i32, )

Available on non-crate feature lock only.

Begin a type 14 SPK segment in the SPK file associated with `handle’.

Source§

impl SpiceLock

Source

pub fn spk14e(&self, handle: i32)

Available on non-crate feature lock only.

End the type 14 SPK segment currently being written to the SPK file associated with `handle’.

Source§

impl SpiceLock

Source

pub fn spkacs( &self, targ: i32, et: f64, frame: &str, abcorr: &str, obs: i32, ) -> ([f64; 6], f64, f64)

Available on non-crate feature lock only.

Return the state (position and velocity) of a target body relative to an observer, optionally corrected for light time and stellar aberration, expressed relative to an inertial reference frame.

Source§

impl SpiceLock

Source

pub fn spkapo( &self, targ: i32, et: f64, frame: &str, sobs: [f64; 6], abcorr: &str, ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Return the position of a target body relative to an observer, optionally corrected for light time and stellar aberration.

Source§

impl SpiceLock

Source

pub fn spkapp( &self, targ: i32, et: f64, frame: &str, sobs: [f64; 6], abcorr: &str, ) -> ([f64; 6], f64)

Available on non-crate feature lock only.

Deprecated: This routine has been superseded by the CSPICE routine spkaps_c. This routine is supported for purposes of backward compatibility only.

Source§

impl SpiceLock

Source

pub fn spkaps( &self, targ: i32, et: f64, frame: &str, abcorr: &str, stobs: [f64; 6], accobs: [f64; 3], ) -> ([f64; 6], f64, f64)

Available on non-crate feature lock only.

Return the state (position and velocity) of a target body relative to an observer specified by its state and acceleration relative to the solar system barycenter. The returned state may be optionally corrected for light time and stellar aberration. All input and output vectors are expressed relative to an inertial reference frame.

Source§

impl SpiceLock

Source

pub fn spkgps( &self, targ: i32, et: f64, frame: &str, obs: i32, ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

Compute the geometric position of a target body relative to an observing body.

Source§

impl SpiceLock

Source

pub fn spkltc( &self, targ: i32, et: f64, frame: &str, abcorr: &str, stobs: [f64; 6], ) -> ([f64; 6], f64, f64)

Available on non-crate feature lock only.

Return the state (position and velocity) of a target body relative to an observer, optionally corrected for light time, expressed relative to an inertial reference frame.

Source§

impl SpiceLock

Source

pub fn spkpds( &self, body: i32, center: i32, frame: &str, kind: i32, first: f64, last: f64, ) -> [f64; 5]

Available on non-crate feature lock only.

Perform routine error checks and if all check pass, pack the descriptor for an SPK segment

Source§

impl SpiceLock

Source

pub fn spkpvn( &self, handle: i32, descr: [f64; 5], et: f64, ) -> (i32, [f64; 6], i32)

Available on non-crate feature lock only.

Return, for a specified SPK segment and time, the state (position and velocity) of the segment’s target body relative to its center of motion.

Source§

impl SpiceLock

Source

pub fn spkssb(&self, targ: i32, et: f64, frame: &str) -> [f64; 6]

Available on non-crate feature lock only.

Return the state (position and velocity) of a target body relative to the solar system barycenter.

Source§

impl SpiceLock

Source

pub fn spkuef(&self, handle: i32)

Available on non-crate feature lock only.

Unload an ephemeris file so that it will no longer be searched by the readers.

Source§

impl SpiceLock

Source

pub fn spkw15( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, epoch: f64, tp: [f64; 3], pa: [f64; 3], p: f64, ecc: f64, j2flg: f64, pv: [f64; 3], gm: f64, j2: f64, radius: f64, )

Available on non-crate feature lock only.

Write an SPK segment of type 15 given a type 15 data record.

Source§

impl SpiceLock

Source

pub fn spkw17( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, epoch: f64, eqel: [f64; 9], rapol: f64, decpol: f64, )

Available on non-crate feature lock only.

Write an SPK segment of type 17 given a type 17 data record.

Source§

impl SpiceLock

Source

pub fn spkw02( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, intlen: f64, n: i32, polydg: i32, cdata: &[f64], btime: f64, )

Available on non-crate feature lock only.

Write a type 2 segment: Chebyshev polynomials for position.

Source§

impl SpiceLock

Source

pub fn spkw03( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, intlen: f64, n: i32, polydg: i32, cdata: &[f64], btime: f64, )

Available on non-crate feature lock only.

Write a type 3 segment: Chebyshev polynomials for position and velocity.

Source§

impl SpiceLock

Source

pub fn spkw05( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, gm: f64, n: i32, states: &[[f64; 6]], epochs: &[f64], )

Available on non-crate feature lock only.

Write a type 5 segment: discrete states propagated with two body dynamics.

§Panics

Panics if n is larger than states or epochs.

Source§

impl SpiceLock

Source

pub fn spkw13( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, degree: i32, n: i32, states: &[[f64; 6]], epochs: &[f64], )

Available on non-crate feature lock only.

Write a type 13 segment: Hermite interpolation of unequally spaced states.

§Panics

Panics if n is larger than states or epochs.

Source§

impl SpiceLock

Source

pub fn spkw08( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, degree: i32, n: i32, states: &[[f64; 6]], epoch0: f64, step: f64, )

Available on non-crate feature lock only.

Write a type 8 segment: Lagrange interpolation of evenly spaced states.

§Panics

Panics if n is larger than states.

Source§

impl SpiceLock

Source

pub fn spkw12( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, degree: i32, n: i32, states: &[[f64; 6]], epoch0: f64, step: f64, )

Available on non-crate feature lock only.

Write a type 12 segment: Hermite interpolation of evenly spaced states.

§Panics

Panics if n is larger than states.

Source§

impl SpiceLock

Source

pub fn spkw10( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, consts: &[f64], n: i32, elems: &[f64], epochs: &[f64], )

Available on non-crate feature lock only.

Write a type 10 segment: two-line element sets.

Source§

impl SpiceLock

Source

pub fn spkw18( &self, handle: i32, subtyp: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, degree: i32, n: i32, packts: &[f64], epochs: &[f64], )

Available on non-crate feature lock only.

Write a type 18 segment: Hermite or Lagrange interpolation of packets of state data.

packts holds one packet per epoch, laid out row by row.

Source§

impl SpiceLock

Source

pub fn spkw20( &self, handle: i32, body: i32, center: i32, frame: &str, first: f64, last: f64, segid: &str, intlen: f64, n: i32, polydg: i32, cdata: &[f64], dscale: f64, tscale: f64, initjd: f64, initfr: f64, )

Available on non-crate feature lock only.

Write a type 20 segment: Chebyshev polynomials for velocity, with the position at the interval start.

Source§

impl SpiceLock

Source

pub fn spk14a(&self, handle: i32, ncsets: i32, coeffs: &[f64], epochs: &[f64])

Available on non-crate feature lock only.

Add Chebyshev coefficient sets to a type 14 segment opened with spk14b.

Source§

impl SpiceLock

Source

pub fn spklef(&self, filename: &str) -> i32

Available on non-crate feature lock only.

Load an SPK for use by the low level readers, outside the KEEPER subsystem.

Source§

impl SpiceLock

Source

pub fn spkuds(&self, descr: &[f64]) -> (i32, i32, i32, i32, f64, f64, i32, i32)

Available on non-crate feature lock only.

Unpack an SPK segment descriptor.

Source§

impl SpiceLock

Source

pub fn spksub( &self, handle: i32, descr: &mut [f64], ident: &str, begin: f64, end: f64, newh: i32, )

Available on non-crate feature lock only.

Copy a subset of the data in an SPK segment into another file.

Source§

impl SpiceLock

Source

pub fn ckw01( &self, handle: i32, begtime: f64, endtime: f64, inst: i32, frame: &str, avflag: bool, segid: &str, nrec: i32, sclkdp: &[f64], quats: &[[f64; 4]], avvs: &[[f64; 3]], )

Available on non-crate feature lock only.

Write a type 1 segment to a CK file: discrete pointing with angular velocity.

Source§

impl SpiceLock

Source

pub fn ckw02( &self, handle: i32, begtim: f64, endtim: f64, inst: i32, frame: &str, segid: &str, nrec: i32, start: &[f64], stop: &[f64], quats: &[[f64; 4]], avvs: &[[f64; 3]], rates: &[f64], )

Available on non-crate feature lock only.

Write a type 2 segment to a CK file: constant angular velocity over each interval.

Source§

impl SpiceLock

Source

pub fn ckw05( &self, handle: i32, subtyp: i32, degree: i32, begtim: f64, endtim: f64, inst: i32, frame: &str, avflag: bool, segid: &str, n: i32, sclkdp: &[f64], packets: &[f64], rate: f64, nints: i32, starts: &[f64], )

Available on non-crate feature lock only.

Write a type 5 segment to a CK file: interpolated quaternion packets.

Source§

impl SpiceLock

Source

pub fn ckgr02( &self, handle: i32, descr: &[f64], recno: i32, room: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Read a pointing record from a type 2 CK segment.

room is how many double precision words to make space for.

Source§

impl SpiceLock

Source

pub fn ckgr03( &self, handle: i32, descr: &[f64], recno: i32, room: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Read a pointing record from a type 3 CK segment.

room is how many double precision words to make space for.

Source§

impl SpiceLock

Source

pub fn cknr02(&self, handle: i32, descr: &[f64]) -> i32

Available on non-crate feature lock only.

Number of pointing records in a type 2 CK segment.

Source§

impl SpiceLock

Source

pub fn cknr03(&self, handle: i32, descr: &[f64]) -> i32

Available on non-crate feature lock only.

Number of pointing records in a type 3 CK segment.

Source§

impl SpiceLock

Source

pub fn pckw02( &self, handle: i32, clssid: i32, frame: &str, first: f64, last: f64, segid: &str, intlen: f64, n: i32, polydg: i32, cdata: &[f64], btime: f64, )

Available on non-crate feature lock only.

Write a type 2 segment to a binary PCK file: Chebyshev polynomials for the Euler angles.

Source§

impl SpiceLock

Source

pub fn dskb02( &self, handle: i32, dladsc: DLADSC, ) -> (i32, i32, i32, [[f64; 2]; 3], f64, [f64; 3], [i32; 3], i32, i32, i32, i32)

Available on non-crate feature lock only.

Return the bookkeeping parameters of a type 2 DSK segment.

Source§

impl SpiceLock

Source

pub fn dskd02( &self, handle: i32, dladsc: DLADSC, item: i32, start: i32, room: usize, ) -> Vec<f64>

Available on non-crate feature lock only.

Fetch double precision data from a type 2 DSK segment.

item is one of the dsk02 keywords and at most room values are returned.

start counts from zero, unlike most of the toolkit: the vertex indices of the first plate are at start 0, even though plate IDs themselves start at 1.

Source§

impl SpiceLock

Source

pub fn dski02( &self, handle: i32, dladsc: DLADSC, item: i32, start: i32, room: usize, ) -> Vec<i32>

Available on non-crate feature lock only.

Fetch integer data from a type 2 DSK segment.

item is one of the dsk02 keywords and at most room values are returned.

start counts from zero, unlike most of the toolkit: the vertex indices of the first plate are at start 0, even though plate IDs themselves start at 1.

Source§

impl SpiceLock

Source

pub fn dskrb2( &self, vrtces: &[[f64; 3]], plates: &[[i32; 3]], corsys: i32, corpar: &[f64], ) -> (f64, f64)

Available on non-crate feature lock only.

Determine the vertical extent of a plate set in a given coordinate system.

Source§

impl SpiceLock

Source

pub fn scpart(&self, sc: i32, maxparts: usize) -> (Vec<f64>, Vec<f64>)

Available on non-crate feature lock only.

Return the partition start and stop times of a spacecraft clock.

Source§

impl SpiceLock

Source

pub fn chbint(&self, cp: &[f64], degp: i32, x2s: [f64; 2], x: f64) -> (f64, f64)

Available on non-crate feature lock only.

Evaluate a Chebyshev expansion at x, returning the value and its derivative.

x2s holds the midpoint and radius of the interval the expansion is defined on.

Source§

impl SpiceLock

Source

pub fn chbval(&self, cp: &[f64], degp: i32, x2s: [f64; 2], x: f64) -> f64

Available on non-crate feature lock only.

Evaluate a Chebyshev expansion at x.

Source§

impl SpiceLock

Source

pub fn chbigr(&self, degp: i32, cp: &[f64], x2s: [f64; 2], x: f64) -> (f64, f64)

Available on non-crate feature lock only.

Evaluate a Chebyshev expansion at x, returning the value and its indefinite integral.

Source§

impl SpiceLock

Source

pub fn chbder( &self, cp: &[f64], degp: i32, x2s: [f64; 2], x: f64, nderiv: i32, ) -> Vec<f64>

Available on non-crate feature lock only.

Evaluate a Chebyshev expansion and its first nderiv derivatives at x.

Source§

impl SpiceLock

Source

pub fn polyds(&self, coeffs: &[f64], deg: i32, nderiv: i32, t: f64) -> Vec<f64>

Available on non-crate feature lock only.

Evaluate a polynomial and its first nderiv derivatives at t.

Source§

impl SpiceLock

Source

pub fn hrmesp(&self, first: f64, step: f64, yvals: &[f64], x: f64) -> (f64, f64)

Available on non-crate feature lock only.

Hermite interpolate a function and its derivative at evenly spaced points.

yvals holds the value and derivative at each point, in pairs.

Source§

impl SpiceLock

Source

pub fn hrmint(&self, xvals: &[f64], yvals: &[f64], x: f64) -> (f64, f64)

Available on non-crate feature lock only.

Hermite interpolate a function and its derivative at unevenly spaced points.

Source§

impl SpiceLock

Source

pub fn lgresp(&self, first: f64, step: f64, yvals: &[f64], x: f64) -> f64

Available on non-crate feature lock only.

Lagrange interpolate a function at evenly spaced points.

Source§

impl SpiceLock

Source

pub fn lgrint(&self, xvals: &[f64], yvals: &[f64], x: f64) -> f64

Available on non-crate feature lock only.

Lagrange interpolate a function at unevenly spaced points.

Source§

impl SpiceLock

Source

pub fn lgrind(&self, xvals: &[f64], yvals: &[f64], x: f64) -> (f64, f64)

Available on non-crate feature lock only.

Lagrange interpolate a function and its derivative at unevenly spaced points.

Source§

impl SpiceLock

Source

pub fn qderiv(&self, f0: &[f64], f2: &[f64], delta: f64) -> Vec<f64>

Available on non-crate feature lock only.

Estimate a derivative by the central difference of a function sampled either side of a point.

Source§

impl SpiceLock

Source

pub fn pltar(&self, vrtces: &[[f64; 3]], plates: &[[i32; 3]]) -> f64

Available on non-crate feature lock only.

The total area of a set of triangular plates.

Source§

impl SpiceLock

Source

pub fn pltvol(&self, vrtces: &[[f64; 3]], plates: &[[i32; 3]]) -> f64

Available on non-crate feature lock only.

The volume enclosed by a set of triangular plates.

Source§

impl SpiceLock

Source

pub fn pltnrm(&self, v1: [f64; 3], v2: [f64; 3], v3: [f64; 3]) -> [f64; 3]

Available on non-crate feature lock only.

The outward normal of a triangular plate, scaled by twice its area.

Source§

impl SpiceLock

Source

pub fn pltnp( &self, point: [f64; 3], v1: [f64; 3], v2: [f64; 3], v3: [f64; 3], ) -> ([f64; 3], f64)

Available on non-crate feature lock only.

The point of a triangular plate nearest a given point, and the distance between them.

Source§

impl SpiceLock

Source

pub fn diags2(&self, symmat: [[f64; 2]; 2]) -> ([[f64; 2]; 2], [[f64; 2]; 2])

Available on non-crate feature lock only.

Diagonalize a symmetric 2x2 matrix, returning the diagonal and the rotation that produces it.

Source§

impl SpiceLock

Source

pub fn isrchd(&self, value: f64, array: &[f64]) -> i32

Available on non-crate feature lock only.

Search an unordered array of doubles.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn isrchi(&self, value: i32, array: &[i32]) -> i32

Available on non-crate feature lock only.

Search an unordered array of integers.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn isrchc<S: AsRef<str>>(&self, value: &str, array: &[S]) -> i32

Available on non-crate feature lock only.

Search an unordered array of strings.

Returns the index found, or -1.

Source§

impl SpiceLock

Source

pub fn ordd(&self, item: f64, set: &mut Cell<f64>) -> i32

Available on non-crate feature lock only.

The ordinal position of a double precision number in a set.

Positions run from zero; the result is -1 when the item is not in the set.

Source§

impl SpiceLock

Source

pub fn ordi(&self, item: i32, set: &mut Cell<i32>) -> i32

Available on non-crate feature lock only.

The ordinal position of an integer in a set.

Positions run from zero; the result is -1 when the item is not in the set.

Source§

impl SpiceLock

Source

pub fn ordc(&self, item: &str, set: &mut Cell<String>) -> i32

Available on non-crate feature lock only.

The ordinal position of a string in a set, counting from zero, or -1 when it is absent.

Source§

impl SpiceLock

Source

pub fn sdiff<T: CellItem>( &self, a: &mut Cell<T>, b: &mut Cell<T>, c: &mut Cell<T>, )

Available on non-crate feature lock only.

Place the symmetric difference of two sets into c.

Source§

impl SpiceLock

Source

pub fn set<T: CellItem>( &self, a: &mut Cell<T>, op: &str, b: &mut Cell<T>, ) -> bool

Available on non-crate feature lock only.

Compare two sets; op is one of "=", "<>", "<=", "<", ">=" or ">".

Source§

impl SpiceLock

Source

pub fn lparss(&self, list: &str, delims: &str, set: &mut Cell<String>)

Available on non-crate feature lock only.

Parse a list on any of a set of delimiters, into a set of unique items.

Source§

impl SpiceLock

Source

pub fn kplfrm(&self, frmcls: i32, idset: &mut Cell<i32>)

Available on non-crate feature lock only.

Find the frame ID codes of all reference frames of a given class in the kernel pool.

Source§

impl SpiceLock

Source

pub fn lmpool<S: AsRef<str>>(&self, cvals: &[S])

Available on non-crate feature lock only.

Load the variables of a text kernel held in memory, rather than in a file.

Source§

impl SpiceLock

Source

pub fn szpool(&self, name: &str) -> (i32, bool)

Available on non-crate feature lock only.

The value of a kernel pool parameter, such as "MAXVAR", "MAXLEN" or "MAXVAL".

This is about the pool’s own limits, not about any variable in it; dtpool reports how many values a variable holds.

Source§

impl SpiceLock

Source

pub fn exists(&self, name: &str) -> bool

Available on non-crate feature lock only.

Whether a file exists.

Source§

impl SpiceLock

Source

pub fn rdtext(&self, file: &str, lenout: usize) -> (String, bool)

Available on non-crate feature lock only.

Read the next line of a text file, opening it if it is not already open.

Returns the line and whether the end of the file has been reached.

The file stays open until it has been read to the end, and CSPICE refuses to load a file it already has open, so an abandoned partial read makes that file unloadable. The C API has no counterpart to Fortran’s CLTEXT to close one early.

Source§

impl SpiceLock

Source

pub fn frinfo(&self, frcode: i32) -> (i32, i32, i32, bool)

Available on non-crate feature lock only.

The centre, class and class ID of a reference frame.

Source§

impl SpiceLock

Source

pub fn frame(&self, x: [f64; 3]) -> ([f64; 3], [f64; 3], [f64; 3])

Available on non-crate feature lock only.

Build a right handed orthonormal frame from a vector, which is normalised in place.

Returns the normalised input and the two vectors completing the frame.

Source§

impl SpiceLock

Source

pub fn fovray( &self, inst: &str, raydir: [f64; 3], rframe: &str, abcorr: &str, obsrvr: &str, et: f64, ) -> bool

Available on non-crate feature lock only.

Whether a ray is in the field of view of an instrument at a given epoch.

Source§

impl SpiceLock

Source

pub fn fovtrg( &self, inst: &str, target: &str, tshape: &str, tframe: &str, abcorr: &str, obsrvr: &str, et: f64, ) -> bool

Available on non-crate feature lock only.

Whether a target is in the field of view of an instrument at a given epoch.

Source§

impl SpiceLock

Source

pub fn illumg( &self, method: &str, target: &str, ilusrc: &str, et: f64, fixref: &str, abcorr: &str, obsrvr: &str, spoint: [f64; 3], ) -> (f64, [f64; 3], f64, f64, f64)

Available on non-crate feature lock only.

Find the illumination angles at a surface point, with the illumination source named separately.

Source§

impl SpiceLock

Source

pub fn trcoff(&self)

Available on non-crate feature lock only.

Disable the traceback, which cannot be turned back on.

Source§

impl SpiceLock

Source

pub fn kxtrct<S: AsRef<str>>( &self, keywd: &str, terms: &[S], string: &str, stringlen: usize, substrlen: usize, ) -> (String, bool, String)

Available on non-crate feature lock only.

Extract the substring of a word that follows a keyword, from a list of terminating keywords.

Returns the remaining string, whether the keyword was found, and the substring.

Source§

impl SpiceLock

Source

pub fn gfsstp(&self, step: f64)

Available on non-crate feature lock only.

Set the step size the geometry finder takes between samples.

Source§

impl SpiceLock

Source

pub fn gfstep(&self, time: f64) -> f64

Available on non-crate feature lock only.

The step to take from an epoch, as set by gfsstp.

Source§

impl SpiceLock

Source

pub fn gfstol(&self, value: f64)

Available on non-crate feature lock only.

Set the convergence tolerance the geometry finder uses, in seconds.

Source§

impl SpiceLock

Source

pub fn gfrefn(&self, t1: f64, t2: f64, s1: bool, s2: bool) -> f64

Available on non-crate feature lock only.

Refine a bracketing interval by bisection.

Source§

impl SpiceLock

Source

pub fn gfbail(&self) -> bool

Available on non-crate feature lock only.

Whether an interrupt has been requested; see gfinth.

Source§

impl SpiceLock

Source

pub fn gfclrh(&self)

Available on non-crate feature lock only.

Clear the interrupt handler installed by gfinth.

Source§

impl SpiceLock

Source

pub fn gfinth(&self, sigcode: i32)

Available on non-crate feature lock only.

Install an interrupt handler for the signal sigcode, so a search can be stopped.

Source§

impl SpiceLock

Source

pub fn gfrepi(&self, window: &mut Cell<f64>, begmss: &str, endmss: &str)

Available on non-crate feature lock only.

Begin the default progress report over a confinement window.

Source§

impl SpiceLock

Source

pub fn gfrepu(&self, ivbeg: f64, ivend: f64, time: f64)

Available on non-crate feature lock only.

Update the default progress report.

Source§

impl SpiceLock

Source

pub fn gfrepf(&self)

Available on non-crate feature lock only.

Finish the default progress report.

Source§

impl SpiceLock

Source

pub fn udf(&self, x: f64) -> f64

Available on non-crate feature lock only.

A placeholder scalar function, for the searches that want one but do not use it.

Source§

impl SpiceLock

Source

pub fn uddc(&self, udfunc: UdFunc, x: f64, dx: f64) -> bool

Available on non-crate feature lock only.

Whether a scalar function is decreasing at x, by a central difference over dx.

Source§

impl SpiceLock

Source

pub fn uddf(&self, udfunc: UdFunc, x: f64, dx: f64) -> f64

Available on non-crate feature lock only.

The derivative of a scalar function at x, by a central difference over dx.

Source§

impl SpiceLock

Source

pub fn gfocce( &self, occtyp: &str, front: &str, fshape: &str, fframe: &str, back: &str, bshape: &str, bframe: &str, abcorr: &str, obsrvr: &str, tol: f64, udstep: UdStep, udrefn: UdRefn, rpt: bool, udrepi: UdRepi, udrepu: UdRepu, udrepf: UdRepf, bail: bool, udbail: UdBail, cnfine: &mut Cell<f64>, result: &mut Cell<f64>, )

Available on non-crate feature lock only.

Search for times when an occultation occurs, with the search progress and stepping under the caller’s control.

crate::neat::gfoclt is the form to reach for unless the stepping needs to be customised.

Source§

impl SpiceLock

Source

pub fn gffove( &self, inst: &str, tshape: &str, raydir: [f64; 3], target: &str, tframe: &str, abcorr: &str, obsrvr: &str, tol: f64, udstep: UdStep, udrefn: UdRefn, rpt: bool, udrepi: UdRepi, udrepu: UdRepu, udrepf: UdRepf, bail: bool, udbail: UdBail, cnfine: &mut Cell<f64>, result: &mut Cell<f64>, )

Available on non-crate feature lock only.

Search for times when a target or ray is in the field of view of an instrument, with the search progress and stepping under the caller’s control.

gftfov and gfrfov are the forms to reach for unless the stepping needs to be customised.

Source§

impl SpiceLock

Source

pub fn gfevnt<S: AsRef<str>, T: AsRef<str>>( &self, udstep: UdStep, udrefn: UdRefn, gquant: &str, qpnams: &[S], qcpars: &[T], qdpars: &[f64], qipars: &[i32], qlpars: &[bool], op: &str, refval: f64, tol: f64, adjust: f64, rpt: bool, udrepi: UdRepi, udrepu: UdRepu, udrepf: UdRepf, nintvls: i32, bail: bool, udbail: UdBail, cnfine: &mut Cell<f64>, result: &mut Cell<f64>, )

Available on non-crate feature lock only.

Search for times when a geometric quantity named by a string meets a condition.

The quantity and its parameters are given by name, which is what makes this the most general of the searches and the most awkward to call; the specific searches above are easier where they apply.

Source§

impl SpiceLock

Source

pub fn intmax(&self) -> i32

Available on non-crate feature lock only.

The largest integer CSPICE represents.

Source§

impl SpiceLock

Source

pub fn intmin(&self) -> i32

Available on non-crate feature lock only.

The smallest integer CSPICE represents.

Source§

impl SpiceLock

Source

pub fn b1900(&self) -> f64

Available on non-crate feature lock only.

Julian Date of the epoch B1900.

Source§

impl SpiceLock

Source

pub fn b1950(&self) -> f64

Available on non-crate feature lock only.

Julian Date of the epoch B1950.

Source§

impl SpiceLock

Source

pub fn clight(&self) -> f64

Available on non-crate feature lock only.

Speed of light in a vacuum, in km/s.

Source§

impl SpiceLock

Source

pub fn dpr(&self) -> f64

Available on non-crate feature lock only.

Number of degrees per radian.

Source§

impl SpiceLock

Source

pub fn halfpi(&self) -> f64

Available on non-crate feature lock only.

Half the value of pi.

Source§

impl SpiceLock

Source

pub fn j1900(&self) -> f64

Available on non-crate feature lock only.

Julian Date of 1899 DEC 31 12:00:00 (1900 JAN 0.5).

Source§

impl SpiceLock

Source

pub fn j1950(&self) -> f64

Available on non-crate feature lock only.

Julian Date of 1950 JAN 01 00:00:00 (1950 JAN 1.0).

Source§

impl SpiceLock

Source

pub fn j2000(&self) -> f64

Available on non-crate feature lock only.

Julian Date of 2000 JAN 01 12:00:00 (2000 JAN 1.5).

Source§

impl SpiceLock

Source

pub fn j2100(&self) -> f64

Available on non-crate feature lock only.

Julian Date of 2100 JAN 01 12:00:00 (2100 JAN 1.5).

Source§

impl SpiceLock

Source

pub fn jyear(&self) -> f64

Available on non-crate feature lock only.

Number of seconds in a Julian year.

Source§

impl SpiceLock

Source

pub fn pi(&self) -> f64

Available on non-crate feature lock only.

Value of pi.

Source§

impl SpiceLock

Source

pub fn rpd(&self) -> f64

Available on non-crate feature lock only.

Number of radians per degree.

Source§

impl SpiceLock

Source

pub fn spd(&self) -> f64

Available on non-crate feature lock only.

Number of seconds in a day.

Source§

impl SpiceLock

Source

pub fn twopi(&self) -> f64

Available on non-crate feature lock only.

Twice the value of pi.

Source§

impl SpiceLock

Source

pub fn tyear(&self) -> f64

Available on non-crate feature lock only.

Number of seconds in a tropical year.

Source§

impl SpiceLock

Source

pub fn tkvrsn(&self, item: &str) -> String

Available on non-crate feature lock only.

Return the version of the CSPICE toolkit; pass "TOOLKIT" as the item.

Source§

impl SpiceLock

Source

pub fn ekopn(&self, fname: &str, ifname: &str, ncomch: i32) -> i32

Available on non-crate feature lock only.

Open a new events kernel and prepare it for writing, returning the handle of the open file.

Source§

impl SpiceLock

Source

pub fn ekopr(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Open an existing events kernel for reading, returning the handle of the open file.

Source§

impl SpiceLock

Source

pub fn ekopw(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Open an existing events kernel for writing, returning the handle of the open file.

Source§

impl SpiceLock

Source

pub fn ekops(&self) -> i32

Available on non-crate feature lock only.

Open a scratch events kernel and prepare it for writing, returning the handle of the open file.

The file is deleted when it is closed.

Source§

impl SpiceLock

Source

pub fn ekcls(&self, handle: i32)

Available on non-crate feature lock only.

Close an open events kernel.

Source§

impl SpiceLock

Source

pub fn eklef(&self, fname: &str) -> i32

Available on non-crate feature lock only.

Load an events kernel, making it readable by the query routines, and return its handle.

furnsh loads one too; this is the form that hands back the handle.

Source§

impl SpiceLock

Source

pub fn ekuef(&self, handle: i32)

Available on non-crate feature lock only.

Unload an events kernel, making its contents unreadable and its room available again.

Source§

impl SpiceLock

Source

pub fn ekntab(&self) -> i32

Available on non-crate feature lock only.

Return the number of tables the loaded events kernels hold between them.

Source§

impl SpiceLock

Source

pub fn ektnam(&self, n: i32, lenout: i32) -> String

Available on non-crate feature lock only.

Return the name of the nth loaded table, counting from zero.

Source§

impl SpiceLock

Source

pub fn ekccnt(&self, table: &str) -> i32

Available on non-crate feature lock only.

Return the number of distinct columns of a loaded table.

Source§

impl SpiceLock

Source

pub fn ekcii(&self, table: &str, cindex: i32, lenout: i32) -> (String, EKATTDSC)

Available on non-crate feature lock only.

Return the name and the attributes of the cindexth column of a loaded table, counting from zero.

Source§

impl SpiceLock

Source

pub fn eknseg(&self, handle: i32) -> i32

Available on non-crate feature lock only.

Return the number of segments of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekssum(&self, handle: i32, segno: i32) -> EKSEGSUM

Available on non-crate feature lock only.

Return the summary of a segment of an open events kernel, counting segments from zero.

Source§

impl SpiceLock

Source

pub fn ekfind(&self, query: &str, lenout: i32) -> (i32, bool, String)

Available on non-crate feature lock only.

Run a query, returning the number of rows it matched, whether it could not be parsed, and the message saying why it could not.

Source§

impl SpiceLock

Source

pub fn eknelt(&self, selidx: i32, row: i32) -> i32

Available on non-crate feature lock only.

Return the number of values in the entry of the selidxth selected item in a row of the result of the last ekfind, counting both from zero.

Source§

impl SpiceLock

Source

pub fn ekgc( &self, selidx: i32, row: i32, elment: i32, lenout: i32, ) -> (String, bool, bool)

Available on non-crate feature lock only.

Return one value of a character entry from the result of the last ekfind, and whether it is null and whether it was found.

Source§

impl SpiceLock

Source

pub fn ekgd(&self, selidx: i32, row: i32, elment: i32) -> (f64, bool, bool)

Available on non-crate feature lock only.

Return one value of a double precision entry from the result of the last ekfind, and whether it is null and whether it was found.

Source§

impl SpiceLock

Source

pub fn ekgi(&self, selidx: i32, row: i32, elment: i32) -> (i32, bool, bool)

Available on non-crate feature lock only.

Return one value of an integer entry from the result of the last ekfind, and whether it is null and whether it was found.

Source§

impl SpiceLock

Source

pub fn ekappr(&self, handle: i32, segno: i32) -> i32

Available on non-crate feature lock only.

Append an empty record to a segment of an open events kernel, returning its number.

Source§

impl SpiceLock

Source

pub fn ekinsr(&self, handle: i32, segno: i32, recno: i32)

Available on non-crate feature lock only.

Insert an empty record into a segment of an open events kernel, at the given index.

Source§

impl SpiceLock

Source

pub fn ekdelr(&self, handle: i32, segno: i32, recno: i32)

Available on non-crate feature lock only.

Delete a record from a segment of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekbseg<S: AsRef<str>, T: AsRef<str>>( &self, handle: i32, tabnam: &str, cnames: &[S], decls: &[T], ) -> i32

Available on non-crate feature lock only.

Start a segment of an open events kernel, returning its number.

cnames names the columns and decls declares them, so the two have the same length.

Source§

impl SpiceLock

Source

pub fn ekifld<S: AsRef<str>, T: AsRef<str>>( &self, handle: i32, tabnam: &str, nrows: i32, cnames: &[S], decls: &[T], ) -> (i32, Vec<i32>)

Available on non-crate feature lock only.

Start a segment of an open events kernel that is to be written a column at a time.

Returns the number of the segment and the record pointers, which every later call writing the segment is handed in turn: the column additions ekaclc, ekacld and ekacli, and finally ekffld.

Source§

impl SpiceLock

Source

pub fn ekffld(&self, handle: i32, segno: i32, rcptrs: &mut [i32])

Available on non-crate feature lock only.

Finish writing a segment started by ekifld, given the record pointers it returned.

Source§

impl SpiceLock

Source

pub fn ekacld( &self, handle: i32, segno: i32, column: &str, dvals: &[f64], entszs: &[i32], nlflgs: &[bool], rcptrs: &[i32], )

Available on non-crate feature lock only.

Write a whole double precision column of a segment started by ekifld.

entszs gives the number of values in each row’s entry and nlflgs says which entries are null, so both have one element per row. rcptrs is what ekifld returned.

Source§

impl SpiceLock

Source

pub fn ekacli( &self, handle: i32, segno: i32, column: &str, ivals: &[i32], entszs: &[i32], nlflgs: &[bool], rcptrs: &[i32], )

Available on non-crate feature lock only.

Write a whole integer column of a segment started by ekifld.

entszs gives the number of values in each row’s entry and nlflgs says which entries are null, so both have one element per row. rcptrs is what ekifld returned.

Source§

impl SpiceLock

Source

pub fn ekaclc<S: AsRef<str>>( &self, handle: i32, segno: i32, column: &str, cvals: &[S], entszs: &[i32], nlflgs: &[bool], rcptrs: &[i32], )

Available on non-crate feature lock only.

Write a whole character column of a segment started by ekifld.

entszs gives the number of values in each row’s entry and nlflgs says which entries are null, so both have one element per row. rcptrs is what ekifld returned.

Source§

impl SpiceLock

Source

pub fn ekaced( &self, handle: i32, segno: i32, recno: i32, column: &str, dvals: &[f64], isnull: bool, )

Available on non-crate feature lock only.

Write a double precision entry into a record of a segment of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekacei( &self, handle: i32, segno: i32, recno: i32, column: &str, ivals: &[i32], isnull: bool, )

Available on non-crate feature lock only.

Write an integer entry into a record of a segment of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekuced( &self, handle: i32, segno: i32, recno: i32, column: &str, dvals: &[f64], isnull: bool, )

Available on non-crate feature lock only.

Replace a double precision entry of a record of a segment of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekucei( &self, handle: i32, segno: i32, recno: i32, column: &str, ivals: &[i32], isnull: bool, )

Available on non-crate feature lock only.

Replace an integer entry of a record of a segment of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekacec<S: AsRef<str>>( &self, handle: i32, segno: i32, recno: i32, column: &str, cvals: &[S], isnull: bool, )

Available on non-crate feature lock only.

Write a character entry into a record of a segment of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekucec<S: AsRef<str>>( &self, handle: i32, segno: i32, recno: i32, column: &str, cvals: &[S], isnull: bool, )

Available on non-crate feature lock only.

Replace a character entry of a record of a segment of an open events kernel.

Source§

impl SpiceLock

Source

pub fn ekrced( &self, handle: i32, segno: i32, recno: i32, column: &str, maxvals: usize, ) -> (Vec<f64>, bool)

Available on non-crate feature lock only.

Read a double precision entry of a record of a segment of an open events kernel.

maxvals is the room to make for the entry, in values; CSPICE writes as many as the entry holds, which is at most the size the column declares.

Source§

impl SpiceLock

Source

pub fn ekrcei( &self, handle: i32, segno: i32, recno: i32, column: &str, maxvals: usize, ) -> (Vec<i32>, bool)

Available on non-crate feature lock only.

Read an integer entry of a record of a segment of an open events kernel.

maxvals is the room to make for the entry, in values; CSPICE writes as many as the entry holds, which is at most the size the column declares.

Source§

impl SpiceLock

Source

pub fn ekrcec( &self, handle: i32, segno: i32, recno: i32, column: &str, maxvals: usize, lenout: usize, ) -> (Vec<String>, bool)

Available on non-crate feature lock only.

Read a character entry of a record of a segment of an open events kernel.

maxvals is the room to make for the entry, in values, and lenout the room for each of them.

Source§

impl SpiceLock

Source

pub fn ekpsel( &self, query: &str, msglen: usize, tablen: usize, collen: usize, ) -> (Vec<i32>, Vec<i32>, Vec<SpiceEKDataType>, Vec<SpiceEKExprClass>, Vec<String>, Vec<String>, bool, String)

Available on non-crate feature lock only.

Parse the SELECT clause of a query, reporting in full on each item it selects.

Returns, for each selected item, where its expression begins and ends in query, its data type, its class, the table it is taken from and the column it names; then whether the query could not be parsed, and the message saying why.

Source§

impl SpiceLock

Source

pub fn filld(&self, value: f64, ndim: usize) -> Vec<f64>

Available on non-crate feature lock only.

Fill a double precision array with a value.

vec![] does the same thing without leaving Rust; this is here for completeness.

Source§

impl SpiceLock

Source

pub fn filli(&self, value: i32, ndim: usize) -> Vec<i32>

Available on non-crate feature lock only.

Fill an integer array with a value.

vec![] does the same thing without leaving Rust; this is here for completeness.

Source§

impl SpiceLock

Source

pub fn cleard(&self, ndim: usize) -> Vec<f64>

Available on non-crate feature lock only.

Set every element of a double precision array to zero.

vec![] does the same thing without leaving Rust; this is here for completeness.

Source§

impl SpiceLock

Source

pub fn cleari(&self, ndim: usize) -> Vec<i32>

Available on non-crate feature lock only.

Set every element of an integer array to zero.

vec![] does the same thing without leaving Rust; this is here for completeness.

Source§

impl SpiceLock

Source

pub fn clearc(&self, ndim: usize, arrlen: usize) -> Vec<String>

Available on non-crate feature lock only.

Set every string of an array to blank, returning ndim of them, each arrlen characters long.

vec![] does the same thing without leaving Rust; this is here for completeness.

Source§

impl SpiceLock

Source

pub fn maxd(&self, values: &[f64]) -> f64

Available on non-crate feature lock only.

The largest of a set of double precision numbers.

The C routine is variadic, which Rust cannot hand a list whose length is only known while it runs; folding the two argument form over the slice gives the same answer for any length. An empty slice gives zero, as the C routine does for a count of none.

Source§

impl SpiceLock

Source

pub fn maxi(&self, values: &[i32]) -> i32

Available on non-crate feature lock only.

The largest of a set of integers.

The C routine is variadic, which Rust cannot hand a list whose length is only known while it runs; folding the two argument form over the slice gives the same answer for any length. An empty slice gives zero, as the C routine does for a count of none.

Source§

impl SpiceLock

Source

pub fn mind(&self, values: &[f64]) -> f64

Available on non-crate feature lock only.

The smallest of a set of double precision numbers.

The C routine is variadic, which Rust cannot hand a list whose length is only known while it runs; folding the two argument form over the slice gives the same answer for any length. An empty slice gives zero, as the C routine does for a count of none.

Source§

impl SpiceLock

Source

pub fn mini(&self, values: &[i32]) -> i32

Available on non-crate feature lock only.

The smallest of a set of integers.

The C routine is variadic, which Rust cannot hand a list whose length is only known while it runs; folding the two argument form over the slice gives the same answer for any length. An empty slice gives zero, as the C routine does for a count of none.

Source§

impl SpiceLock

Source

pub fn prompt(&self, dspmsg: &str, buflen: usize) -> String

Available on non-crate feature lock only.

Display a prompt and return the line the user types in reply.

Reads from the standard input, so it blocks until there is a line to read.

Source§

impl SpiceLock

Source

pub fn putcml<S: AsRef<str>>(&self, argv: &[S])

Available on non-crate feature lock only.

Store the command line arguments, so that getcml can hand them back.

CSPICE keeps the pointers rather than the strings, so the copy this makes is leaked on purpose: it has to outlive every later call. The toolkit refuses a second call, for the same reason.

Source§

impl SpiceLock

Source

pub fn getcml(&self) -> Vec<String>

Available on non-crate feature lock only.

Return the command line arguments putcml was given.

Source§

impl SpiceLock

Source

pub fn try_acquire() -> Result<Self, &'static str>

Attempt to create a SpiceLock instance.

Will be Err if an instance already exists.

Trait Implementations§

Source§

impl Drop for SpiceLock

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.