Class MouseTranslation
- 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.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
-
-
Field Summary
Fields Modifier and Type Field Description private MouseBehaviorCallback
callback
DOCUMENT ME!(package private) javax.vecmath.Vector3d
translation
DOCUMENT ME!(package private) double
x_factor
DOCUMENT ME!(package private) double
y_factor
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 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 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
-
-
-
-
Field Detail
-
translation
javax.vecmath.Vector3d translation
DOCUMENT ME!
-
x_factor
double x_factor
DOCUMENT ME!
-
y_factor
double y_factor
DOCUMENT ME!
-
callback
private MouseBehaviorCallback callback
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!
-
initialize
public void initialize()
DOCUMENT ME!- Overrides:
initialize
in classMouseBehavior
-
processStimulus
public void processStimulus(java.util.Enumeration criteria)
DOCUMENT ME!- Specified by:
processStimulus
in classMouseBehavior
- 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!
-
-