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

       wnexpd_c ( Expand the intervals of a DP window )

       void wnexpd_c ( SpiceDouble    left,
                       SpiceDouble    right,
                       SpiceCell    * window )

#### Abstract

       Expand each of the intervals of a double precision window.

#### Required_Reading

       WINDOWS

#### Keywords

       WINDOWS

#### Brief_I/O

       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       left       I   Amount subtracted from each left endpoint.
       right      I   Amount added to each right endpoint.
       window    I-O  Window to be expanded.

#### Detailed_Input

       left        is the amount to be subtracted from the left endpoint of
                   each interval in the input window. The amount `left' is
                   signed.

       right       is the amount to be added to the right endpoint of each
                   interval in the window. The amount `right' is signed.

       window      on input, is a window containing zero or more
                   intervals.

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

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

                      SPICEDOUBLE_CELL        ( window, WINDOWSZ );

                   where WINDOWSZ is the maximum capacity of `window'.

#### Detailed_Output

       window      on output, is the original window with each of its
                   intervals expanded by `left' units on the left and
                   `right' units on the right.

#### Parameters

       None.

#### Exceptions

       1)  The cardinality of the input `window' 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.

       2)  If the `window' cell argument has a type other than
           SpiceDouble, the error SPICE(TYPEMISMATCH) is signaled.

#### Files

       None.

#### Particulars

       This routine expands (lengthens) each of the intervals in
       the input window. The adjustments are not necessarily symmetric.
       That is, left units are subtracted from the left endpoint of
       each interval, and right units are added to the right endpoint
       of each interval, where left and right may be different.

       Intervals are merged when expansion causes them to overlap.

#### Examples

       Let window contain the intervals

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

       Then the following series of calls

          wnexpd_c (  2.0,  1.0, &window );              (1)
          wnexpd_c ( -2.0,  2.0, &window );              (2)
          wnexpd_c ( -2.0, -1.0, &window );              (3)

       produces the following series of windows

          [ -1, 4 ]  [ 5, 12 ]  [ 21, 30 ]               (1)
          [  1, 6 ]  [ 7, 14 ]  [ 23, 32 ]               (2)
          [  3, 5 ]  [ 9, 13 ]  [ 25, 31 ]               (3)

       Note that intervals may be "expanded" by negative amounts.
       In the example above, the second call shifts each interval to
       the right, while the third call undoes the effect of the first
       call (without restoring the merged intervals).

       Note also that the third call is exactly equivalent to the
       call

          wncond_c ( 2, 1, &window );

#### 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)

#### Version

       -CSPICE Version 1.0.1, 05-AUG-2021 (JDR)

           Edited the header to comply with NAIF standard.

           Extended description of argument "window" in -Detailed_Input to include
           type and preferred declaration method.

           Added entry #1 in -Exceptions section.

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

#### Index_Entries

       expand the intervals of a d.p. window

#### Link to routine wnexpd_c source file wnexpd_c.c

    Fri Dec 31 18:41:15 2021