; STEPLEVS
;---------------------------------------------------------------
;! Sets RGBLEVS to fill LEVS with a repeated sequence of colors
;# Procedure PLOT
;-----------------------------------------------------------------------
;;  Copyright (C) 2006
;;  Associated Universities, Inc. Washington DC, USA.
;;
;;  This program is free software; you can redistribute it and/or
;;  modify it under the terms of the GNU General Public License as
;;  published by the Free Software Foundation; either version 2 of
;;  the License, or (at your option) any later version.
;;
;;  This program is distributed in the hope that it will be useful,
;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;  GNU General Public License for more details.
;;
;;  You should have received a copy of the GNU General Public
;;  License along with this program; if not, write to the Free
;;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
;;  MA 02139, USA.
;;
;;  Correspondence concerning AIPS should be addressed as follows:
;;         Internet email: aipsmail@nrao.edu.
;;         Postal address: AIPS Project Office
;;                         National Radio Astronomy Observatory
;;                         520 Edgemont Road
;;                         Charlottesville, VA 22903-2475 USA
;-----------------------------------------------------------------------
STEPLEVS   LLLLLLLLLLLLUUUUUUUUUUUU CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
STEPLEVS   Proc to set RGBLEVS to a repeated sequence of colors
LEVS     $                          Contour levels
RGBGAMMA $       0.0                Gamma correction parameter
RGBLEVS  @       0.0        1.0     RGB for each LEVS in order
----------------------------------------------------------------
STEPLEVS
Proc:  This procedure will set RGBGAMMA if it is not positive, will
       examine the LEVS values and set them to -10 to -1 followed by 1
       to 10 if they are not set.  Then it will determine a list of
       colors of length given by an immediate argument to STEPLEVS.
       It will set RGBLEVS so that the first positive LEVS and first
       negative LEVS will be the first color in the list, the 2nd
       positive and 2nd negative LEVS will be the second color in the
       list, and so forth.  If there are more positive or more
       negative LEVS that there are colors in the list, then the list
       is reused.  Thus, if there are 6 colors and 10 positive LEVS,
       the first 6 LEVS gets colors 1 through 6, and the remaining 4
       LEVS get colors 1 through 4.

       Before using this procedure you must enter
              RUN SETRGBL
       which will define this and 3 other procedures.  Any time you
       change the values in LEVS, you should then enter
              STEPLEVS (x)
       again to select the new set of colors.  Note that these colors
       are similar to those of the verb TVPSEUDO with Button C (first
       three patterns)

       The colors are for X=5
           pure blue, cyan, green, yellow, red
       For x=6
           pure blue, cyan, green, yellow, red, magenta
       For x=7
           pure blue, cyan, green, yellow, red, magenta, white
       For x=8 a sequence suggested by Lincoln Greenhill,
           approximately magenta, blue, cyan, green, yellow, orange,
           red, brown
       For x=9 a sequence suggested by Renzo Sanchisi
           approximately grey, magenta, dark blue, light blue,
           dark green, light green, yellow, orange, red
       For x=10 a sequence suggested by GYPSY
           approximately grey, cyan, blue, dark green, red, orange,
           yellow, light green, magenta, white

Input/output adverbs:
  RGBGAMMA...If 0 on input, set to 2.2.  The gamma correction
             parameter to adjust colors (value used = input value to
             the 1/RGBGAMMA power).  Larger values make more pastel
             colors.
  LEVS.......Contour level multipliers.  Up to 30 values in increasing
             order - if all 0 on input, set to -10 to -1, 1, to 10.
             Defines which values require colors and what their range
             should be.  Thus, if you change LEVS, you should execute
             STEPLEVS again.
  X..........Immediate argument to procedure.
Output adverbs:
  RGBLEVS....RGB colors (3,30) for each of the LEVS in use.
"Scratch" adverbs:
  II, JJ, KK, XX, YY, RR, GG, BB, TT are all changed by the procedure.
----------------------------------------------------------------
