Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 
Index Page
cspice_ccifrm

Table of contents
Abstract
I/O
Parameters
Examples
Particulars
Exceptions
Files
Restrictions
Required_Reading
Literature_References
Author_and_Institution
Version
Index_Entries


Abstract


   CSPICE_CCIFRM returns the frame name, frame id, and center associated with
   a given frame class and class id.

I/O


   Given:

      frclss   the class or type of the frame.

               help, frclss
                  LONG = Scalar

               This identifies which subsystem will be used to perform frame
               transformations.

      clssid   the ID code used for the frame within its class.

               help, clssid
                  LONG = Scalar

               This may be different from the frame ID code.

   the call:

      cspice_ccifrm, frclss, clssid, frcode, frname, cent, found

   returns:

      frcode   the frame ID code for the reference frame identified by `frclss'
               and `clssid'.

               help, frcode
                  LONG = Scalar

      frname   the name of the frame identified by `frclss' and `clssid'.

               help, frname
                  STRING = Scalar

               If `frname' does not have enough room to hold
               the full name of the frame, the name will be truncated
               on the right.

      cent     the body ID code for the center of the reference frame
               identified by `frclss' and `clssid'.

               help, cent
                  LONG = Scalar

      found    True if a valid frame specification corresponding to the input
               frame class and frame class ID is available, in which case the
               other outputs are valid.

               help, found
                  BOOLEAN = Scalar

               Otherwise, `found' is returned with the value False.

Parameters


   None.

Examples


   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) The following code example demonstrates how to find the frame
      information about a frame by its ID using cspice_frinfo and
      by its class and class ID using cspice_ccifrm.

      Example code begins here.


      PRO ccifrm_ex1

         cspice_namfrm, 'ITRF93', frcode1
         cspice_frinfo, frcode1, center1, clss, clss_ID, found

         if ~found then begin
               message,  'No info found for ITRF93.'
         endif

         print, 'Frame ITRF93 info:'
         print, '   Frame Code: ', frcode1
         print, '   Center ID : ', center1
         print, '   Class     : ', clss
         print, '   Class ID  : ', clss_ID

         cspice_ccifrm, clss, clss_ID, frcode2,  frname, center2, found

         if ~found then begin
               message,  'No info found for type 2 frame 3000.'
         endif

         print, 'Type 2 frame 3000 info:'
         print, '   Frame name: ', frname
         print, '   Frame Code: ', frcode2
         print, '   Center ID : ', center2

      END


      When this program was executed on a Mac/Intel/IDL8.x/64-bit
      platform, the output was:


      Frame ITRF93 info:
         Frame Code:        13000
         Center ID :          399
         Class     :            2
         Class ID  :         3000
      Type 2 frame 3000 info:
         Frame name: ITRF93
         Frame Code:        13000
         Center ID :          399


Particulars


   This routine allows the user to determine the frame associated
   with a given frame class and class ID code. The kernel pool is
   searched first for a matching frame; if no match is found, then
   the set of built-in frames is searched.

   Since the neither the frame class nor the class ID are primary
   keys, searching for matching frames is a linear (and therefore
   typically slow) process.

Exceptions


   1)  This routine assumes that the first frame found with matching
       class and class ID is the correct one. SPICE's frame system
       does not diagnose the situation where there are multiple,
       distinct frames with matching classes and class ID codes, but
       this situation could occur if such conflicting frame
       specifications are loaded via one or more frame kernels. The
       user is responsible for avoiding such frame specification
       conflicts.

   2)  If a frame class assignment is found that associates a string
       (as opposed to numeric) value with a frame class keyword, the
       error SPICE(INVALIDFRAMEDEF) is signaled by a routine in the
       call tree of this routine.

   3)  If a frame class assignment is found that matches the input
       class, but a corresponding class ID assignment is not
       found in the kernel pool, the error SPICE(INVALIDFRAMEDEF)
       is signaled by a routine in the call tree of this routine.

   4)  If a frame specification is found in the kernel pool with
       matching frame class and class ID, but either the frame name
       or frame ID code are not found, the error
       SPICE(INVALIDFRAMEDEF) is signaled by a routine in the call
       tree of this routine.

   5)  If a frame specification is found in the kernel pool with
       matching frame class and class ID, but the frame center
       is not found, an error is signaled by a routine
       in the call tree of this routine.

   6)  If any of the input arguments, `frclss' or `clssid', is
       undefined, an error is signaled by the IDL error handling
       system.

   7)  If any of the input arguments, `frclss' or `clssid', is not of
       the expected type, or it does not have the expected dimensions
       and size, an error is signaled by the Icy interface.

   8)  If any of the output arguments, `frcode', `frname', `cent' or
       `found', is not a named variable, an error is signaled by the
       Icy interface.

Files


   None.

Restrictions


   1)  See item (1) in the -Exceptions section above.

Required_Reading


   ICY.REQ
   FRAMES.REQ

Literature_References


   None.

Author_and_Institution


   J. Diaz del Rio     (ODC Space)
   E.D. Wright         (JPL)

Version


   -Icy Version 1.1.0, 26-AUG-2021 (JDR)

       Changed the output argument name "center" to "cent" for consistency
       with other routines.

       Edited the -Examples section to comply with NAIF standard. Added
       example's problem statement and reformatted example's output.

       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.0, 01-JAN-2017 (EDW)

Index_Entries


   Find info associated with a frame class and class id
   Map frame class and class id to frame info
   Map frame class and class id to frame name, id, and center



Fri Dec 31 18:43:02 2021