Class 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: < id = event[i].getID(); < if ((id == MouseEvent.MOUSE_DRAGGED) && < ((MouseEvent)event[i]).isAltDown() && < !((MouseEvent)event[i]).isMetaDown()){ > id = event[i].getID(); > if ((id == MouseEvent.MOUSE_DRAGGED) && > ((MouseEvent)event[i]).isAltDown() && > ((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
    • Constructor Summary

      Constructors 
      Constructor Description
      MouseZoom()
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double getFactor()
      Return the y-axis movement multipler.
      void initialize()
      DOCUMENT ME!
      void processStimulus​(java.util.Enumeration criteria)
      DOCUMENT ME!
      void setFactor​(double factor)
      Set the y-axis movement multipler with factor.
      void setupCallback​(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.
      • 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 Detail

      • translation

        javax.vecmath.Vector3d translation
        DOCUMENT ME!
      • z_factor

        double z_factor
        DOCUMENT ME!
    • Constructor Detail

      • 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 Detail

      • getFactor

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

        public void processStimulus​(java.util.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!