package visad.test;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;

import visad.ContourControl;
import visad.DataReference;
import visad.DataReferenceImpl;
import visad.Display;
import visad.DisplayImpl;
import visad.Field;
import visad.FunctionType;
import visad.GraphicsModeControl;
import visad.RealType;
import visad.ScalarMap;
import visad.data.netcdf.Plain;
import visad.java3d.DisplayImplJ3D;
import visad.util.ContourWidget;

public class ContourHardTest {

	public static void main(String[] args) throws Exception {

	  String fn = "";
	  try {
	    fn = args[0];
	  } catch (Exception e) {
	    System.err.println("Must provide a netcdf file readable by visad.data.netcdf.Plain");
	    System.exit(1);
	  }
	  
	  System.err.println("Reading data...");
	  Plain plain = new Plain();
	  Field field = (Field) plain.open(args[0]);
		
		DisplayImpl display = new DisplayImplJ3D("display");
		GraphicsModeControl gmc = display.getGraphicsModeControl();
		gmc.setTextureEnable(false);
		//gmc.setAdjustProjectionSeam(true);
		
		DataReference ref = new DataReferenceImpl("ref");
		ref.setData(field);
		display.addReference(ref);

		FunctionType fcn = (FunctionType) field.getType();
		RealType xType = (RealType) fcn.getDomain().getComponent(0);
		RealType yType = (RealType) fcn.getDomain().getComponent(1);
		
		display.addMap(new ScalarMap(xType, Display.XAxis));
		display.addMap(new ScalarMap(yType, Display.YAxis));
		//display.addMap(new ScalarMap(RealType.Altitude, Display.RGB));
		display.addMap(new ScalarMap(RealType.Altitude, Display.IsoContour));
		
		System.err.println("Setting up GUI...");
		
		JFrame jframe = new JFrame();
		jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jframe.add(display.getComponent());
		jframe.pack();
		jframe.setVisible(true);

		ScalarMap map = (ScalarMap) display.getMapVector().lastElement();
		ContourControl ctl = (ContourControl) map.getControl();
		ctl.enableLabels(true);
		ctl.setDashedStyle(GraphicsModeControl.DASH_STYLE);
		ContourWidget cw = new ContourWidget(map);

		JPanel big_panel = new JPanel();
		big_panel.setLayout(new BorderLayout());
		big_panel.add("Center", cw);

		JFrame jframe2 = new JFrame();
		jframe2.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		jframe2.setContentPane(big_panel);
		jframe2.pack();
		jframe2.setVisible(true);

		System.err.println("Init done");
	}
}

 

Ads help maintain this website.