visad.java3d
Class DirectManipulationRendererJ3D

java.lang.Object
  extended by visad.DataRenderer
      extended by visad.java3d.RendererJ3D
          extended by visad.java3d.DirectManipulationRendererJ3D
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
BarbManipulationRendererJ3D, CurveManipulationRendererJ3D, PickManipulationRendererJ3D, PointManipulationRendererJ3D, RubberBandBoxRendererJ3D, RubberBandLineRendererJ3D

public class DirectManipulationRendererJ3D
extends RendererJ3D

DirectManipulationRendererJ3D is the VisAD class for direct manipulation rendering under Java3D.


Field Summary
 
Fields inherited from class visad.DataRenderer
enabled, pickCrawlToCursor
 
Constructor Summary
DirectManipulationRendererJ3D()
          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 ZAxis
 
Method Summary
 void addPoint(float[] x)
          add point for temporary rendering; intended to be over-ridden by graphics-API-specific extensions of DataRenderer
 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
 void clearScene()
          clear any scene graph created by this DataRenderer, and clear all instance variables
 Object clone()
           
 BranchGroup doTransform()
          create a BranchGroup scene graph for Data in links[0]
 boolean isLegalTextureMap()
           
 void setBranch(BranchGroup b)
          for use by sub-classes that override doTransform()
 void setLinks(DataDisplayLink[] links, DisplayImpl d)
          set DataDisplayLinks for linked Data, and set associated DisplayImpl
 
Methods inherited from class visad.java3d.RendererJ3D
clearBranch, doAction, flush, getBranch, makeShadowFunctionType, makeShadowRealTupleType, makeShadowRealType, makeShadowSetType, makeShadowTextType, makeShadowTupleType, setBranchEarly, toggle
 
Methods inherited from class visad.DataRenderer
addException, checkAction, checkClose, 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, 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
 

Constructor Detail

DirectManipulationRendererJ3D

public DirectManipulationRendererJ3D()
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 ZAxis

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 RendererJ3D
Parameters:
links - array of DataDisplayLinks to set
d - associated DisplayImpl to set
Throws:
VisADException - a VisAD error occurred

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:
VisADException - a VisAD error occurred
RemoteException - an RMI 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

doTransform

public BranchGroup doTransform()
                        throws VisADException,
                               RemoteException
create a BranchGroup scene graph for Data in links[0]

Specified by:
doTransform in class RendererJ3D
Throws:
VisADException
RemoteException

setBranch

public void setBranch(BranchGroup b)
for use by sub-classes that override doTransform()


isLegalTextureMap

public boolean isLegalTextureMap()
Overrides:
isLegalTextureMap in class DataRenderer
Returns:
flag indicating whether texture mapping is legal for this DataRenderer

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 RendererJ3D

clone

public Object clone()
Specified by:
clone in class DataRenderer
Returns:
a copy of this DataRenderer