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.