org.selman.java3d.book.common
Class TornadoMouseRotate

java.lang.Object
  |
  +--javax.media.j3d.SceneGraphObject
        |
        +--javax.media.j3d.Node
              |
              +--javax.media.j3d.Leaf
                    |
                    +--javax.media.j3d.Behavior
                          |
                          +--org.selman.java3d.book.common.TornadoMouseBehavior
                                |
                                +--org.selman.java3d.book.common.TornadoMouseRotate

public class TornadoMouseRotate
extends TornadoMouseBehavior

TornadoMouseRotate Custom mouse rotation behaviour

Version:
1.0
Author:
Daniel Selman

Field Summary
protected  boolean m_bInvert
           
protected  double m_FactorX
           
protected  double m_FactorY
           
protected  javax.media.j3d.Transform3D m_TransformX
           
protected  javax.media.j3d.Transform3D m_TransformY
           
 
Fields inherited from class org.selman.java3d.book.common.TornadoMouseBehavior
m_bDragging, m_Listener, m_MouseCriterion, m_NewPos, m_nLastY, m_Object, m_OldPos, m_Transform3D, m_Translation, m_TranslationVector
 
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_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
TornadoMouseRotate(double xf, double yf)
           
 
Method Summary
protected  void applyVectorToObject(javax.vecmath.Vector3f vector)
          Apply a delta vector (in the object's local coordinates) to the object.
protected  boolean isRelativeToObjectCoordinates()
           
protected  boolean isStartBehaviorEvent(java.awt.event.MouseEvent evt)
           
 void setInvert(boolean bInvert)
           
 
Methods inherited from class org.selman.java3d.book.common.TornadoMouseBehavior
adjustTransform, applyTransform, getImagePlateToVworld, getObjectLocalToVworld, getTransformGroup, initialize, isRelativeToStartDrag, isStopBehaviorEvent, onEndDrag, onStartDrag, processMouseEvent, processStimulus, setChangeListener, setObject
 
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, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_FactorX

protected double m_FactorX

m_FactorY

protected double m_FactorY

m_TransformX

protected javax.media.j3d.Transform3D m_TransformX

m_TransformY

protected javax.media.j3d.Transform3D m_TransformY

m_bInvert

protected boolean m_bInvert
Constructor Detail

TornadoMouseRotate

public TornadoMouseRotate(double xf,
                          double yf)
Parameters:
xf - the x rotation scale factor
yf - the y rotation scale factor
Method Detail

isStartBehaviorEvent

protected boolean isStartBehaviorEvent(java.awt.event.MouseEvent evt)
Specified by:
isStartBehaviorEvent in class TornadoMouseBehavior
Returns:
true is this the mouse event that starts the tracking behaviour

setInvert

public void setInvert(boolean bInvert)
Parameters:
bInvert - true to invert the Y axis

isRelativeToObjectCoordinates

protected boolean isRelativeToObjectCoordinates()
Overrides:
isRelativeToObjectCoordinates in class TornadoMouseBehavior
Returns:
true if the mouse coordinates should be converted to local object coordinates before being processed by applyVectorToObject

applyVectorToObject

protected void applyVectorToObject(javax.vecmath.Vector3f vector)
Description copied from class: TornadoMouseBehavior
Apply a delta vector (in the object's local coordinates) to the object.

Specified by:
applyVectorToObject in class TornadoMouseBehavior