## visad.rabin
Class Rain

    java.lang.Object
      visad.rabin.Rain

All Implemented Interfaces:
  ActionListener, ControlListener, EventListener

public class Rain
extends Object
implements ActionListener, ControlListener

Field Summary
`(package private) RealType` `band7` seventh band, used for point mode detection during band changes
`(package private) JLabel[][]` `cell_fields`
`(package private) static String[][]` `cell_formulas`
`(package private) static String[][]` `cell_names`
`(package private) JPanel[][]` `cell_panels`
`(package private) DataReference[][]` `cell_refs`
`(package private) DataReference[][]` `cell_text`
`(package private) CellImpl[][]` `cells`
`(package private) RemoteServer` `client_server` RemoteServer for client this Rain is a client if client_server != null
`(package private) ColorControl` `color_controlH1`
`(package private) ColorControl` `color_controlH2`
`(package private) ColorControl[][]` `color_controls`
`(package private) ScalarMap` `color_mapH1`
`(package private) ScalarMap` `color_mapH2`
`(package private) ScalarMap[][]` `color_maps`
`(package private) LabeledColorWidget` `color_widgetH1`
`(package private) LabeledColorWidget` `color_widgetH2`
`(package private) JPanel[]` `column_panels`
`(package private) RealTupleType` `cursor_type` cursor
`(package private) boolean[][]` `display_done`
`(package private) DisplayImpl[][]` `displays`
`(package private) FormulaManager` `f_manager` formula-related objects
`(package private) CellImpl[][]` `formula_update`
`(package private) static int` `HEIGHT`
`(package private) boolean` `in_proj`
`(package private) JTextField[][]` `jtfield`
`(package private) static double` `MAX`
`(package private) static double` `MAXH2`
`(package private) static double` `MIN`
`(package private) static int` `N_COLUMNS`
`(package private) static int` `N_ROWS`
`(package private) ProjectionControl[][]` `projection_controls`
`(package private) DataReference` `ref_colorH1`
`(package private) DataReference` `ref_colorH2`
`(package private) DataReference` `ref_cursor`
`(package private) DataReference` `ref_projection`
`(package private) DataReference` `ref_vis5d`
`(package private) DataReference` `ref1_4`
`(package private) DataReference` `ref300` remoted DataReferences
`(package private) DataReference` `refMAX`
`(package private) RemoteDisplayImpl[][]` `remote_displays`
`(package private) RemoteServerImpl` `server_server` RemoteServerImpl for server this Rain is a server if server_server != null this Rain is stand-alone if server_server == null and client_server == null
`(package private) VisADSlider` `slider300` widgets and controls
`(package private) boolean` `twod` whether to use Java2D or Java3D
`(package private) static int` `WIDTH` width and height of the UI frame

Method Summary
`void` `actionPerformed(ActionEvent e)` Handle changes to formula text fields
`void` `addCursor(int i, int j)` adds a cursor to display (i, j)
`void` `controlChanged(ControlEvent e)` Handle changes to controls
`void` `finishDisplay(RemoteServer cs, RealType rt, int i, int j)`
`static void` `main(String[] args)`
`DisplayImpl` `newDisplay(String name)` creates a new Java3D or Java2D display
`void` `removeCursor(int i, int j)` removes a cursor from display (i, j)

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### server_server

    RemoteServerImpl server_server

  RemoteServerImpl for server this Rain is a server if server_server != null this Rain is stand-alone if server_server == null and client_server == null

### client_server

    RemoteServer client_server

  RemoteServer for client this Rain is a client if client_server != null

### twod

    boolean twod

  whether to use Java2D or Java3D

### N_COLUMNS

    static final int N_COLUMNS

See Also:
  Constant Field Values

### N_ROWS

    static final int N_ROWS

See Also:
  Constant Field Values

### column_panels

    final JPanel[] column_panels

### cell_panels

    final JPanel[][] cell_panels

### cell_refs

    final DataReference[][] cell_refs

### cells

    final CellImpl[][] cells

### displays

    final DisplayImpl[][] displays

### remote_displays

    final RemoteDisplayImpl[][] remote_displays

### formula_update

    final CellImpl[][] formula_update

### display_done

    final boolean[][] display_done

### cell_names

    static final String[][] cell_names

### cell_formulas

    static final String[][] cell_formulas

### cell_fields

    JLabel[][] cell_fields

### WIDTH

    static final int WIDTH

  width and height of the UI frame

  See Also:
    Constant Field Values

### HEIGHT

    static final int HEIGHT

See Also:
  Constant Field Values

### MIN

    static final double MIN

See Also:
  Constant Field Values

### MAX

    static final double MAX

See Also:
  Constant Field Values

### MAXH2

    static final double MAXH2

See Also:
  Constant Field Values

### ref300

    DataReference ref300

  remoted DataReferences

### ref1_4

    DataReference ref1_4

### refMAX

    DataReference refMAX

### ref_cursor

    DataReference ref_cursor

### ref_vis5d

    DataReference ref_vis5d

### ref_projection

    DataReference ref_projection

### ref_colorH1

    DataReference ref_colorH1

### ref_colorH2

    DataReference ref_colorH2

### cell_text

    DataReference[][] cell_text

### slider300

    VisADSlider slider300

  widgets and controls

### color_widgetH1

    LabeledColorWidget color_widgetH1

### color_widgetH2

    LabeledColorWidget color_widgetH2

### color_controlH1

    ColorControl color_controlH1

### color_controlH2

    ColorControl color_controlH2

### color_controls

    ColorControl[][] color_controls

### projection_controls

    ProjectionControl[][] projection_controls

### color_maps

    ScalarMap[][] color_maps

### color_mapH1

    ScalarMap color_mapH1

### color_mapH2

    ScalarMap color_mapH2

### band7

    RealType band7

  seventh band, used for point mode detection during band changes

### cursor_type

    RealTupleType cursor_type

  cursor

### f_manager

    FormulaManager f_manager

  formula-related objects

### jtfield

    JTextField[][] jtfield

### in_proj

    boolean in_proj

Method Detail

### main

    public static void main(String[] args)
                     throws VisADException,
                            RemoteException,
                            IOException

  Throws:
    `VisADException`
    `RemoteException`
    `IOException`

### newDisplay

    public DisplayImpl newDisplay(String name)
                           throws VisADException,
                                  RemoteException

  creates a new Java3D or Java2D display

  Throws:
    `VisADException`
    `RemoteException`

### addCursor

    public void addCursor(int i,
                          int j)
                   throws VisADException,
                          RemoteException

  adds a cursor to display (i, j)

  Throws:
    `VisADException`
    `RemoteException`

### removeCursor

    public void removeCursor(int i,
                             int j)
                      throws VisADException,
                             RemoteException

  removes a cursor from display (i, j)

  Throws:
    `VisADException`
    `RemoteException`

### finishDisplay

    public void finishDisplay(RemoteServer cs,
                              RealType rt,
                              int i,
                              int j)
                       throws VisADException,
                              RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### actionPerformed

    public void actionPerformed(ActionEvent e)

  Handle changes to formula text fields

  Specified by:
    `actionPerformed` in interface `ActionListener`

### controlChanged

    public void controlChanged(ControlEvent e)
                        throws VisADException,
                               RemoteException

  Handle changes to controls

  Specified by:
    `controlChanged` in interface `ControlListener`
  Throws:
    `VisADException`
    `RemoteException`