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
bodfnd_c

Table of contents
Procedure
Abstract
Required_Reading
Keywords
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version
Index_Entries

Procedure

   bodfnd_c ( Find values from the kernel pool ) 

   SpiceBoolean bodfnd_c ( SpiceInt           body,
                           ConstSpiceChar   * item )

Abstract

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

Required_Reading

   KERNEL
   NAIF_IDS
   PCK

Keywords

   CONSTANTS


Brief_I/O

   VARIABLE  I/O  DESCRIPTION
   --------  ---  --------------------------------------------------
   body       I   ID code of body.
   item       I   Item to find ("RADII", "NUT_AMP_RA", etc.).

   The function returns the value SPICETRUE if the item is in the
   kernel pool, and is SPICEFALSE if it is not.

Detailed_Input

   body        is the ID code of the body for which the item is
               requested. Bodies are numbered according to the
               standard NAIF numbering scheme.

   item        is the item to be returned. Together, the body and
               item name combine to form a variable name, e.g.,

                     "BODY599_RADII"
                     "BODY4_POLE_RA"

Detailed_Output

   The function returns the value SPICETRUE if the item is in the
   kernel pool, and is SPICEFALSE if it is not.

Parameters

   None.

Exceptions

   1)  If the `item' input string pointer is null, the error
       SPICE(NULLPOINTER) is signaled. The function returns the value
       SPICEFALSE.

   2)  If the `item' input string has zero length, the error
       SPICE(EMPTYSTRING) is signaled. The function returns the value
       SPICEFALSE.

Files

   None.

Particulars

   The CSPICE routines bodvcd_c and bodvrd_c, which return values from
   the kernel pool, signal an error if the specified item is not found.
   In many cases, this is appropriate. However, sometimes the program
   may attempt to recover, by providing default values, prompting for
   replacements, and so on.

Examples

   The numerical results shown for this example may differ across
   platforms. The results depend on the SPICE kernels used as
   input, the compiler and supporting libraries, and the machine
   specific arithmetic implementation.

   1) Test if the Earth's radii values exist in the kernel pool.

      Use the PCK kernel below to load the required triaxial
      ellipsoidal shape model for the Earth.

         pck00008.tpc


      Example code begins here.


      /.
         Program bodfnd_ex1
      ./
      #include <stdio.h>
      #include "SpiceUsr.h"

      int main( )
      {
         /.
         Local constants.
         ./
         #define  bodyid         399

         /.
         Local variables.
         ./
         SpiceBoolean            found;
         SpiceDouble             radii [ 3 ];
         SpiceInt                dim;

         /.
         Load a PCK file.
         ./
         furnsh_c( "pck00008.tpc" );

         /.
         Test if Earth's radii values exist in the
         kernel pool.

         The procedure searches for the kernel variable
         BODY399_RADII.
         ./
         found = bodfnd_c( bodyid, "RADII" );

         /.
         If found, retrieve the values.
         ./
         if ( found )
         {
            bodvcd_c( bodyid, "RADII", 3, &dim, radii );

            printf ( "%d RADII: %10.3f %10.3f %10.3f\n",
                     (int)bodyid, radii[0], radii[1], radii[2] );
         }
         else
         {
            printf ( "No RADII data found for object %d\n",
                     (int)bodyid                          );
         }
      }


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


      399 RADII:   6378.140   6378.140   6356.750

Restrictions

   None.

Literature_References

   None.

Author_and_Institution

   N.J. Bachman        (JPL)
   J. Diaz del Rio     (ODC Space)
   H.A. Neilan         (JPL)
   W.L. Taber          (JPL)
   I.M. Underwood      (JPL)
   E.D. Wright         (JPL)

Version

   -CSPICE Version 2.0.3, 08-JUL-2021 (JDR)

       Edited the header to comply with NAIF standard. Added
       complete code examples.

   -CSPICE Version 2.0.2, 24-OCT-2005 (NJB)

       Header updates: reference to bodvar_c was replaced with
       reference to bodvcd_c. The string "AXES" and variable `axes'
       were replaced with the string "RADII" and variable `radii'
       throughout the header. A few other minor header edits were
       made.

   -CSPICE Version 2.0.1, 08-FEB-1998 (EDW)

       Corrected and clarified header entries.

   -CSPICE Version 2.0.0, 06-JAN-1998 (NJB)

       Input argument item was changed to type ConstSpiceChar *.

       References to C2F_CreateStr_Sig were removed; code was
       cleaned up accordingly. String checks are now done using
       the macro CHKFSTR_VAL.

   -CSPICE Version 1.0.0, 25-OCT-1997 (EDW) (WLT) (IMU) (HAN)

Index_Entries

   find constants for a body in the kernel pool
Fri Dec 31 18:41:02 2021