## visad.bom
Class FrontDrawer

    java.lang.Object
      visad.bom.FrontDrawer

All Implemented Interfaces:
  ControlListener, EventListener

public class FrontDrawer
extends Object
implements ControlListener

FrontDrawer is the VisAD class for manipulation of fronts

Nested Class Summary
`(package private) class` `FrontDrawer.ProjectionControlListener`
`(package private) class` `FrontDrawer.ReleaseCell`
`(package private) class` `FrontDrawer.ZoomCell`

Field Summary
`(package private) float[][][]` `ccs`
`static int` `COLD_FRONT`
`static int` `CONVERGENCE`
`static int` `DRY_LINE`
`(package private) FieldImpl` `ffs`
`static int` `FRONTOGENESIS`
`static int` `FRONTOLYSIS`
`static int` `ISOTHERMS`
`static int` `LIFTED_INDEX`
`static int` `LOW_LEVEL_JET`
`static int` `LOWER_THERMAL_TROUGH`
`static int` `MOISTURE`
`static int` `OCCLUDED_FRONT`
`static int` `RIDGE`
`static int` `STATIONARY_FRONT`
`static int` `THICKNESS_RIDGE`
`static int` `TOTAL_TOTALS`
`static int` `TROUGH`
`static int` `UNEVEN_LOW_LEVEL_JET`
`static int` `UPPER_COLD_FRONT`
`static int` `UPPER_LEVEL_JET`
`static int` `UPPER_THERMAL_TROUGH`
`static int` `UPPER_WARM_FRONT`
`static int` `WARM_FRONT`

Constructor Summary

`FrontDrawer(FieldImpl fs, float[][][] cs, DisplayImplJ3D d, int fw, float segment, float[][][] fshapes, float[] fred, float[] fgreen, float[] fblue, float[][][] rshapes, float[] rred, float[] rgreen, float[] rblue)`
fs is null or has MathType (RealType.Time -> (front_index -> ((Latitude, Longitude) -> (front_red, front_green, front_blue)))) cs is null or contains a time array of curves for fs fw is the filter window size for smoothing the curve segment is length in graphics coordinates of first and repeating profiles fshapes is dimensioned [nfshapes][2][points_per_shape] fred, fgreen and fblue are dimensioned [nfshapes] rshapes is dimensioned [nrshapes][2][points_per_shape] rred, rgreen and rblue are dimensioned [nrshapes] fshapes[*][0][*] and rshapes[*][0][*] generally in range 0.0f to segment

`FrontDrawer(FieldImpl fs, float[][][] cs, DisplayImplJ3D d, int fw, float fsegment, float rsegment, float[][][] fshapes, float[] fred, float[] fgreen, float[] fblue, float[][][] rshapes, float[] rred, float[] rgreen, float[] rblue)`
fs is null or has MathType (RealType.Time -> (front_index -> ((Latitude, Longitude) -> (front_red, front_green, front_blue)))) cs is null or contains a time array of curves for fs fw is the filter window size for smoothing the curve fsegment is length in graphics coordinates of first profile rsegment is length in graphics coordinates of repeating profile fshapes is dimensioned [nfshapes][2][points_per_shape] fred, fgreen and fblue are dimensioned [nfshapes] rshapes is dimensioned [nrshapes][2][points_per_shape] rred, rgreen and rblue are dimensioned [nrshapes] fshapes[*][0][*] and rshapes[*][0][*] generally in range 0.0f to segment

`FrontDrawer(FieldImpl fs, float[][][] cs, DisplayImplJ3D d, int fw, int front_kind)` manipulable front with predefined pattern front_kind and default color arrays
`FrontDrawer(FieldImpl fs, float[][][] cs, DisplayImplJ3D d, int fw, int front_kind, float[] fred, float[] fgreen, float[] fblue, float[] rred, float[] rgreen, float[] rblue)` manipulable front with predefined pattern front_kind and user specified color arrays

Method Summary
`void` `controlChanged(ControlEvent e)` send a ControlEvent to this ControlListener
`static float` `curveLength(float[][] curve, float[] seg_length)` assumes curve is float[2][len] and seg_length is float[len-1]
`Vector` `endItAll()` called by the application to end manipulation; returns the final front
`void` `endManipulation()` called by the application to end manipulation; returns the final front
`Gridded2DSet` `getCurve()`
`DefaultRendererJ3D` `getFrontRenderer()`
`static void` `initColormaps(DisplayImplJ3D display)`
`static void` `main(String[] args)`
`void` `release()`
`static float[][]` `resample_curve(float[][] curve, float increment)` resmaple curve into segments approximately increment in length
`static float[][]` `smooth_curve(float[][] curve, int window)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ccs

    float[][][] ccs

### ffs

    FieldImpl ffs

### COLD_FRONT

    public static final int COLD_FRONT

See Also:
  Constant Field Values

### WARM_FRONT

    public static final int WARM_FRONT

See Also:
  Constant Field Values

### OCCLUDED_FRONT

    public static final int OCCLUDED_FRONT

See Also:
  Constant Field Values

### STATIONARY_FRONT

    public static final int STATIONARY_FRONT

See Also:
  Constant Field Values

### CONVERGENCE

    public static final int CONVERGENCE

See Also:
  Constant Field Values

### FRONTOGENESIS

    public static final int FRONTOGENESIS

See Also:
  Constant Field Values

### FRONTOLYSIS

    public static final int FRONTOLYSIS

See Also:
  Constant Field Values

### UPPER_COLD_FRONT

    public static final int UPPER_COLD_FRONT

See Also:
  Constant Field Values

### UPPER_WARM_FRONT

    public static final int UPPER_WARM_FRONT

See Also:
  Constant Field Values

### TROUGH

    public static final int TROUGH

See Also:
  Constant Field Values

### RIDGE

    public static final int RIDGE

See Also:
  Constant Field Values

### MOISTURE

    public static final int MOISTURE

See Also:
  Constant Field Values

### LOW_LEVEL_JET

    public static final int LOW_LEVEL_JET

See Also:
  Constant Field Values

### UPPER_LEVEL_JET

    public static final int UPPER_LEVEL_JET

See Also:
  Constant Field Values

### DRY_LINE

    public static final int DRY_LINE

See Also:
  Constant Field Values

### TOTAL_TOTALS

    public static final int TOTAL_TOTALS

See Also:
  Constant Field Values

### LIFTED_INDEX

    public static final int LIFTED_INDEX

See Also:
  Constant Field Values

### ISOTHERMS

    public static final int ISOTHERMS

See Also:
  Constant Field Values

### THICKNESS_RIDGE

    public static final int THICKNESS_RIDGE

See Also:
  Constant Field Values

### LOWER_THERMAL_TROUGH

    public static final int LOWER_THERMAL_TROUGH

See Also:
  Constant Field Values

### UPPER_THERMAL_TROUGH

    public static final int UPPER_THERMAL_TROUGH

See Also:
  Constant Field Values

### UNEVEN_LOW_LEVEL_JET

    public static final int UNEVEN_LOW_LEVEL_JET

See Also:
  Constant Field Values

Constructor Detail

### FrontDrawer

    public FrontDrawer(FieldImpl fs,
                       float[][][] cs,
                       DisplayImplJ3D d,
                       int fw,
                       int front_kind,
                       float[] fred,
                       float[] fgreen,
                       float[] fblue,
                       float[] rred,
                       float[] rgreen,
                       float[] rblue)
                throws VisADException,
                       RemoteException

  manipulable front with predefined pattern front_kind and user specified color arrays

### FrontDrawer

    public FrontDrawer(FieldImpl fs,
                       float[][][] cs,
                       DisplayImplJ3D d,
                       int fw,
                       int front_kind)
                throws VisADException,
                       RemoteException

  manipulable front with predefined pattern front_kind and default color arrays

### FrontDrawer

    public FrontDrawer(FieldImpl fs,
                       float[][][] cs,
                       DisplayImplJ3D d,
                       int fw,
                       float segment,
                       float[][][] fshapes,
                       float[] fred,
                       float[] fgreen,
                       float[] fblue,
                       float[][][] rshapes,
                       float[] rred,
                       float[] rgreen,
                       float[] rblue)
                throws VisADException,
                       RemoteException

  fs is null or has MathType (RealType.Time -> (front_index -> ((Latitude, Longitude) -> (front_red, front_green, front_blue)))) cs is null or contains a time array of curves for fs fw is the filter window size for smoothing the curve segment is length in graphics coordinates of first and repeating profiles fshapes is dimensioned [nfshapes][2][points_per_shape] fred, fgreen and fblue are dimensioned [nfshapes] rshapes is dimensioned [nrshapes][2][points_per_shape] rred, rgreen and rblue are dimensioned [nrshapes] fshapes[*][0][*] and rshapes[*][0][*] generally in range 0.0f to segment

### FrontDrawer

    public FrontDrawer(FieldImpl fs,
                       float[][][] cs,
                       DisplayImplJ3D d,
                       int fw,
                       float fsegment,
                       float rsegment,
                       float[][][] fshapes,
                       float[] fred,
                       float[] fgreen,
                       float[] fblue,
                       float[][][] rshapes,
                       float[] rred,
                       float[] rgreen,
                       float[] rblue)
                throws VisADException,
                       RemoteException

  fs is null or has MathType (RealType.Time -> (front_index -> ((Latitude, Longitude) -> (front_red, front_green, front_blue)))) cs is null or contains a time array of curves for fs fw is the filter window size for smoothing the curve fsegment is length in graphics coordinates of first profile rsegment is length in graphics coordinates of repeating profile fshapes is dimensioned [nfshapes][2][points_per_shape] fred, fgreen and fblue are dimensioned [nfshapes] rshapes is dimensioned [nrshapes][2][points_per_shape] rred, rgreen and rblue are dimensioned [nrshapes] fshapes[*][0][*] and rshapes[*][0][*] generally in range 0.0f to segment

Method Detail

### controlChanged

    public void controlChanged(ControlEvent e)

  Description copied from interface: `ControlListener`
  send a ControlEvent to this ControlListener

  Specified by:
    `controlChanged` in interface `ControlListener`

### getFrontRenderer

    public DefaultRendererJ3D getFrontRenderer()

### initColormaps

    public static void initColormaps(DisplayImplJ3D display)
                              throws VisADException,
                                     RemoteException

  Throws:
    `VisADException`
    `RemoteException`

### getCurve

    public Gridded2DSet getCurve()

### release

    public void release()

### endManipulation

    public void endManipulation()
                         throws VisADException,
                                RemoteException

  called by the application to end manipulation; returns the final front

  Throws:
    `VisADException`
    `RemoteException`

### endItAll

    public Vector endItAll()
                    throws VisADException,
                           RemoteException

  called by the application to end manipulation; returns the final front

  Throws:
    `VisADException`
    `RemoteException`

### smooth_curve

    public static float[][] smooth_curve(float[][] curve,
                                         int window)

### resample_curve

    public static float[][] resample_curve(float[][] curve,
                                           float increment)

  resmaple curve into segments approximately increment in length

### curveLength

    public static float curveLength(float[][] curve,
                                    float[] seg_length)

  assumes curve is float[2][len] and seg_length is float[len-1]

### main

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

  Throws:
    `VisADException`
    `RemoteException`