Index Page
dafps_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 dafps_c ( SpiceInt             nd,
                  SpiceInt             ni,
                  ConstSpiceDouble   * dc,
                  ConstSpiceInt      * ic,
                  SpiceDouble        * sum ) 

Abstract

 
   Pack (assemble) an array summary from its double precision and 
   integer components. 
 

Required_Reading

 
   DAF 
 

Keywords

 
   CONVERSION 
   FILES 
 

Brief_I/O

 
   Variable  I/O  Description 
   --------  ---  -------------------------------------------------- 
   nd         I   Number of double precision components. 
   ni         I   Number of integer components. 
   dc         I   Double precision components. 
   ic         I   Integer components. 
   sum        O   Array summary. 
 

Detailed_Input

 
   nd          is the number of double precision components in 
               the summary to be packed. 
 
   ni          is the number of integer components in the summary. 
 
   dc          are the double precision components of the summary. 
 
   ic          are the integer components of the summary. 
 

Detailed_Output

 
   sum         is an array summary containing the components in `dc' 
               and `ic'. This identifies the contents and location of 
               a single array within a DAF. 
 

Parameters

 
   None. 
 

Exceptions

 
   Error free. 
 
   1) If ND is zero or negative, no DP components are stored. 
 
   2) If NI is zero or negative, no integer components are stored. 
 
   3) If the total size of the summary is greater than 125 double 
      precision words, some components may not be stored. 
 

Files

 
   None. 
 

Particulars

 
   The components of array summaries are packed into double 
   precision arrays for reasons outlined in [1]. Two routines, 
   dafps_c (pack summary) and dafus_c (unpack summary) are provided 
   for packing and unpacking summaries. 
 
   The total size of the summary is 
 
           (NI - 1) 
      ND + -------- + 1 
               2 
 
   double precision words (where ND, NI are nonnegative). 
 

Examples

 
 
   1) Replace the body ID code -999 with -1999 in every descriptor
      of an SPK file.


      #include <SpiceUsr.h>
 
      int main ( int argc,  char **argv )
      {
         #define ND              2
         #define NI              6
         #define DSCSIZ          5
         #define NEWCODE         ( -1999 )
         #define OLDCODE         ( -999  )

         SpiceBoolean            found;

         SpiceInt                handle;
         SpiceInt                ic      [ NI ];

         SpiceDouble             dc      [ ND ];
         SpiceDouble             sum     [ DSCSIZ ];

         /.
         Open for writing the SPK file specified on the command line.
         ./
         dafopw_c ( argv[1], &handle );
      
         /.
         Search the file in forward order.
         ./
         dafbfs_c ( handle );
         daffna_c ( &found );

         while ( found )
         {
            /.
            Fetch and unpack the descriptor (aka summary)
            of the current segment.
            ./
            dafgs_c ( sum  );
            dafus_c ( sum, ND, NI, dc, ic );
          
            /.
            Replace ID codes if necessary.
            ./
            if ( ic[0] == OLDCODE )
            {
               ic[0] = NEWCODE;
            }
            if ( ic[1] == OLDCODE )
            {
               ic[1] = NEWCODE;
            }

            /.
            Re-pack the descriptor; replace the descriptor
            in the file.
            ./
            dafps_c ( ND, NI, dc, ic, sum );

            dafrs_c ( sum );
 
            /.
            Find the next segment.
            ./
            daffna_c ( &found );
         }

         /.
         Close the file.
         ./
         dafcls_c ( handle );

         return ( 0 );
      }
 

Restrictions

 
   None. 
 

Literature_References

 
   None.
 

Author_and_Institution

 
   N.J. Bachman    (JPL)
   I.M. Underwood  (JPL) 
 

Version

 
   -CSPICE Version 1.0.0, 23-NOV-2004 (NJB)

Index_Entries

 
   pack daf summary 
 

Link to routine dafps_c source file dafps_c.c

Wed Apr  5 17:54:31 2017