## visad.bom
Class BarbRendererJ2D

    java.lang.Object
      visad.DataRenderer
          visad.java2d.RendererJ2D
              visad.java2d.DefaultRendererJ2D
                  visad.bom.BarbRendererJ2D

All Implemented Interfaces:
  BarbRenderer, Cloneable

public class BarbRendererJ2D
extends DefaultRendererJ2D
implements BarbRenderer

BarbRendererJ2D is the VisAD class for rendering of wind barbs under Java2D - otherwise it behaves just like DefaultRendererJ2D

Field Summary
`(package private) static int` `N`

Fields inherited from class visad.java2d.DefaultRendererJ2D
``

Fields inherited from class visad.java2d.RendererJ2D
``

Fields inherited from class visad.DataRenderer
`enabled, pickCrawlToCursor`

Constructor Summary
`BarbRendererJ2D()` this DataRenderer supports direct manipulation for RealTuple representations of wind barbs; four of the RealTuple's Real components must be mapped to XAxis, YAxis, Flow1X and Flow1Y

Method Summary
`Object` `clone()`
`boolean` `getKnotsConvert()`
`static void` `main(String[] args)` run 'java visad.bom.BarbRendererJ2D middle_latitude' to test with Cartesian winds run 'java visad.bom.BarbRendererJ2D middle_latitude x' to test with polar winds adjust middle_latitude for south or north barbs

`ShadowType`

`makeShadowFunctionType(FunctionType type, DataDisplayLink link, ShadowType parent)`
factory method for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowFunctionType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

`ShadowType`

`makeShadowRealTupleType(RealTupleType type, DataDisplayLink link, ShadowType parent)`
factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowRealTupleType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

`ShadowType`

`makeShadowRealType(RealType type, DataDisplayLink link, ShadowType parent)`
factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowRealType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

`ShadowType`

`makeShadowSetType(SetType type, DataDisplayLink link, ShadowType parent)`
factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowSetType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

`ShadowType`

`makeShadowTupleType(TupleType type, DataDisplayLink link, ShadowType parent)`
factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowTupleType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

`float[]` `makeVector(boolean south, float x, float y, float z, float scale, float pt_size, float f0, float f1, float[] vx, float[] vy, float[] vz, int[] numv, float[] tx, float[] ty, float[] tz, int[] numt)` dummy for BarbRenderer
`void` `setKnotsConvert(boolean enable)`

Methods inherited from class visad.java2d.DefaultRendererJ2D
`doTransform, getLink, setLinks`

Methods inherited from class visad.java2d.RendererJ2D
`clearBranch, clearScene, doAction, makeShadowTextType, toggle`

Methods inherited from class visad.DataRenderer

`addException, addPoint, checkAction, checkClose, checkDirect, clearAVControls, clearExceptions, computeRanges, drag_direct, earthToSpatial, earthToSpatial, findRayManifoldIntersection, get_all_feasible, get_any_changed, get_any_transform_control, getBadScale, getDisplay, getDisplayCoordinateSystem, getDisplayRenderer, getEarthDimension, getEarthUnits, getEnabled, getExceptionVector, getIsDirectManipulation, getLastMouseModifiers, getLatLonIndices, getLatLonRange, getLinks, getPickCrawlToCursor, getRanges, getRealVectorTypes, getWhyNotDirect, isLegalTextureMap, isTransformControl, prepareAction, realCheckDirect, release_direct, removeLink, set_all_feasible, setDisplay, setDisplayRenderer, setEarthSpatialData, setEarthSpatialDisplay, setIsDirectManipulation, setLastMouseModifiers, setLatLonIndices, setLinks, setPickCrawlToCursor, setSpatialValues, spatialToEarth, spatialToEarth, stop_direct, suppressExceptions`

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

Field Detail

### N

    static final int N

See Also:
  Constant Field Values

Constructor Detail

### BarbRendererJ2D

    public BarbRendererJ2D()

  this DataRenderer supports direct manipulation for RealTuple representations of wind barbs; four of the RealTuple's Real components must be mapped to XAxis, YAxis, Flow1X and Flow1Y

Method Detail

### makeShadowFunctionType

    public ShadowType makeShadowFunctionType(FunctionType type,
                                             DataDisplayLink link,
                                             ShadowType parent)
                                      throws VisADException,
                                             RemoteException

  Description copied from class: `DataRenderer`
  factory method for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowFunctionType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

  Overrides:
    `makeShadowFunctionType` in class `RendererJ2D`
  Throws:
    `VisADException`
    `RemoteException`

### makeShadowRealTupleType

    public ShadowType makeShadowRealTupleType(RealTupleType type,
                                              DataDisplayLink link,
                                              ShadowType parent)
                                       throws VisADException,
                                              RemoteException

  Description copied from class: `DataRenderer`
  factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowRealTupleType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

  Overrides:
    `makeShadowRealTupleType` in class `RendererJ2D`
  Throws:
    `VisADException`
    `RemoteException`

### makeShadowRealType

    public ShadowType makeShadowRealType(RealType type,
                                         DataDisplayLink link,
                                         ShadowType parent)
                                  throws VisADException,
                                         RemoteException

  Description copied from class: `DataRenderer`
  factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowRealType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

  Overrides:
    `makeShadowRealType` in class `RendererJ2D`
  Throws:
    `VisADException`
    `RemoteException`

### makeShadowSetType

    public ShadowType makeShadowSetType(SetType type,
                                        DataDisplayLink link,
                                        ShadowType parent)
                                 throws VisADException,
                                        RemoteException

  Description copied from class: `DataRenderer`
  factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowSetType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

  Overrides:
    `makeShadowSetType` in class `RendererJ2D`
  Throws:
    `VisADException`
    `RemoteException`

### makeShadowTupleType

    public ShadowType makeShadowTupleType(TupleType type,
                                          DataDisplayLink link,
                                          ShadowType parent)
                                   throws VisADException,
                                          RemoteException

  Description copied from class: `DataRenderer`
  factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowTupleType; ShadowType trees are constructed that 'shadow' the MathType trees of Data to be depicted, via recursive calls to buildShadowType() methods of MathType sub-classes, to DataRenderer.makeShadow*Type() methods, to Shadow*Type constructors, then back to buildShadowType() methods; the recursive call chain is initiated by DataDisplayLink.prepareData() calls to buildShadowType() methods of MathType sub-classes;

  Overrides:
    `makeShadowTupleType` in class `RendererJ2D`
  Throws:
    `VisADException`
    `RemoteException`

### makeVector

    public float[] makeVector(boolean south,
                              float x,
                              float y,
                              float z,
                              float scale,
                              float pt_size,
                              float f0,
                              float f1,
                              float[] vx,
                              float[] vy,
                              float[] vz,
                              int[] numv,
                              float[] tx,
                              float[] ty,
                              float[] tz,
                              int[] numt)

  dummy for BarbRenderer

  Specified by:
    `makeVector` in interface `BarbRenderer`

### setKnotsConvert

    public void setKnotsConvert(boolean enable)

  Specified by:
    `setKnotsConvert` in interface `BarbRenderer`

### getKnotsConvert

    public boolean getKnotsConvert()

  Specified by:
    `getKnotsConvert` in interface `BarbRenderer`

### clone

    public Object clone()

  Overrides:
    `clone` in class `DefaultRendererJ2D`

### main

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

  run 'java visad.bom.BarbRendererJ2D middle_latitude' to test with Cartesian winds run 'java visad.bom.BarbRendererJ2D middle_latitude x' to test with polar winds adjust middle_latitude for south or north barbs

  Throws:
    `VisADException`
    `RemoteException`