visad.bom
Class ImageRendererJ3D

java.lang.Object
  extended by visad.DataRenderer
      extended by visad.java3d.RendererJ3D
          extended by visad.java3d.DefaultRendererJ3D
              extended by visad.bom.ImageRendererJ3D
All Implemented Interfaces:
java.lang.Cloneable

public class ImageRendererJ3D
extends DefaultRendererJ3D

ImageRendererJ3D is the VisAD class for fast loading of images and image sequences under Java3D. WARNING - when reUseFrames is true during doTransform() ImageRendererJ3D makes these assumptions: 1. That the images in a new time sequence are identical to any images at the same time in a previous sequence. 2. That the image sequence defines the entire animation sampling.


Field Summary
 
Fields inherited from class visad.DataRenderer
enabled, pickCrawlToCursor
 
Constructor Summary
ImageRendererJ3D()
           
 
Method Summary
 java.lang.Object clone()
           
 javax.media.j3d.BranchGroup doTransform()
          create a BranchGroup scene graph for Data in links[0]
 boolean getReUseFrames()
           
 boolean getSetSetOnReUseFrames()
           
static boolean isImageType(MathType type)
          determine whether the given MathType is usable with ImageRendererJ3D
static boolean isRendererUsable(MathType type, ScalarMap[] maps)
          determine whether the given MathType and collection of ScalarMaps meets the criteria to use ImageRendererJ3D.
static void main(java.lang.String[] args)
          run 'java visad.bom.ImageRendererJ3D len step' to test animation behavior of ImageRendererJ3D renders a loop of len at step ms per frame then updates loop by deleting first time and adding a new last time
 ShadowType makeShadowFunctionType(FunctionType type, DataDisplayLink link, ShadowType parent)
          factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowFunctionType; these factories are invoked by the buildShadowType methods of the MathType subclasses, which are invoked by DataDisplayLink.prepareData, which is invoked by DataRenderer.prepareAction
 void setReUseFrames()
          Deprecated. - use setReUseFrames(boolean reuse)
 void setReUseFrames(boolean reuse)
          Toggle the re-using of frames when a new image or set of images is set in the datareference.
 void setSetSetOnReUseFrames(boolean ss)
           
static void verifyImageRendererUsable(MathType type, ScalarMap[] maps)
          Deprecated. Use isRendererUsable(MathType, ScalarMap[]) instead.
 
Methods inherited from class visad.java3d.DefaultRendererJ3D
getLink, setLinks
 
Methods inherited from class visad.java3d.RendererJ3D
clearBranch, clearScene, doAction, flush, getBranch, makeShadowRealTupleType, makeShadowRealType, makeShadowSetType, makeShadowTextType, makeShadowTupleType, 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, 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
 

Constructor Detail

ImageRendererJ3D

public ImageRendererJ3D()
Method Detail

isImageType

public static boolean isImageType(MathType type)
determine whether the given MathType is usable with ImageRendererJ3D


verifyImageRendererUsable

public static void verifyImageRendererUsable(MathType type,
                                             ScalarMap[] maps)
                                      throws VisADException
Deprecated. Use isRendererUsable(MathType, ScalarMap[]) instead.

Throws:
VisADException

isRendererUsable

public static boolean isRendererUsable(MathType type,
                                       ScalarMap[] maps)
                                throws VisADException
determine whether the given MathType and collection of ScalarMaps meets the criteria to use ImageRendererJ3D. Throw a VisADException if ImageRenderer cannot be used, otherwise return true.

Throws:
VisADException

makeShadowFunctionType

public ShadowType makeShadowFunctionType(FunctionType type,
                                         DataDisplayLink link,
                                         ShadowType parent)
                                  throws VisADException,
                                         java.rmi.RemoteException
Description copied from class: DataRenderer
factory for constructing a subclass of ShadowType appropriate for the graphics API, that also adapts ShadowFunctionType; these factories are invoked by the buildShadowType methods of the MathType subclasses, which are invoked by DataDisplayLink.prepareData, which is invoked by DataRenderer.prepareAction

Overrides:
makeShadowFunctionType in class RendererJ3D
Throws:
VisADException
java.rmi.RemoteException

setReUseFrames

public void setReUseFrames(boolean reuse)
Toggle the re-using of frames when a new image or set of images is set in the datareference.

WARNING - when reUseFrames is true during doTransform() ImageRendererJ3D makes these assumptions:

  1. That the images in a new time sequence are identical to any images at the same time in a previous sequence.
  2. That the image sequence defines the entire animation sampling.


setReUseFrames

public void setReUseFrames()
Deprecated. - use setReUseFrames(boolean reuse)

Turn on the reusing of frames


getReUseFrames

public boolean getReUseFrames()

setSetSetOnReUseFrames

public void setSetSetOnReUseFrames(boolean ss)

getSetSetOnReUseFrames

public boolean getSetSetOnReUseFrames()

doTransform

public javax.media.j3d.BranchGroup doTransform()
                                        throws VisADException,
                                               java.rmi.RemoteException
Description copied from class: DefaultRendererJ3D
create a BranchGroup scene graph for Data in links[0]

Overrides:
doTransform in class DefaultRendererJ3D
Throws:
VisADException
java.rmi.RemoteException

clone

public java.lang.Object clone()
Overrides:
clone in class DefaultRendererJ3D

main

public static void main(java.lang.String[] args)
                 throws VisADException,
                        java.rmi.RemoteException,
                        java.io.IOException
run 'java visad.bom.ImageRendererJ3D len step' to test animation behavior of ImageRendererJ3D renders a loop of len at step ms per frame then updates loop by deleting first time and adding a new last time

Throws:
VisADException
java.rmi.RemoteException
java.io.IOException