wnexpd_c

Index Page wnexpd_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 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.

       right       is the amount to be added to the right endpoint
                   of each interval in the window.

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

                   window must be declared as a double precision
                   SpiceCell.
#### 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) If the input window does not have double precision type,
          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)
       H.A. Neilan     (JPL)
       W.L. Taber      (JPL)
       I.M. Underwood  (JPL)
#### Version
       -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

    Thu Apr 16 08:59:40 2009