Class MouseTranslation


  • public class MouseTranslation
    extends MouseBehavior
    MouseTranslate is a Java3D behavior object that lets users control the translation (X, Y) of an object via a mouse drag motion with the third mouse button (alt-click on PC). 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 right button and not the middle button is pressed. The new if statement says if the mouse is dragged and the middle button and not the right button is pressed. Added condition for the mouse pressed Adjusted the scale factors from 0.02 to 0.01 double x_factor = .01; double y_factor = .01; Added the ability to translate based on user rotations and positions
    • Constructor Summary

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double getXFactor()
      Return the x-axis movement multipler.
      double getYFactor()
      Return the y-axis movement multipler.
      void initialize()
      DOCUMENT ME!
      void processStimulus​(java.util.Enumeration criteria)
      DOCUMENT ME!
      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​(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!
      • x_factor

        double x_factor
        DOCUMENT ME!
      • y_factor

        double y_factor
        DOCUMENT ME!
    • Constructor Detail

      • MouseTranslation

        public MouseTranslation()
        Creates a default translate behavior.
      • MouseTranslation

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

        public MouseTranslation​(int flags)
        Creates a translate 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!
      • MouseTranslation

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

        public MouseTranslation​(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

      • getXFactor

        public double getXFactor()
        Return the x-axis movement multipler.
        Returns:
        DOCUMENT ME!
      • getYFactor

        public double getYFactor()
        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 x-axis amd y-axis movement multipler with factor.
        Parameters:
        factor - DOCUMENT ME!
      • setFactor

        public void setFactor​(double xFactor,
                              double yFactor)
        Set the x-axis amd y-axis movement multipler with xFactor and yFactor respectively.
        Parameters:
        xFactor - DOCUMENT ME!
        yFactor - 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!