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
#### Link to routine bodfnd_c source file bodfnd_c.c

    Fri Dec 31 18:41:02 2021