dafgda_c

Index Page dafgda_c
A B C D E F G H I J K L M N O P Q R S T U V W X
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
       void dafgda_c ( SpiceInt       handle,
                       SpiceInt       begin,
                       SpiceInt       end,
                       SpiceDouble  * data )
#### Abstract
       Read the double precision data bounded by two addresses within
       a DAF.
#### Required_Reading
       DAF
#### Keywords
       FILES
#### Brief_I/O
       Variable  I/O  Description
       --------  ---  --------------------------------------------------
       handle     I   Handle of a DAF.
       begin,
       end        I   Initial, final address within file.
       data       O   Data contained between `begin' and `end'.
#### Detailed_Input
       handle      is the handle of a DAF.

       begin,
       end         are the initial and final addresses of a contiguous
                   set of double precision numbers within a DAF.
                   Presumably, these make up all or part of a particular
                   array.

                   Note that CSPICE DAF addresses begin at 1 as in the
                   FORTRAN version of the SPICE Toolkit.
#### Detailed_Output
       data        are the double precision data contained between
                   the specified addresses within the specified file.
#### Parameters
       None.
#### Exceptions
       1) If `begin' is zero or negative, the error SPICE(DAFNEGADDR)
          is signaled.

       2) If `begin' > `end', the error SPICE(DAFBEGGTEND)
          is signaled.

       3) If `handle' is invalid, routines in the call tree of dafgda_c
          signal an appropriate error.

       4) If the range of addresses covered between `begin' and `end'
          includes records that do not contain strictly double
          precision data, then the values returned in `data' are
          undefined.  See the Restrictions section below for details.
#### Files
       None.
#### Particulars
       The principal reason that DAFs are so easy to use is that
       the data in each DAF are considered to be one long contiguous
       set of double precision numbers. You can grab data from anywhere
       within a DAF without knowing (or caring) about the physical
       records in which they are stored.

       This routine replaces dafrda_c as the principal mechanism for
       reading the contents of DAF arrays.
#### Examples
       The following code fragment illustrates the use of dafgda_c to read
       data from an array. The array begins with a directory containing 11
       epochs. Each pair of epochs bounds an interval, and each interval is
       covered by a set of eight osculating elements.

          #include "SpiceUsr.h"

             .
             .
             .

          dafus_c ( sum, nd, ni, dc, ic );
          begin = ic[4];
          end   = ic[5];

          dafgda_c ( handle, begin, begin+10, epochs );

          for ( i = 0;  i < 10;  i++ )
          {
             if (     ( et > epochs[i]   )
                  &&  ( et < epochs[i+1] ) )
             {
                offset = begin + 11 + (i - 1) * 8;
                dafgda_c ( handle, offset+1, offset+8, elements );
                return;
             }
          }
#### Restrictions
       1) There are several types of records in a DAF.  This routine
          is only to be used to read double precision data bounded
          between two DAF addresses.  The range of addresses input
          may not cross data and summary record boundaries.
#### Literature_References
       None.
#### Author_and_Institution
       N.J. Bachman    (JPL)
#### Version
       -CSPICE Version 1.0.1, 23-JAN-2008 (EDW)

          Removed a spurious and unneeded "-Declarations"
          tag. The tag's presence prevented the HTML API doc
          script from parsing the function description.

       -CSPICE Version 1.0.0, 14-SEP-2006 (NJB)
#### Index_Entries
       read data from daf address
#### Link to routine dafgda_c source file dafgda_c.c

    Thu Apr 16 08:57:39 2009