visad.cluster
Class NodeRendererJ3D

java.lang.Object
  extended by visad.DataRenderer
      extended by visad.java3d.RendererJ3D
          extended by visad.java3d.DefaultRendererJ3D
              extended by 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.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, constrainDragPoint, 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
Parameters:
type - FunctionType that returned ShadowType will shadow
link - DataDisplayLink linking Data to be depicted
parent - parent in ShadowType tree structure
Returns:
constructed ShadowType
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

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
Parameters:
type - FunctionType that returned ShadowType will shadow
link - DataDisplayLink linking Data to be depicted
parent - parent in ShadowType tree structure
Returns:
constructed ShadowType
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

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
Parameters:
type - FunctionType that returned ShadowType will shadow
link - DataDisplayLink linking Data to be depicted
parent - parent in ShadowType tree structure
Returns:
constructed ShadowType
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

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
Parameters:
type - FunctionType that returned ShadowType will shadow
link - DataDisplayLink linking Data to be depicted
parent - parent in ShadowType tree structure
Returns:
constructed ShadowType
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

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
Parameters:
type - FunctionType that returned ShadowType will shadow
link - DataDisplayLink linking Data to be depicted
parent - parent in ShadowType tree structure
Returns:
constructed ShadowType
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

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
Returns:
flag indicating if the transform was done successfully
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

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
Returns:
a copy of this DataRenderer
Throws:
CloneNotSupportedException

main

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