Index Page
wncond_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 wncond_c ( SpiceDouble     left,
                   SpiceDouble     right,
                   SpiceCell     * window ) 

Abstract

 
   Contract each of the intervals of a double precision window. 
 

Required_Reading

 
   WINDOWS 
 

Keywords

 
   WINDOWS 
 

Brief_I/O

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

Detailed_Input

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

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

   window      on input, is a CSPICE 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 contracted 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 contracts (shortens) each of the intervals in 
   the input window. The adjustments are not necessarily symmetric. 
   That is, left units are added to the left endpoint of each 
   interval, and right units are subtracted from the right endpoint 
   of each interval, where left and right may be different. 

   Intervals are dropped when they are contracted by amounts 
   greater than their measures. 
 

Examples

 
   Let window contain the intervals 

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

   Then the following series of calls 

      wncond_c (  2,  1, &window );              (1) 
      wncond_c ( -2,  2, &window );              (2) 
      wncond_c ( -2, -1, &window );              (3) 

   produces the following series of windows 

      [ 9, 10 ]  [ 25, 26 ]                      (1) 
      [ 7,  8 ]  [ 23, 24 ]                      (2) 
      [ 5,  9 ]  [ 21, 25 ]                      (3) 

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

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

      wnexpd_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, 21-JUL-2002 (NJB) (HAN) (WLT) (IMU)

Index_Entries

 
   contract the intervals of a d.p. window 
 

Link to routine wncond_c source file wncond_c.c

Wed Apr  5 17:54:47 2017