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
wnintd_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

   wnintd_c ( Intersect two DP windows ) 

   void wnintd_c ( SpiceCell  * a,
                   SpiceCell  * b,
                   SpiceCell  * c )

Abstract

   Place the intersection of two double precision windows into
   a third window.

Required_Reading

   WINDOWS

Keywords

   WINDOWS


Brief_I/O

   VARIABLE  I/O  DESCRIPTION
   --------  ---  --------------------------------------------------
   a,
   b          I   Input windows.
   c          O   Intersection of `a' and `b'.

Detailed_Input

   a,
   b           are SPICE windows, each of which contains zero or more
               intervals.

               `a' and `b' must be declared as double precision SpiceCells.

               CSPICE provides the following macros, which declare and
               initialize the cells

                  SPICEDOUBLE_CELL        ( a, ASZ );
                  SPICEDOUBLE_CELL        ( b, BSZ );

               where ASZ and BSZ are the maximum capacity of `a' and `b',
               respectively.

Detailed_Output

   c           is the output SPICE window, containing the intersection of 
               `a' and `b' --- every point contained in both `a' and `b'.

               `c' must be distinct from both `a' and `b'.

               `c' must be declared as a double precision SpiceCell.

               CSPICE provides the following macro, which declares and
               initializes the cell

                  SPICEDOUBLE_CELL        ( c, CSZ );

               where CSZ is the maximum capacity of `c'.

Parameters

   None.

Exceptions

   1)  If the intersection of the two windows results in an excess of
       elements, the error SPICE(WINDOWEXCESS) is signaled by a
       routine in the call tree of this routine.

   2)  The cardinality of the input windows must be even. Left
       endpoints of stored intervals must be strictly greater than
       preceding right endpoints. Right endpoints must be greater
       than or equal to corresponding left endpoints. Invalid window
       data are not diagnosed by this routine and may lead to
       unpredictable results.

   3)  If any the `a', `b' or `c' cell arguments has a type other
       than SpiceDouble, the error SPICE(TYPEMISMATCH) is signaled.

Files

   None.

Particulars

   The intersection of two windows contains every point contained
   both in the first window and in the second window.

Examples

   Let a contain the intervals

      [ 1, 3 ]  [ 7, 11 ]  [ 23, 27 ]

   and b contain the intervals

      [ 2, 4 ]  [ 8, 10 ]  [ 16, 18 ]

   Then the intersection of a and b contains the intervals

      [ 2, 3 ]  [ 8, 10 ]

Restrictions

   None.

Literature_References

   None.

Author_and_Institution

   N.J. Bachman        (JPL)
   J. Diaz del Rio     (ODC Space)
   H.A. Neilan         (JPL)
   B.V. Semenov        (JPL)
   W.L. Taber          (JPL)
   I.M. Underwood      (JPL)

Version

   -CSPICE Version 1.0.2, 05-SEP-2021 (JDR)

       Edited the header to comply with NAIF standard. Added entry #3
       in -Exceptions section.

       Extended description of arguments "a", "b" and "c" to include
       type and preferred declaration method.

   -CSPICE Version 1.0.1, 11-FEB-2013 (BVS)

       Corrected typo in Brief I/O section.

   -CSPICE Version 1.0.0, 29-JUL-2002 (NJB) (HAN) (WLT) (IMU)

Index_Entries

   intersect two d.p. windows
Fri Dec 31 18:41:15 2021