## visad.java2d
Class DirectManipulationRendererJ2D

    java.lang.Object
      visad.DataRenderer
          visad.java2d.RendererJ2D
              visad.java2d.DirectManipulationRendererJ2D

All Implemented Interfaces:
  Cloneable

Direct Known Subclasses:
  BarbManipulationRendererJ2D, CurveManipulationRendererJ2D, PickManipulationRendererJ2D

public class DirectManipulationRendererJ2D
extends RendererJ2D

DirectManipulationRendererJ2D is the VisAD class for direct manipulation rendering under Java2D.

This DataRenderer supports direct manipulation for Real, RealTuple and Field Data objects (Field data objects must have RealType or RealTupleType ranges and Gridded1DSet domain Sets); no RealType may be mapped to multiple spatial DisplayRealTypes; the RealType of a Real object must be mapped to XAxis, YAxis or YAxis; at least one of the RealType components of a RealTuple object must be mapped to XAxis, YAxis or YAxis; the domain RealType and at least one RealType range component of a Field object must be mapped to XAxis or YAxis

Field Summary
`(package private) VisADGroup` `branch`
`(package private) VisADGroup` `extra_branch`

Fields inherited from class visad.java2d.RendererJ2D
`swit, swParent`

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

Constructor Summary

`DirectManipulationRendererJ2D()`
this DataRenderer supports direct manipulation for Real, RealTuple and Field Data objects (Field data objects must have RealType or RealTupleType ranges and Gridded1DSet domain Sets); no RealType may be mapped to multiple spatial DisplayRealTypes; the RealType of a Real object must be mapped to XAxis, YAxis or YAxis; at least one of the RealType components of a RealTuple object must be mapped to XAxis, YAxis or YAxis; the domain RealType and at least one RealType range component of a Field object must be mapped to XAxis, YAxis or YAxis

Method Summary
`void` `addPoint(float[] x)` add point for temporary rendering; intended to be over-ridden by graphics-API-specific extensions of DataRenderer
`(package private) void` `addSwitch(DisplayRendererJ2D displayRenderer, VisADGroup branch)`
`void` `checkDirect()` set isDirectManipulation = true if this DataRenderer supports direct manipulation for the MathType of its linked Data, and for its ScalarMaps; intended to be over-ridden by extensions of DataRenderer
`Object` `clone()`
`VisADGroup` `doTransform()` create a VisADGroup scene graph for Data in links[0]
`VisADGroup` `getExtraBranch()`
`boolean` `isLegalTextureMap()`
`void` `setLinks(DataDisplayLink[] links, DisplayImpl d)` set DataDisplayLinks for linked Data, and set associated DisplayImpl

Methods inherited from class visad.java2d.RendererJ2D
`clearBranch, clearScene, doAction, makeShadowFunctionType, makeShadowRealTupleType, makeShadowRealType, makeShadowSetType, makeShadowTextType, makeShadowTupleType, toggle`

Methods inherited from class visad.DataRenderer

`addException, checkAction, checkClose, 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, getLink, getLinks, getPickCrawlToCursor, getRanges, getRealVectorTypes, getWhyNotDirect, 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

### branch

    VisADGroup branch

### extra_branch

    VisADGroup extra_branch

Constructor Detail

### DirectManipulationRendererJ2D

    public DirectManipulationRendererJ2D()

  this DataRenderer supports direct manipulation for Real, RealTuple and Field Data objects (Field data objects must have RealType or RealTupleType ranges and Gridded1DSet domain Sets); no RealType may be mapped to multiple spatial DisplayRealTypes; the RealType of a Real object must be mapped to XAxis, YAxis or YAxis; at least one of the RealType components of a RealTuple object must be mapped to XAxis, YAxis or YAxis; the domain RealType and at least one RealType range component of a Field object must be mapped to XAxis, YAxis or YAxis

Method Detail

### setLinks

    public void setLinks(DataDisplayLink[] links,
                         DisplayImpl d)
                  throws VisADException

  Description copied from class: `DataRenderer`
  set DataDisplayLinks for linked Data, and set associated DisplayImpl

  Overrides:
    `setLinks` in class `RendererJ2D`
  Throws:
    `VisADException`

### checkDirect

    public void checkDirect()
                     throws VisADException,
                            RemoteException

  Description copied from class: `DataRenderer`
  set isDirectManipulation = true if this DataRenderer supports direct manipulation for the MathType of its linked Data, and for its ScalarMaps; intended to be over-ridden by extensions of DataRenderer

  Overrides:
    `checkDirect` in class `DataRenderer`
  Throws:
    `RemoteException` - an RMI error occurred
    `VisADException` - a VisAD error occurred

### addPoint

    public void addPoint(float[] x)
                  throws VisADException

  Description copied from class: `DataRenderer`
  add point for temporary rendering; intended to be over-ridden by graphics-API-specific extensions of DataRenderer

  Overrides:
    `addPoint` in class `DataRenderer`
  Parameters:
    `x` - 3-D graphics coordinates of point to render
  Throws:
    `VisADException` - a VisAD error occurred

### getExtraBranch

    public VisADGroup getExtraBranch()

### doTransform

    public VisADGroup doTransform()
                           throws VisADException,
                                  RemoteException

  create a VisADGroup scene graph for Data in links[0]

  Specified by:
    `doTransform` in class `RendererJ2D`
  Throws:
    `VisADException`
    `RemoteException`

### addSwitch

    void addSwitch(DisplayRendererJ2D displayRenderer,
                   VisADGroup branch)
             throws VisADException

  Specified by:
    `addSwitch` in class `RendererJ2D`
  Throws:
    `VisADException`

### isLegalTextureMap

    public boolean isLegalTextureMap()

  Overrides:
    `isLegalTextureMap` in class `DataRenderer`
  Returns:
    flag indicating whether texture mapping is legal for this DataRenderer

### clone

    public Object clone()

  Specified by:
    `clone` in class `DataRenderer`
  Returns:
    a copy of this DataRenderer