visad.bom
Class CollectiveBarbManipulation
- java.lang.Object
-
- visad.bom.CollectiveBarbManipulation
-
public class CollectiveBarbManipulation extends java.lang.ObjectCollectiveBarbManipulation is the VisAD class for manipulation of collections of wind barbs
-
-
Constructor Summary
Constructors Constructor and Description CollectiveBarbManipulation(FieldImpl wf, DisplayImplJ3D d1, DisplayImplJ3D d2, ConstantMap[] cms, boolean abs, float id, float od, float it, float ot, int sta, boolean need_monitor, boolean brbs, boolean fs, boolean kts, boolean dz, double[] inner_circle_color, int inner_circle_width, double[] outer_circle_color, int outer_circle_width)wf should have MathType: (station_index -> (Time -> tuple)) where tuple is flat [e.g., (Latitude, Longitude, (flow_dir, flow_speed))] and must include RealTypes Latitude and Longitude plus RealTypes mapped to Flow1Azimuth and Flow1Radial, or to Flow2Azimuth and Flow2Radial, in the DisplayImplJ3Ds d1 and d2 (unless they are not null); d1 must have Time mapped to Animation, and d2 must not; abs indicates absolute or relative value adjustment id and od are inner and outer distances in meters it and ot are inner and outer times in seconds influence is 1.0 inside inner, 0.0 outside outer and linear between distance and time influences multiply; cms are ConstantMap's used for rendering barbs each time the user clicks the right mouse button to manipulate a wind barb, the "reference" values for all wind barbs are set - thus repeatedly adjusting the same barb will magnify its influence over its neighbors; sta is index of station for display2; need_monitor is true if wf might be changed externally during manipulation brbs is true to indicate Barb*RendererJ3D, false to indicate Swell*RendererJ3D fs is true to indicate that d2 should switch to whatever station is being manipulated kts is false to indicate no m/s to knots conversion in wind barb renderers dz is true to indicate to use DiscoverableZoom inner_circle_color is array of RGB colors for an inner circle of influence, or null for no inner circles inner_circle_width is the line width for the inner circle outer_circle_color is array of RGB colors for an outer circle of influence, or null for no outer circles outer_circle_width is the line width for the outer circle
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddStation(FlatField station)voidaddStation(float lat, float lon)construct new wind station at (lat, lon) with initial winds = 0FieldImplendManipulation()called by the application to end manipulation; returns the final wind fieldDataRenderer[]getManipulationRenderers()DataRenderer[]getManipulationRenderers2()static voidmain(java.lang.String[] args)voidrelease()voidsetCollectiveCurve(boolean abs, DataReference r, float it, float ot)set a DataReference to a curve (typically from a CurveManipulationRendererJ3D) to replace distance parameters; also set time parametersvoidsetCollectiveParameters(boolean abs, float id, float od, float it, float ot)set values that govern collective barb adjustment and disable any DataReference to a spatial curve; abs indicates absolute or relative value adjustment id and od are inner and outer distances in meters it and ot are inner and outer times in seconds influence is 1.0 inside inner, 0.0 outside outer and linear between distance and time influences multiplyvoidsetCollectiveTimeParameters(boolean abs, float it, float ot)set values that govern collective barb adjustment but don't change spatial parameters or curve_ref; abs indicates absolute or relative value adjustment it and ot are inner and outer times in seconds influence is 1.0 inside inner, 0.0 outside outer and linear between distance and time influences multiplyvoidsetStation(int sta)called by the application to select which station is selected in display2voidsetTimeDir(int dir)set value that governs whether collective changes are propagated only forward in time (dir > 0), only backward (dir < 0), or both (dir == 0)
-
-
-
Constructor Detail
-
CollectiveBarbManipulation
public CollectiveBarbManipulation(FieldImpl wf, DisplayImplJ3D d1, DisplayImplJ3D d2, ConstantMap[] cms, boolean abs, float id, float od, float it, float ot, int sta, boolean need_monitor, boolean brbs, boolean fs, boolean kts, boolean dz, double[] inner_circle_color, int inner_circle_width, double[] outer_circle_color, int outer_circle_width) throws VisADException, java.rmi.RemoteException
wf should have MathType: (station_index -> (Time -> tuple)) where tuple is flat [e.g., (Latitude, Longitude, (flow_dir, flow_speed))] and must include RealTypes Latitude and Longitude plus RealTypes mapped to Flow1Azimuth and Flow1Radial, or to Flow2Azimuth and Flow2Radial, in the DisplayImplJ3Ds d1 and d2 (unless they are not null); d1 must have Time mapped to Animation, and d2 must not; abs indicates absolute or relative value adjustment id and od are inner and outer distances in meters it and ot are inner and outer times in seconds influence is 1.0 inside inner, 0.0 outside outer and linear between distance and time influences multiply; cms are ConstantMap's used for rendering barbs each time the user clicks the right mouse button to manipulate a wind barb, the "reference" values for all wind barbs are set - thus repeatedly adjusting the same barb will magnify its influence over its neighbors; sta is index of station for display2; need_monitor is true if wf might be changed externally during manipulation brbs is true to indicate Barb*RendererJ3D, false to indicate Swell*RendererJ3D fs is true to indicate that d2 should switch to whatever station is being manipulated kts is false to indicate no m/s to knots conversion in wind barb renderers dz is true to indicate to use DiscoverableZoom inner_circle_color is array of RGB colors for an inner circle of influence, or null for no inner circles inner_circle_width is the line width for the inner circle outer_circle_color is array of RGB colors for an outer circle of influence, or null for no outer circles outer_circle_width is the line width for the outer circle- Throws:
VisADExceptionjava.rmi.RemoteException
-
-
Method Detail
-
addStation
public void addStation(float lat, float lon) throws VisADException, java.rmi.RemoteExceptionconstruct new wind station at (lat, lon) with initial winds = 0- Throws:
VisADExceptionjava.rmi.RemoteException
-
addStation
public void addStation(FlatField station) throws VisADException, java.rmi.RemoteException
- Throws:
VisADExceptionjava.rmi.RemoteException
-
setCollectiveParameters
public void setCollectiveParameters(boolean abs, float id, float od, float it, float ot) throws VisADException, java.rmi.RemoteExceptionset values that govern collective barb adjustment and disable any DataReference to a spatial curve; abs indicates absolute or relative value adjustment id and od are inner and outer distances in meters it and ot are inner and outer times in seconds influence is 1.0 inside inner, 0.0 outside outer and linear between distance and time influences multiply- Throws:
VisADExceptionjava.rmi.RemoteException
-
setCollectiveTimeParameters
public void setCollectiveTimeParameters(boolean abs, float it, float ot) throws VisADException, java.rmi.RemoteExceptionset values that govern collective barb adjustment but don't change spatial parameters or curve_ref; abs indicates absolute or relative value adjustment it and ot are inner and outer times in seconds influence is 1.0 inside inner, 0.0 outside outer and linear between distance and time influences multiply- Throws:
VisADExceptionjava.rmi.RemoteException
-
setTimeDir
public void setTimeDir(int dir)
set value that governs whether collective changes are propagated only forward in time (dir > 0), only backward (dir < 0), or both (dir == 0)
-
setCollectiveCurve
public void setCollectiveCurve(boolean abs, DataReference r, float it, float ot) throws VisADException, java.rmi.RemoteExceptionset a DataReference to a curve (typically from a CurveManipulationRendererJ3D) to replace distance parameters; also set time parameters- Throws:
VisADExceptionjava.rmi.RemoteException
-
setStation
public void setStation(int sta) throws VisADException, java.rmi.RemoteExceptioncalled by the application to select which station is selected in display2- Throws:
VisADExceptionjava.rmi.RemoteException
-
getManipulationRenderers
public DataRenderer[] getManipulationRenderers()
-
getManipulationRenderers2
public DataRenderer[] getManipulationRenderers2()
-
endManipulation
public FieldImpl endManipulation() throws VisADException, java.rmi.RemoteException
called by the application to end manipulation; returns the final wind field- Throws:
VisADExceptionjava.rmi.RemoteException
-
release
public void release()
-
main
public static void main(java.lang.String[] args) throws VisADException, java.rmi.RemoteException- Throws:
VisADExceptionjava.rmi.RemoteException
-
-
DMelt 3.0 © DataMelt by jWork.ORG