visad.java3d
Class TransformOnlyDisplayRendererJ3D

java.lang.Object
  extended by visad.DisplayRenderer
      extended by visad.java3d.DisplayRendererJ3D
          extended by visad.java3d.TransformOnlyDisplayRendererJ3D
All Implemented Interfaces:
EventListener, ControlListener, RendererSourceListener
Direct Known Subclasses:
NodeDisplayRendererJ3D

public class TransformOnlyDisplayRendererJ3D
extends DisplayRendererJ3D

TransformOnlyDisplayRendererJ3D is the VisAD class for the transforming but not rendering under Java3D.


Constructor Summary
TransformOnlyDisplayRendererJ3D()
          This is the DisplayRenderer used for the TRANSFORM_ONLY api.
 
Method Summary
 void addDirectManipulationSceneGraphComponent(Group group, DirectManipulationRendererJ3D renderer)
           
 void addSceneGraphComponent(Group group)
           
 boolean anyDirects()
          Check to see if there are any DirectManipulationRenderers in this display.
 void clearScales()
          Remove all the scales being rendered.
 void clearScene(DataRenderer renderer)
           
 BranchGroup createSceneGraph(View v, TransformGroup vpt, VisADCanvasJ3D c)
          Create scene graph root, if none exists, with Transform and direct manipulation root; create 3-D box, lights and MouseBehaviorJ3D for embedded user interface.
 void drag_cursor(VisADRay ray, boolean first)
          drag cursor parallel to plane of screen
 void drag_depth(float diff)
          drag cursor in depth (in and out of screen)
 void drawCursorStringVector(VisADCanvasJ3D canvas)
          Whenever cursorOn or directOn is true, display Strings in cursorStringVector.
 DataRenderer findDirect(VisADRay ray, int mouseModifiers)
          Find the DataRenderer that is closest to the ray and uses the specified mouse modifiers for direct manipulation.
 BufferedImage getImage()
          Capture the display rendition as an image.
 boolean legalDataRenderer(DataRenderer renderer)
          Check if the DataRenderer in question is legal for this DisplayRenderer
 DataRenderer makeDefaultRenderer()
          Create the default DataRenderer for this type of DisplayRenderer
 void setBoxAspect(double[] aspect)
          set the aspect for the containing box aspect double[3] array used to scale x, y and z box sizes
 void setCursorLoc(float x, float y, float z)
          Set the cursor location
 void setCursorOn(boolean on)
          Toggle the cursor in the display
 void setDirectOn(boolean on)
          Set the flag for direct manipulation
 void setScale(int axis, int axis_ordinal, VisADLineArray array, float[] scale_color)
          Set the scale for the appropriate axis.
 void setScale(int axis, int axis_ordinal, VisADLineArray array, VisADTriangleArray labels, float[] scale_color)
          Set the scale for the appropriate axis.
 void setScaleOn(boolean on)
          Set the scales on.
 void setTransform3D(Transform3D t)
           
 
Methods inherited from class visad.java3d.DisplayRendererJ3D
addKeyboardBehavior, addLockedSceneGraphComponent, addLockedSceneGraphComponent, clearScale, controlChanged, createBasicSceneGraph, createBasicSceneGraph, depth_cursor, destroy, getBoxOnBranch, getCanvas, getCursor, getCursorOnBranch, getKeyboardBehavior, getMouseBehavior, getRoot, getTextureHeightMax, getTextureWidthMax, getTrans, getView, getViewTrans, initControl, makeControl, render_trigger, rendererDeleted, setClip, setDisplay, setLineWidth, setScale, setSceneGraphObjectName, setWaitFlag, updateLockedTrans
 
Methods inherited from class visad.DisplayRenderer
getAnimationString, getAnimationStringVisible, getBoxOn, getCursorColor, getCursorStringVector, getCursorStringVectorUnconditional, getDirectAxisValue, getDirectAxisValue, getDisplay, getMode2D, getPickThreshhold, getRendererControl, getRotateAboutCenter, getScaleRotation, getWaitFlag, getWaitMessageVisible, legalDisplayScalar, prepareAction, setAnimationString, setAnimationStringVisible, setBackgroundColor, setBackgroundColor, setBoxColor, setBoxColor, setBoxOn, setCursorColor, setCursorColor, setCursorStringOn, setCursorStringVector, setCursorStringVector, setForegroundColor, setForegroundColor, setPickThreshhold, setRotateAboutCenter, setScaleRotation, setWaitMessageVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransformOnlyDisplayRendererJ3D

public TransformOnlyDisplayRendererJ3D()
This is the DisplayRenderer used for the TRANSFORM_ONLY api. It is used for only transforming data into VisADSceneGraphObject but not rendering (and hence no interaction).

Method Detail

createSceneGraph

public BranchGroup createSceneGraph(View v,
                                    TransformGroup vpt,
                                    VisADCanvasJ3D c)
Create scene graph root, if none exists, with Transform and direct manipulation root; create 3-D box, lights and MouseBehaviorJ3D for embedded user interface.

Specified by:
createSceneGraph in class DisplayRendererJ3D
Parameters:
v -
vpt -
c -
Returns:
Scene graph root.

getImage

public BufferedImage getImage()
Description copied from class: DisplayRendererJ3D
Capture the display rendition as an image.

Overrides:
getImage in class DisplayRendererJ3D
Returns:
image of the display.

setCursorOn

public void setCursorOn(boolean on)
Description copied from class: DisplayRendererJ3D
Toggle the cursor in the display

Overrides:
setCursorOn in class DisplayRendererJ3D
Parameters:
on - true to display the cursor, false to hide it.

setDirectOn

public void setDirectOn(boolean on)
Description copied from class: DisplayRendererJ3D
Set the flag for direct manipulation

Overrides:
setDirectOn in class DisplayRendererJ3D
Parameters:
on - true for enabling direct manipulation, false to disable

addSceneGraphComponent

public void addSceneGraphComponent(Group group)
Overrides:
addSceneGraphComponent in class DisplayRendererJ3D

addDirectManipulationSceneGraphComponent

public void addDirectManipulationSceneGraphComponent(Group group,
                                                     DirectManipulationRendererJ3D renderer)
Overrides:
addDirectManipulationSceneGraphComponent in class DisplayRendererJ3D

clearScene

public void clearScene(DataRenderer renderer)
Overrides:
clearScene in class DisplayRendererJ3D

drag_depth

public void drag_depth(float diff)
Description copied from class: DisplayRenderer
drag cursor in depth (in and out of screen)

Overrides:
drag_depth in class DisplayRendererJ3D
Parameters:
diff - amount to move cursor in depth (0.0 corresponds to no movement)

drag_cursor

public void drag_cursor(VisADRay ray,
                        boolean first)
Description copied from class: DisplayRenderer
drag cursor parallel to plane of screen

Overrides:
drag_cursor in class DisplayRendererJ3D
Parameters:
ray - VisADRay that goes through new cursor location
first - true to indicate this is first call to drag_cursor() for this drag

setCursorLoc

public void setCursorLoc(float x,
                         float y,
                         float z)
Description copied from class: DisplayRendererJ3D
Set the cursor location

Overrides:
setCursorLoc in class DisplayRendererJ3D
Parameters:
x - x location
y - y location
z - z location

drawCursorStringVector

public void drawCursorStringVector(VisADCanvasJ3D canvas)
Description copied from class: DisplayRendererJ3D
Whenever cursorOn or directOn is true, display Strings in cursorStringVector.

Overrides:
drawCursorStringVector in class DisplayRendererJ3D

findDirect

public DataRenderer findDirect(VisADRay ray,
                               int mouseModifiers)
Description copied from class: DisplayRendererJ3D
Find the DataRenderer that is closest to the ray and uses the specified mouse modifiers for direct manipulation.

Overrides:
findDirect in class DisplayRendererJ3D
Parameters:
ray - position to check
mouseModifiers - modifiers for mouse clicks
Returns:
closest DataRenderer that uses the specified mouse click modifiers for direct manipulation or null if there is none.

anyDirects

public boolean anyDirects()
Description copied from class: DisplayRendererJ3D
Check to see if there are any DirectManipulationRenderers in this display.

Overrides:
anyDirects in class DisplayRendererJ3D
Returns:
true if there are any

setScaleOn

public void setScaleOn(boolean on)
Description copied from class: DisplayRendererJ3D
Set the scales on.

Overrides:
setScaleOn in class DisplayRendererJ3D
Parameters:
on - turn on if true, otherwise turn them off

setScale

public void setScale(int axis,
                     int axis_ordinal,
                     VisADLineArray array,
                     float[] scale_color)
              throws VisADException
Description copied from class: DisplayRendererJ3D
Set the scale for the appropriate axis.

Overrides:
setScale in class DisplayRendererJ3D
Parameters:
axis - axis for this scale (0 = XAxis, 1 = YAxis, 2 = ZAxis)
axis_ordinal - position along the axis
array - VisADLineArray representing the scale plot
scale_color - array (dim 3) representing the red, green and blue color values.
Throws:
VisADException - couldn't set the scale

setScale

public void setScale(int axis,
                     int axis_ordinal,
                     VisADLineArray array,
                     VisADTriangleArray labels,
                     float[] scale_color)
              throws VisADException
Description copied from class: DisplayRendererJ3D
Set the scale for the appropriate axis.

Overrides:
setScale in class DisplayRendererJ3D
Parameters:
axis - axis for this scale (0 = XAxis, 1 = YAxis, 2 = ZAxis)
axis_ordinal - position along the axis
array - VisADLineArray representing the scale plot
labels - VisADTriangleArray representing the labels created using a font (can be null)
scale_color - array (dim 3) representing the red, green and blue color values.
Throws:
VisADException - couldn't set the scale

clearScales

public void clearScales()
Description copied from class: DisplayRendererJ3D
Remove all the scales being rendered.

Overrides:
clearScales in class DisplayRendererJ3D

setTransform3D

public void setTransform3D(Transform3D t)
Overrides:
setTransform3D in class DisplayRendererJ3D

setBoxAspect

public void setBoxAspect(double[] aspect)
Description copied from class: DisplayRenderer
set the aspect for the containing box aspect double[3] array used to scale x, y and z box sizes

Specified by:
setBoxAspect in class DisplayRenderer

makeDefaultRenderer

public DataRenderer makeDefaultRenderer()
Description copied from class: DisplayRendererJ3D
Create the default DataRenderer for this type of DisplayRenderer

Overrides:
makeDefaultRenderer in class DisplayRendererJ3D
Returns:
new default renderer

legalDataRenderer

public boolean legalDataRenderer(DataRenderer renderer)
Description copied from class: DisplayRendererJ3D
Check if the DataRenderer in question is legal for this DisplayRenderer

Overrides:
legalDataRenderer in class DisplayRendererJ3D
Parameters:
renderer - DataRenderer to check
Returns:
true if renderer is a subclass of RendererJ3D