nl.tudelft.simulation.dsol.gui.animation3D.mouse
Class ZoomMouseBehavior

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Leaf
              extended by javax.media.j3d.Behavior
                  extended by com.sun.j3d.utils.behaviors.mouse.MouseBehavior
                      extended by nl.tudelft.simulation.dsol.gui.animation3D.mouse.ZoomMouseBehavior
All Implemented Interfaces:
MouseListener, MouseMotionListener, MouseWheelListener, EventListener

public class ZoomMouseBehavior
extends com.sun.j3d.utils.behaviors.mouse.MouseBehavior

ZoomMouseBehavior is a Java3D behavior object that lets users control the Z axis translation of an object via a mouse drag motion with the second mouse button. See MouseRotate for similar usage info. Based on com.sun.j3d.utils.behaviors.mouse.MouseZoom.


Field Summary
 
Fields inherited from class com.sun.j3d.utils.behaviors.mouse.MouseBehavior
buttonPress, currXform, enable, flags, invert, INVERT_INPUT, MANUAL_WAKEUP, mouseCriterion, mouseEvents, mouseq, reset, transformGroup, transformX, transformY, wakeUp, x, x_last, y, y_last
 
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
ZoomMouseBehavior()
          Creates a default mouse zoom behavior.
ZoomMouseBehavior(Component c)
          Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
ZoomMouseBehavior(Component c, int flags)
          Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
ZoomMouseBehavior(Component c, TransformGroup transformGroup)
          Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
ZoomMouseBehavior(int flags)
          Creates a zoom behavior.
ZoomMouseBehavior(TransformGroup transformGroup)
          Creates a zoom behavior given the transform group.
 
Method Summary
 double getFactor()
           
 void initialize()
           
 void processStimulus(Enumeration criteria)
           
 void setFactor(double factor)
          Set the y-axis movement multipler with factor.
 void setRotateXGroup(TransformGroup rotateXGroup)
          Set the rotation around the x-axis.
 void setRotateYGroup(TransformGroup rotateYGroup)
          Set the rotation around the y-axis.
 void setupCallback(com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback callback)
          The transformChanged method in the callback class will be called every time the transform is updated
 void transformChanged(Transform3D transform)
          Users can overload this method which is called every time the Behavior updates the transform Default implementation does nothing
 
Methods inherited from class com.sun.j3d.utils.behaviors.mouse.MouseBehavior
addListener, getTransformGroup, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, processMouseEvent, setEnable, setTransformGroup, wakeup
 
Methods inherited from class javax.media.j3d.Behavior
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences, wakeupOn
 
Methods inherited from class javax.media.j3d.Node
cloneNode, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ZoomMouseBehavior

public ZoomMouseBehavior(TransformGroup transformGroup)
Creates a zoom behavior given the transform group.

Parameters:
transformGroup - The transformGroup to operate on.

ZoomMouseBehavior

public ZoomMouseBehavior()
Creates a default mouse zoom behavior.


ZoomMouseBehavior

public ZoomMouseBehavior(int flags)
Creates a zoom behavior. Note that this behavior still needs a transform group to work on (use setTransformGroup(tg)) and the transform group must add this behavior.

Parameters:
flags - flags

ZoomMouseBehavior

public ZoomMouseBehavior(Component c)
Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behavior is added to the specified Component. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method.

Parameters:
c - The Component to add the MouseListener and MouseMotionListener to.
Since:
Java 3D 1.2.1

ZoomMouseBehavior

public ZoomMouseBehavior(Component c,
                         TransformGroup transformGroup)
Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behaviors is added to the specified Component and works on the given TransformGroup.

Parameters:
c - The Component to add the MouseListener and MouseMotionListener to. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method.
transformGroup - The TransformGroup to operate on.
Since:
Java 3D 1.2.1

ZoomMouseBehavior

public ZoomMouseBehavior(Component c,
                         int flags)
Creates a zoom behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent. The behavior is added to the specified Component. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method. Note that this behavior still needs a transform group to work on (use setTransformGroup(tg)) and the transform group must add this behavior.

Parameters:
c - The Component to add the MouseListener and MouseMotionListener to. A null component can be passed to specify the behavior should use listeners. Components can then be added to the behavior with the addListener(Component c) method.
flags - interesting flags (wakeup conditions).
Since:
Java 3D 1.2.1
Method Detail

initialize

public void initialize()
Overrides:
initialize in class com.sun.j3d.utils.behaviors.mouse.MouseBehavior
See Also:
Behavior.initialize()

getFactor

public double getFactor()
Returns:
the y-axis movement multipler.

setFactor

public void setFactor(double factor)
Set the y-axis movement multipler with factor.

Parameters:
factor - the zoom factor

setRotateXGroup

public void setRotateXGroup(TransformGroup rotateXGroup)
Set the rotation around the x-axis.

Parameters:
rotateXGroup - rotation around x-axis.

setRotateYGroup

public void setRotateYGroup(TransformGroup rotateYGroup)
Set the rotation around the y-axis.

Parameters:
rotateYGroup - rotation around y-axis.

processStimulus

public void processStimulus(Enumeration criteria)
Specified by:
processStimulus in class com.sun.j3d.utils.behaviors.mouse.MouseBehavior
See Also:
Behavior.processStimulus(java.util.Enumeration)

transformChanged

public void transformChanged(Transform3D transform)
Users can overload this method which is called every time the Behavior updates the transform Default implementation does nothing

Parameters:
transform - transform

setupCallback

public void setupCallback(com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback callback)
The transformChanged method in the callback class will be called every time the transform is updated

Parameters:
callback - callback


Copyright © 2002-2010 Delft University of Technology, the Netherlands. All Rights Reserved.