visad.bom
Class FlexibleTrackManipulation

java.lang.Object
  extended by visad.bom.FlexibleTrackManipulation

public class FlexibleTrackManipulation
extends Object

FlexibleTrackManipulation is the VisAD class for manipulation of flexible storm tracks (not straight lines)


Constructor Summary
FlexibleTrackManipulation(DataReferenceImpl tr, DisplayImplJ3D d, ScalarMap shape_map1, ScalarMap shape_map2, boolean need_monitor)
          constructor Uses default size of 0.1 and default cyclone symbol geometry
FlexibleTrackManipulation(DataReferenceImpl tr, DisplayImplJ3D d, ScalarMap shape_map1, ScalarMap shape_map2, boolean need_monitor, float size)
          Constructor - Use default cyclone shape geometry
FlexibleTrackManipulation(DataReferenceImpl tr, DisplayImplJ3D d, ScalarMap shape_map1, ScalarMap shape_map2, boolean need_monitor, float size, VisADGeometryArray[][] ga, float[] shapeColour)
          Construct the FTM stuff
 
Method Summary
 void endManipulation()
           
 DataRenderer[] getManipulationRenderers()
          Get access to the renderers.
static void main(String[] args)
           
static VisADGeometryArray[][] makeStormShapes(int nv, float size)
          Create the geometry array which contains the shapes for the cyclone symbols.
 void release()
           
 void start()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlexibleTrackManipulation

public FlexibleTrackManipulation(DataReferenceImpl tr,
                                 DisplayImplJ3D d,
                                 ScalarMap shape_map1,
                                 ScalarMap shape_map2,
                                 boolean need_monitor)
                          throws VisADException,
                                 RemoteException
constructor Uses default size of 0.1 and default cyclone symbol geometry

Throws:
VisADException
RemoteException

FlexibleTrackManipulation

public FlexibleTrackManipulation(DataReferenceImpl tr,
                                 DisplayImplJ3D d,
                                 ScalarMap shape_map1,
                                 ScalarMap shape_map2,
                                 boolean need_monitor,
                                 float size)
                          throws VisADException,
                                 RemoteException
Constructor - Use default cyclone shape geometry

Throws:
VisADException
RemoteException

FlexibleTrackManipulation

public FlexibleTrackManipulation(DataReferenceImpl tr,
                                 DisplayImplJ3D d,
                                 ScalarMap shape_map1,
                                 ScalarMap shape_map2,
                                 boolean need_monitor,
                                 float size,
                                 VisADGeometryArray[][] ga,
                                 float[] shapeColour)
                          throws VisADException,
                                 RemoteException
Construct the FTM stuff

Parameters:
tr - A DataReferenceImpl, The visad data for the cyclone track tr.getData() should have MathType: * (Time -> tuple)) where tuple is flat [e.g., (Latitude, Longitude, shape_index)] and must include RealTypes Latitude and Longitude plus a RealType mapped to Shape in the DisplayImpl d; Time may or may not be mapped to Animation
d - A DisplayImplJ3D, - The Display to add the FTM to
shape_map1 - First ScalarMap of RealTypes in tr.getData()
shape_map2 - Second ScalarMap of RealTypes in tr.getData()
need_monitor - - Need to monitor tr to maintain external changes to it.
size - - storm symbol size
ga - A VisADGeometryArray[][] - two arrays of geometry objects which represent the cyclone symbols in the order: none, low, depresion1, depresion2, s-cyclone1, s-cyclone2, n-cyclone1, n-cyclone2. There are two arrays so you can combine shapes (ie: circle & lines) The geometry can be built with makeStormShapes() or an application defined method.
shapeColour - - colour of symbols TODO: Have a setCycloneGeometry(VisADGeometryArray[][] ga) method
Throws:
VisADException
RemoteException
Method Detail

makeStormShapes

public static VisADGeometryArray[][] makeStormShapes(int nv,
                                                     float size)
                                              throws VisADException
Create the geometry array which contains the shapes for the cyclone symbols.

Parameters:
nv - - The number of vertices?
size - - The size of all the symbols, apparently relative to the size of the window
Throws:
VisADException

endManipulation

public void endManipulation()
                     throws VisADException,
                            RemoteException
Throws:
VisADException
RemoteException

getManipulationRenderers

public DataRenderer[] getManipulationRenderers()
Get access to the renderers. Intended for the app to be able to toggle() this data display. abcd 27 April 2001


release

public void release()

start

public void start()

main

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