## visad.cluster
Class NodeRendererJ3D

    java.lang.Object
      visad.DataRenderer
          visad.java3d.RendererJ3D
              visad.java3d.DefaultRendererJ3D
                  visad.cluster.NodeRendererJ3D

All Implemented Interfaces:
  Cloneable

public class NodeRendererJ3D
extends DefaultRendererJ3D

NodeRendererJ3D is the VisAD class for transforming data into VisADSceneGraphObjects, but not rendering, on cluster nodes

Field Summary

Fields inherited from class visad.java3d.DefaultRendererJ3D
``

Fields inherited from class visad.java3d.RendererJ3D
``

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

Constructor Summary
`NodeRendererJ3D()` this constructor is need for NodeDisplayRendererJ3D.makeDefaultRenderer() but it should never be called
`NodeRendererJ3D(NodeAgent a)` this DataRenderer transforms data into VisADSceneGraphObjects, but does not render, on cluster nodes; send scene graphs back via NodeAgent

Method Summary
`Object` `clone()`
`boolean` `doAction()` re-transform if needed; return false if not done
`void` `enableTransform()`
`boolean` `fakeTransform()` create a VisADGroup scene graph for Data in links[0]; a substitute for doTransform() without and Java3D classes in its signature
`int` `getResolution()`
`static void` `main(String[] args)`

`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;

`DataShadow` `prepareAction(boolean go, boolean initialize, DataShadow shadow)` check if re-transform is needed; if initialize is true then compute ranges for RealTypes and Animation sampling
`void` `setResolution(int r)`

Methods inherited from class visad.java3d.DefaultRendererJ3D
`addSwitch, clearScene, doTransform, getLink, setLinks`

Methods inherited from class visad.java3d.RendererJ3D
`clearBranch, flush, getBranch, makeShadowTextType, setBranchEarly, 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, 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`

Constructor Detail

### NodeRendererJ3D

    public NodeRendererJ3D()

  this constructor is need for NodeDisplayRendererJ3D.makeDefaultRenderer() but it should never be called

### NodeRendererJ3D

    public NodeRendererJ3D(NodeAgent a)

  this DataRenderer transforms data into VisADSceneGraphObjects, but does not render, on cluster nodes; send scene graphs back via NodeAgent

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 `RendererJ3D`
  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 `RendererJ3D`
  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 `RendererJ3D`
  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 `RendererJ3D`
  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 `RendererJ3D`
  Throws:
    `VisADException`
    `RemoteException`

### setResolution

    public void setResolution(int r)

### getResolution

    public int getResolution()

### enableTransform

    public void enableTransform()

### prepareAction

    public DataShadow prepareAction(boolean go,
                                    boolean initialize,
                                    DataShadow shadow)
                             throws VisADException,
                                    RemoteException

  Description copied from class: `DataRenderer`
  check if re-transform is needed; if initialize is true then compute ranges for RealTypes and Animation sampling

  Overrides:
    `prepareAction` in class `DataRenderer`
  Parameters:
    `go` - flag indicating that re-transform is required for at least one DataRenderer linked to DisplayImpl
    `initialize` - flag indicating that initialization (i.e., auto-scaling) is required
    `shadow` - DataShadow shared by prepareAction() method of all DataRenderers linked to DisplayImpl
  Returns:
    DataShadow containing ranges and animation sampling Set (return null if no need for initialization)
  Throws:
    `VisADException` - a VisAD error occurred
    `RemoteException` - an RMI error occurred

### doAction

    public boolean doAction()
                     throws VisADException,
                            RemoteException

  re-transform if needed; return false if not done

  Overrides:
    `doAction` in class `RendererJ3D`
  Throws:
    `VisADException`
    `RemoteException`

### fakeTransform

    public boolean fakeTransform()
                          throws VisADException,
                                 RemoteException

  create a VisADGroup scene graph for Data in links[0]; a substitute for doTransform() without and Java3D classes in its signature

  Throws:
    `VisADException`
    `RemoteException`

### clone

    public Object clone()
                 throws CloneNotSupportedException

  Overrides:
    `clone` in class `DefaultRendererJ3D`
  Throws:
    `CloneNotSupportedException`

### main

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

  Throws:
    `VisADException`
    `RemoteException`