com.jme.input.action
Class NodeMouseLook

java.lang.Object
  extended by com.jme.input.action.InputAction
      extended by com.jme.input.action.MouseInputAction
          extended by com.jme.input.action.NodeMouseLook
All Implemented Interfaces:
InputActionInterface

public class NodeMouseLook
extends MouseInputAction

NodeMouseLook defines a mouse action that detects mouse movement and converts it into node rotations and node tilts.

Version:
$Id: NodeMouseLook.java 4131 2009-03-19 20:15:28Z blaine.dev $
Author:
Mark Powell

Field Summary
 
Fields inherited from class com.jme.input.action.MouseInputAction
mouse
 
Fields inherited from class com.jme.input.action.InputAction
speed
 
Constructor Summary
NodeMouseLook(Mouse mouse, Spatial node, float speed)
          Constructor creates a new NodeMouseLook object.
 
Method Summary
 Vector3f getLockAxis()
          Returns the axis that is currently locked.
 void performAction(InputActionEvent evt)
          performAction checks for any movement of the mouse, and calls the appropriate method to alter the node's orientation when applicable.
 void setLockAxis(Vector3f lockAxis)
          setLockAxis sets the axis that should be locked down.
 void setSpeed(float speed)
          setSpeed sets the speed of the mouse look.
 
Methods inherited from class com.jme.input.action.MouseInputAction
setMouse
 
Methods inherited from class com.jme.input.action.InputAction
getSpeed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeMouseLook

public NodeMouseLook(Mouse mouse,
                     Spatial node,
                     float speed)
Constructor creates a new NodeMouseLook object. It takes the mouse, node and speed of the looking.

Parameters:
mouse - the mouse to calculate view changes.
node - the node to move.
speed - the speed at which to alter the camera.
Method Detail

setLockAxis

public void setLockAxis(Vector3f lockAxis)
setLockAxis sets the axis that should be locked down. This prevents "rolling" about a particular axis. Typically, this is set to the mouse's up vector.

Parameters:
lockAxis - the axis that should be locked down to prevent rolling.

getLockAxis

public Vector3f getLockAxis()
Returns the axis that is currently locked.

Returns:
The currently locked axis
See Also:
setLockAxis(com.jme.math.Vector3f)

setSpeed

public void setSpeed(float speed)
setSpeed sets the speed of the mouse look.

Overrides:
setSpeed in class InputAction
Parameters:
speed - the speed of the mouse look.

performAction

public void performAction(InputActionEvent evt)
performAction checks for any movement of the mouse, and calls the appropriate method to alter the node's orientation when applicable.

Parameters:
evt - the event that triggered the perform action method.
See Also:
InputActionInterface.performAction(InputActionEvent)