java.lang.Object
org.jogamp.java3d.SceneGraphObject
org.jogamp.java3d.Node
org.jogamp.java3d.Leaf
org.jogamp.java3d.Behavior
org.jogamp.java3d.utils.behaviors.mouse.MouseBehavior
repast.simphony.visualization.visualization3D.MouseRotate
All Implemented Interfaces:
MouseListener, MouseMotionListener, MouseWheelListener, EventListener

public class MouseRotate extends org.jogamp.java3d.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 org.jogamp.java3d.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 org.jogamp.java3d.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

    Constructors
    Constructor
    Description
    Creates 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, org.jogamp.java3d.TransformGroup transformGroup)
    Creates a rotate behavior that uses AWT listeners and behavior posts rather than WakeupOnAWTEvent.
    MouseRotate(org.jogamp.java3d.TransformGroup transformGroup)
    Creates a rotate behavior given the transform group.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Return the x-axis movement multipler.
    double
    Return the y-axis movement multipler.
    void
     
    void
    processStimulus(Iterator<org.jogamp.java3d.WakeupCriterion> 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
    setupCallback(org.jogamp.java3d.utils.behaviors.mouse.MouseBehaviorCallback callback)
    The transformChanged method in the callback class will be called every time the transform is updated
    void
    transformChanged(org.jogamp.java3d.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 org.jogamp.java3d.utils.behaviors.mouse.MouseBehavior

    addListener, getTransformGroup, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, processMouseEvent, setEnable, setTransformGroup, wakeup

    Methods inherited from class org.jogamp.java3d.Behavior

    getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences, wakeupOn

    Methods inherited from class org.jogamp.java3d.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 org.jogamp.java3d.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 Details

    • MouseRotate

      public MouseRotate(org.jogamp.java3d.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(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(Component c, org.jogamp.java3d.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(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 Details

    • initialize

      public void initialize()
      Overrides:
      initialize in class org.jogamp.java3d.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(Iterator<org.jogamp.java3d.WakeupCriterion> criteria)
      Specified by:
      processStimulus in class org.jogamp.java3d.utils.behaviors.mouse.MouseBehavior
    • transformChanged

      public void transformChanged(org.jogamp.java3d.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(org.jogamp.java3d.utils.behaviors.mouse.MouseBehaviorCallback callback)
      The transformChanged method in the callback class will be called every time the transform is updated