CSPICE_DSKSRF finds the set of surface ID codes for all surfaces
associated with a given body in a specified DSK file.
For important details concerning this module's function, please refer to
the CSPICE routine dsksrf_c.
dsk is the name of a DSK file. This file will be
opened for read access by this routine.
idcode the SPK ID code of a body for which topographic
data are present in the specified DSK files.
srfids is an initialized Icy cell data structure.
`srfids' optionally may contain a set of DSK ID
codes on input.
The cell is initialized to cardinality zero, and
defined size, on creation.
cspice_dsksrf, dsk, idcode, srfids
srfids is a Icy set data structure that contains
the union of its contents upon input with the set
of ID codes of the surfaces associated with the
body designated by `bodyid', for which segments were
found in the indicated DSK file.
The elements of Icy sets are unique; each ID
code in `srfids' appears only once, even if the DSK
file contains multiple segments for that ID code.
See the Examples section below for a complete
example program showing how to retrieve body and
surface ID codes from a DSK file.
Any numerical results shown for this example may differ between
platforms as the results depend on the SPICE kernels used as input
and the machine specific arithmetic implementation.
Use a simple function to display the DSK IDs found in a DSK or set of
DSKs, and the time coverage of the data corresponding to those IDs.
PRO DSKSRF_T, dsk
MAXID = 1000L
;; Find the set of objects in the dsk file.
bodids = cspice_celli(MAXID)
srfids = cspice_celli(MAXID)
cspice_dskobj, dsk, bodids
for i=0, cspice_card( bodids ) - 1 do begin
obj = bodids.base[ bodids.data + i ]
print, 'Body ID: ' , obj
;; Get the surface IDs for the Ith body.
cspice_dsksrf, dsk, obj, srfids
for i=0, cspice_card( srfids ) - 1 do begin
srf = srfids.base[ srfids.data + i ]
print, ' Surface ID: ' , srf
IDL> dsksrf_t, 'hay_a_amica_5_itokawashape_v1_0_64q.bds'
Body ID: 2025143
Surface ID: 2025143
The output lists the SPK IDs in the DSK and the surface IDs.
This routine provides an API via which applications can determine
the set of surfaces associated with a given body in a specified
DSK file. This routine is normally used together with cspice_dskobj.
-Icy Version 1.0.0, 14-DEC-2016, ML (JPL), EDW (JPL)
get coverage window for dsk object