CSPICE_WNINTD places the intersection of two double precision windows into a third window. For important details concerning this module's function, please refer to the CSPICE routine wnintd_c.
Given: a, b scalar, double precision windows, each of which contains zero or more intervals. The user must create 'a' and 'b' using cspice_celld. the call: cspice_wnintd, a, b, c returns: c the scalar, double precision output window, containing the difference of 'a' and 'b'---every point contained in 'a', but not contained in 'b'. The user must create 'c' using cspice_celld. 'c' must be distinct from 'a' and 'b'.
Any numerical results shown for this example may differ between platforms as the results depend on the SPICE kernels used as input and the machine specific arithmetic implementation. ;; ;; Create three cells each containing a double precision ;; 8-vector. ;; win1 = cspice_celld( 8 ) win2 = cspice_celld( 8 ) win3 = cspice_celld( 8 ) ;; ;; Define two windows with three intervals. ;; darray = [ [ 1.d, 3.0], [ 7.0, 11.0], [23.0, 27.0] ] ;; ;; Add the window data to the cell. ;; for i=0, 2 do begin cspice_wninsd, darray[0,i], darray[1,i], win1 endfor darray2 = [ [ 2.d, 6.0], [ 8.0, 10.0], [16.0, 18.0] ] ;; ;; Add the window data to the cell. ;; for i=0, 2 do begin cspice_wninsd, darray2[0,i], darray2[1,i], win2 endfor ;; ;; Do the intersection. ;; cspice_wnintd, win1, win2, win3 ;; ;; Calculate the number of intervals in the ;; return window 'win3'. ;; no_intervals = cspice_wncard(win3) ;; ;; Output the intervals. ;; for i= 0, (no_intervals -1 ) do begin cspice_wnfetd, win3, i, left, right print, left, right endfor IDL outputs: 2.0000000 3.0000000 8.0000000 10.000000
The user must create any needed window structures with cspice_celld prior to use regardless of whether the routine uses the window as input or returns it as output. The intersection of two windows contains every point contained both in the first window and in the second window.
-Icy Version 1.0.2, 26-NOV-2007, EDW (JPL) Implemented use of cspice_wncard function to return window cardinality. -Icy Version 1.0.1, 12-SEP-2006, EDW (JPL) Correct Required Reading citation CELL.REQ to CELLS.REQ. -Icy Version 1.0.0, 08-AUG-2004, EDW (JPL)
intersect two d.p. windows
Wed Apr 5 17:58:05 2017