org.jscience.biology.lsystems.growing
Class KeyBehavior

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Leaf
              extended by javax.media.j3d.Behavior
                  extended by org.jscience.biology.lsystems.growing.KeyBehavior

public class KeyBehavior
extends javax.media.j3d.Behavior

This class is a simple behavior that implements keyboard navigation. It is meant to modify the view platform transform. Other than the classes KeyNavigatorBehavior and KeyNavigator from SUN this class needs less computing power and is restricted to a few keys with no acceleration. The following keys are used:

  • Up arrow - to move forward.
  • Down arrow - to move backwards.
  • Left arrow - to turn left.
  • Right arrow - to turn right.
  • Page up - to look up.
  • Page down - to look down.
  • Y - to strafe left.
  • X - to strafe right.


    Field Summary
     
    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
    KeyBehavior(javax.media.j3d.TransformGroup targetTG)
              Constructs a new key navigator behavior node that operates on the specified transform group.
     
    Method Summary
     void initialize()
              Override Behavior's initialize method to setup wakeup criteria.
     void processStimulus(java.util.Enumeration criteria)
              Override Behavior's stimulus method to handle the event.
     
    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
     

    Constructor Detail

    KeyBehavior

    public KeyBehavior(javax.media.j3d.TransformGroup targetTG)
    Constructs a new key navigator behavior node that operates on the specified transform group.

    Parameters:
    targetTG - the target transform group
    Method Detail

    initialize

    public void initialize()
    Override Behavior's initialize method to setup wakeup criteria.

    Specified by:
    initialize in class javax.media.j3d.Behavior

    processStimulus

    public void processStimulus(java.util.Enumeration criteria)
    Override Behavior's stimulus method to handle the event. This method is called when a key on the keyboard has been pressed.

    Specified by:
    processStimulus in class javax.media.j3d.Behavior
    Parameters:
    criteria - All pressed keys in a list. This will be passed by the system.