showHybrid
Class MouseRot

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 showHybrid.MouseRot
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.util.EventListener

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

MouseRotate is a Java3D behavior object that lets users control the rotation of an object via a mouse.

To use this utility, first create a transform group that this rotate behavior will operate on. Then,

 
   MouseRotate behavior = new MouseRotate();
   behavior.setTransformGroup(objTrans);
   objTrans.addChild(behavior);
   behavior.setSchedulingBounds(bounds);

The above code will add the rotate behavior to the transform group. The user can rotate any object attached to the objTrans.


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
MouseRot()
          Creates a default mouse rotate behavior.
MouseRot(java.awt.Component c)
          Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
MouseRot(java.awt.Component c, int flags)
          Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
MouseRot(java.awt.Component c, javax.media.j3d.TransformGroup transformGroup)
          Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
MouseRot(int flags)
          Creates a rotate behavior.
MouseRot(javax.media.j3d.TransformGroup transformGroup)
          Creates a rotate behavior given the transform group.
 
Method Summary
 double getXFactor()
          Return the x-axis movement multipler.
 double getYFactor()
          Return the y-axis movement multipler.
 void initialize()
           
 void processStimulus(java.util.Enumeration criteria)
           
 void setFactor(double factor)
          Set the x-axis amd y-axis movement multipler with factor.
 void setFactor(double xFactor, double yFactor)
          Set the x-axis amd y-axis movement multipler with xFactor and yFactor respectively.
 void setRootTr(javax.media.j3d.TransformGroup tg)
          Before processing mouse rotation for local motion, call this method with the root TransformGroup as the argument to pass the root transform
 void setRootTrIdentity()
          Before processing mouse rotation for global motion, call this method to set the root transform to the identity matrix
 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(javax.media.j3d.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

MouseRot

public MouseRot(javax.media.j3d.TransformGroup transformGroup)
Creates a rotate behavior given the transform group.

Parameters:
transformGroup - The transformGroup to operate on.

MouseRot

public MouseRot()
Creates a default mouse rotate behavior.


MouseRot

public MouseRot(int flags)
Creates a rotate 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 - interesting flags (wakeup conditions).

MouseRot

public MouseRot(java.awt.Component c)
Creates a rotate 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

MouseRot

public MouseRot(java.awt.Component c,
                javax.media.j3d.TransformGroup transformGroup)
Creates a rotate 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. 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.
transformGroup - The TransformGroup to operate on.
Since:
Java 3D 1.2.1

MouseRot

public MouseRot(java.awt.Component c,
                int flags)
Creates a rotate 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:
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

getXFactor

public double getXFactor()
Return the x-axis movement multipler.


getYFactor

public double getYFactor()
Return the y-axis movement multipler.


setFactor

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


setFactor

public void setFactor(double xFactor,
                      double yFactor)
Set the x-axis amd y-axis movement multipler with xFactor and yFactor respectively.


processStimulus

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

transformChanged

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


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


setRootTr

public void setRootTr(javax.media.j3d.TransformGroup tg)
Before processing mouse rotation for local motion, call this method with the root TransformGroup as the argument to pass the root transform


setRootTrIdentity

public void setRootTrIdentity()
Before processing mouse rotation for global motion, call this method to set the root transform to the identity matrix