Table of contents
CSPICE_FRINFO retrieves the minimal attributes associated with a
frame needed for converting transformations to and from it.
Given:
frcode an integer SPICE ID for some reference frame.
help, frcode
LONG = Scalar
the call:
cspice_frinfo, frcode, cent, frclss, clssid, found
returns:
cent the scalar integer SPICE body ID for the center of the reference
frame (if such an ID is appropriate).
help, cent
LONG = Scalar
frclss the scalar integer class ID or type of the frame.
help, frclss
LONG = Scalar
This identifies which subsystem will perform frame
transformations.
clssid the scalar integer ID used for the frame within its class.
help, clssid
LONG = Scalar
This may be different from the frame ID.
found a scalar boolean indicating if `cent', `frclss' and `frcode' are
available, true if so, false if not.
help, found
BOOLEAN = Scalar
None.
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.
1) Given a frame ID, retrieve the SPICE body ID associated with
the frame's center, the frame class (or type of the frame), and
the ID used for the frame within its class.
Example code begins here.
PRO frinfo_ex1
;;
;; Output the frame information for frame 13000.
;;
cspice_frinfo, 13000, cent, frclss, clssid, found
print, 'Frame center : ', cent
print, 'Frame class : ', frclss
print, 'Frame class ID: ', clssid
END
When this program was executed on a Mac/Intel/IDL8.x/64-bit
platform, the output was:
Frame center : 399
Frame class : 2
Frame class ID: 3000
This is a low level routine needed by state transformation
software to transform states and attitudes between different
reference frames.
The routine first examines local "hard-coded" information about
reference frames to see if the requested frame belongs to this
set. If it does that information is returned.
If the requested information is not stored locally, the routine
then examines the kernel pool to see if the requested information
is stored there. If it is and has the expected format, the data
is retrieved and returned.
1) If a frame definition is encountered that does not define a
central body for the frame, an error is signaled by a routine
in the call tree of this routine.
2) If a frame definition is encountered that does not define
a class for the frame, an error is signaled by a routine
in the call tree of this routine.
3) If a frame definition is encountered that does not define a
class ID for the frame, an error is signaled by a routine in
the call tree of this routine.
4) If a kernel variable defining a frame name is found, but that
variable has dimension greater than 1, the error
SPICE(INVALIDDIMENSION) is signaled by a routine in the call
tree of this routine.
5) If the input argument `frcode' is undefined, an error is
signaled by the IDL error handling system.
6) If the input argument `frcode' is not of the expected type, or
it does not have the expected dimensions and size, an error is
signaled by the Icy interface.
7) If any of the output arguments, `cent', `frclss', `clssid' or
`found', is not a named variable, an error is signaled by the
Icy interface.
None.
None.
ICY.REQ
FRAMES.REQ
None.
J. Diaz del Rio (ODC Space)
E.D. Wright (JPL)
-Icy Version 1.1.0, 10-AUG-2021 (JDR)
Changed argument name "clss" to "frclss" for consistency with
other routines.
Edited the -Examples section to comply with NAIF standard. Added
example's problem statement.
Added -Parameters, -Exceptions, -Files, -Restrictions,
-Literature_References and -Author_and_Institution sections.
Removed reference to the routine's corresponding CSPICE header from
-Abstract section.
Added arguments' type and size information in the -I/O section.
-Icy Version 1.0.1, 11-NOV-2013 (EDW)
Edits to -I/O and -Particulars sections so as to parallel Mice
version.
-Icy Version 1.0.0, 16-JUN-2003 (EDW)
fetch reference frame attributes
|