java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Leaf
javax.media.j3d.Behavior
gov.nih.mipav.view.renderer.J3D.surfaceview.rfaview.mouse.MouseBehavior
gov.nih.mipav.view.renderer.J3D.surfaceview.rfaview.mouse.MouseZoom

public class MouseZoom extends MouseBehavior
MouseZoom 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. Also this: invalid input: '<' id = event[i].getID(); invalid input: '<' if ((id == MouseEvent.MOUSE_DRAGGED) invalid input: '&'invalid input: '&' invalid input: '<' ((MouseEvent)event[i]).isAltDown() invalid input: '&'invalid input: '&' invalid input: '<' !((MouseEvent)event[i]).isMetaDown()){ > id = event[i].getID(); > if ((id == MouseEvent.MOUSE_DRAGGED) invalid input: '&'invalid input: '&' > ((MouseEvent)event[i]).isAltDown() invalid input: '&'invalid input: '&' > ((MouseEvent)event[i]).isMetaDown()){ Note: By changing the bangs (!), you control which of the mouse buttons are filtered using the Alt and Meta key nomenclature. The old if statement says if the mouse is dragged and the middle button and not the right button is pressed. The new if statement says if the mouse is dragged and the middle button and the right button are both pressed. Added condition for the mouse pressed Added the ability to zoom based on user rotations and positions
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    DOCUMENT ME!
    (package private) javax.vecmath.Vector3d
    DOCUMENT ME!
    (package private) double
    DOCUMENT ME!

    Fields inherited from class gov.nih.mipav.view.renderer.J3D.surfaceview.rfaview.mouse.MouseBehavior

    behaviorfix, buttonPress, currXform, flags, invert, INVERT_INPUT, MANUAL_WAKEUP, mouseCriterion, mouseEvents, reset, transformGroup, transformX, transformY, ViewerTG, 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

    Constructors
    Constructor
    Description
    Creates a default mouse zoom behavior.
    MouseZoom(int flags)
    Creates a zoom behavior.
    MouseZoom(int flags, boolean behaviorfix)
    Same as above but with boolean fix.
    MouseZoom(int flags, javax.media.j3d.TransformGroup VPTG, boolean behaviorfix)
    Same as above but with Viewer Transform Group and boolean fix.
    MouseZoom(javax.media.j3d.TransformGroup transformGroup)
    Creates a zoom behavior given the transform group.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Return the y-axis movement multipler.
    void
    DOCUMENT ME!
    void
    DOCUMENT ME!
    void
    setFactor(double factor)
    Set the y-axis movement multipler with factor.
    void
    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.

    Methods inherited from class gov.nih.mipav.view.renderer.J3D.surfaceview.rfaview.mouse.MouseBehavior

    processMouseEvent, setTransformGroup, wakeup

    Methods inherited from class javax.media.j3d.Behavior

    getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, 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
  • Field Details

    • translation

      javax.vecmath.Vector3d translation
      DOCUMENT ME!
    • z_factor

      double z_factor
      DOCUMENT ME!
    • callback

      private MouseBehaviorCallback callback
      DOCUMENT ME!
  • Constructor Details

    • MouseZoom

      public MouseZoom()
      Creates a default mouse zoom behavior.
    • MouseZoom

      public MouseZoom(javax.media.j3d.TransformGroup transformGroup)
      Creates a zoom behavior given the transform group.
      Parameters:
      transformGroup - The transformGroup to operate on.
    • MouseZoom

      public MouseZoom(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 - DOCUMENT ME!
    • MouseZoom

      public MouseZoom(int flags, boolean behaviorfix)
      Same as above but with boolean fix.
      Parameters:
      flags - DOCUMENT ME!
      behaviorfix - DOCUMENT ME!
    • MouseZoom

      public MouseZoom(int flags, javax.media.j3d.TransformGroup VPTG, boolean behaviorfix)
      Same as above but with Viewer Transform Group and boolean fix.
      Parameters:
      flags - DOCUMENT ME!
      VPTG - DOCUMENT ME!
      behaviorfix - DOCUMENT ME!
  • Method Details

    • getFactor

      public double getFactor()
      Return the y-axis movement multipler.
      Returns:
      DOCUMENT ME!
    • initialize

      public void initialize()
      DOCUMENT ME!
      Overrides:
      initialize in class MouseBehavior
    • processStimulus

      public void processStimulus(Enumeration criteria)
      DOCUMENT ME!
      Specified by:
      processStimulus in class MouseBehavior
      Parameters:
      criteria - DOCUMENT ME!
    • setFactor

      public void setFactor(double factor)
      Set the y-axis movement multipler with factor.
      Parameters:
      factor - DOCUMENT ME!
    • setupCallback

      public void setupCallback(MouseBehaviorCallback callback)
      The transformChanged method in the callback class will be called every time the transform is updated.
      Parameters:
      callback - DOCUMENT ME!
    • 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
      Parameters:
      transform - DOCUMENT ME!