## visad.bom
Class ImageRendererJ3D

    java.lang.Object
      visad.DataRenderer
          visad.java3d.RendererJ3D
              visad.java3d.DefaultRendererJ3D
                  visad.bom.ImageRendererJ3D

All Implemented Interfaces:
  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.java3d.DefaultRendererJ3D
``

Fields inherited from class visad.java3d.RendererJ3D
``

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

Constructor Summary
`ImageRendererJ3D()`

Method Summary
`void` `clearScene()` clear any scene graph created by this DataRenderer, and clear all instance variables
`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(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 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;

`(package private) void` `markMissingVisADBranch()`
`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)`
`(package private) void` `setVisADBranch(VisADBranchGroup branch)`
`static void` `verifyImageRendererUsable(MathType type, ScalarMap[] maps)` Deprecated. Use isRendererUsable(MathType, ScalarMap[]) instead.

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

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

### 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()

### clearScene

    public void clearScene()

  Description copied from class: `DataRenderer`
  clear any scene graph created by this DataRenderer, and clear all instance variables

  Overrides:
    `clearScene` in class `DefaultRendererJ3D`

### setVisADBranch

    void setVisADBranch(VisADBranchGroup branch)

### markMissingVisADBranch

    void markMissingVisADBranch()

### doTransform

    public javax.media.j3d.BranchGroup doTransform()
                                            throws VisADException,
                                                   RemoteException

  Description copied from class: `DefaultRendererJ3D`
  create a BranchGroup scene graph for Data in links[0]

  Overrides:
    `doTransform` in class `DefaultRendererJ3D`
  Throws:
    `VisADException`
    `RemoteException`

### clone

    public Object clone()

  Overrides:
    `clone` in class `DefaultRendererJ3D`

### main

    public static void main(String[] args)
                     throws VisADException,
                            RemoteException,
                            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`
    `RemoteException`
    `IOException`