## com.sun.j3d.utils.behaviors.mouse
Class MouseRotate

    java.lang.Object
      javax.media.j3d.SceneGraphObject
          javax.media.j3d.Node
              javax.media.j3d.Leaf
                  javax.media.j3d.Behavior
                      com.sun.j3d.utils.behaviors.mouse.MouseBehavior
                          com.sun.j3d.utils.behaviors.mouse.MouseRotate

All Implemented Interfaces:
  java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.util.EventListener

    public class MouseRotate

extends 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
`MouseRotate()` Creates a default mouse rotate behavior.
`MouseRotate(java.awt.Component c)` Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
`MouseRotate(java.awt.Component c, int flags)` Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
`MouseRotate(java.awt.Component c, TransformGroup transformGroup)` Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
`MouseRotate(int flags)` Creates a rotate behavior.
`MouseRotate(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()` Initializes the behavior.
`void` `processStimulus(java.util.Enumeration criteria)` All mouse manipulators must implement this.
`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` `setupCallback(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

### MouseRotate

    public MouseRotate(TransformGroup transformGroup)

  Creates a rotate behavior given the transform group.

  Parameters:
    `transformGroup` - The transformGroup to operate on.

### MouseRotate

    public MouseRotate()

  Creates a default mouse rotate behavior.

### MouseRotate

    public MouseRotate(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).

### MouseRotate

    public MouseRotate(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

### MouseRotate

    public MouseRotate(java.awt.Component c,
                       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

### MouseRotate

    public MouseRotate(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()

  Description copied from class: `MouseBehavior`
  Initializes the behavior.

  Overrides:
    `initialize` in class `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)

  Description copied from class: `MouseBehavior`
  All mouse manipulators must implement this.

  Specified by:
    `processStimulus` in class `MouseBehavior`
  Parameters:
    `criteria` - an enumeration of triggered wakeup criteria for this behavior

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

### setupCallback

    public void setupCallback(MouseBehaviorCallback callback)

  The transformChanged method in the callback class will be called every time the transform is updated

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.