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:
MouseListener
,MouseMotionListener
,MouseWheelListener
,EventListener
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,
The above code will add the rotate behavior to the transform group. The user can rotate any object attached to the objTrans.MouseRotate behavior = new MouseRotate(); behavior.setTransformGroup(objTrans); objTrans.addChild(behavior); behavior.setSchedulingBounds(bounds);
-
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
ConstructorsConstructorDescriptionCreates a default mouse rotate behavior.MouseRotate
(int flags) Creates a rotate behavior.Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.MouseRotate
(Component c, int flags) Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.MouseRotate
(Component c, TransformGroup transformGroup) Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.MouseRotate
(TransformGroup transformGroup) Creates a rotate behavior given the transform group. -
Method Summary
Modifier and TypeMethodDescriptiondouble
Return the x-axis movement multipler.double
Return the y-axis movement multipler.void
Initializes the behavior.void
processStimulus
(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 updatedvoid
transformChanged
(Transform3D transform) Users can overload this method which is called every time the Behavior updates the transform Default implementation does nothingMethods 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
-
Constructor Details
-
MouseRotate
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
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
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
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 Details
-
initialize
public void initialize()Description copied from class:MouseBehavior
Initializes the behavior.- Overrides:
initialize
in classMouseBehavior
-
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
Description copied from class:MouseBehavior
All mouse manipulators must implement this.- Specified by:
processStimulus
in classMouseBehavior
- Parameters:
criteria
- an enumeration of triggered wakeup criteria for this behavior
-
transformChanged
Users can overload this method which is called every time the Behavior updates the transform Default implementation does nothing -
setupCallback
The transformChanged method in the callback class will be called every time the transform is updated
-