Skip navigation links

Package ucar.visad

Provides support for hiding some of the complexity of the VisAD package.

See: Description

Package ucar.visad Description

Provides support for hiding some of the complexity of the VisAD package.

For the MetApps project, the most relevant top-level classes are probably DisplayMaster and Displayable. Here's a simple schematic of how they might be used (bold text is more important):

    import javax.swing.*;
    import ucar.visad.*;
    import visad.*;

    public class MyDisplay
        extends DisplayMaster
    {
        public MyDisplay()
        {
            super(new DisplayImplJ2D("MyDisplay"));
            ...
            addScalarMap(new ScalarMap(commonScalarType1, commonDisplayType1));
            ...
        }

        public static void main(String[] args)
        {
            MyDisplay myDisplay = new MyDisplay();
            myDisplay.addDisplayable(new MyDisplayable(...));
            myDisplay.addDisplayable(new MyDisplayable(...));
            ...
            JFrame    jframe = new JFrame("My Display");
            jframe.getContentPane().add(myDisplay.getComponent());
            myDisplay.draw();
            jframe.pack();
            jframe.setVisible(true);
        }
    }

    public class MyDisplayable
        extends Displayable
    { ... }
The above example creates a DisplayMaster from a VisAD LocalDisplay, adds the ScalarMaps that are common to the Displayable that it will display (typically spatial ScalarMap-s), adds some Displayables of subclass MyDisplayable, and then renders the Displayables. This illustrates the fundamental relationship between DisplayMaster and Displayable: a DisplayMaster manages the display of one or more Displayables.

Skip navigation links