interaction.navigation
Class GravityBehavior

java.lang.Object
  extended byjavax.media.j3d.SceneGraphObject
      extended byjavax.media.j3d.Node
          extended byjavax.media.j3d.Leaf
              extended byjavax.media.j3d.Behavior
                  extended byinteraction.navigation.GravityBehavior

public class GravityBehavior
extends javax.media.j3d.Behavior

Behavior, welches die Navigation durch die Szene unter Berücksichtigung von Hindernissen ermöglicht. Ebenfalls implementiert ist eine Terrainverfolgung.

Version:
1.0 (2005/04/26)
Author:
Martin Hedler

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_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
GravityBehavior(javax.media.j3d.TransformGroup transGrp, javax.media.j3d.BranchGroup bg, boolean throwCapExc)
          Erstellt eine Instanz dieser Klasse.
 
Method Summary
 javax.media.j3d.Node cloneNode(boolean arg0)
           
 void endMoving()
          Beendet eine Vorwärts- oder Rückwärtsbewegung durch gleichmäßiges ausbremsen.
 void initialize()
           
 void processStimulus(java.util.Enumeration arg0)
           
 void setAngleSpeed(float speed)
          Setzt die Winkelgeschwindigkeit der Drehung um die lokale Y-Achse der zu manipulierenden TransformGroup.
 void setLinearSpeed(float speed)
          Setzt die lineare Geschwindigkeit in Richtung der negativen Z-Achse der zu manipulierenden TransformGroup.
static void setNeededCapabilities(javax.media.j3d.Shape3D shape)
          Setzt die Capability-Flags, die benötigt werden, damit das übergebene Objekt von der Terrainverfolgung und der Kollisionsvermeidung erkannt wird.
 void startMovingBackward()
          Startet die Vorwärtbewegung mit einer gleichmäßigen Beschleunigung.
 void startMovingForward()
          Startet die R¨ckwärtbewegung mit einer gleichmäßigen Beschleunigung.
 void updateNodeReferences(javax.media.j3d.NodeReferenceTable arg0)
           
 
Methods inherited from class javax.media.j3d.Behavior
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval
 
Methods inherited from class javax.media.j3d.Node
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, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GravityBehavior

public GravityBehavior(javax.media.j3d.TransformGroup transGrp,
                       javax.media.j3d.BranchGroup bg,
                       boolean throwCapExc)
Erstellt eine Instanz dieser Klasse.

Parameters:
transGrp - Die TransformGroup, welche manipuliert werden soll. Meistens die TransformGroup der ViewPlatform.
bg - Die BranchGroup unter der sich die Hindernisse und das Terrain befinden.
throwCapExc - true, wenn CapabilityNotSetExceptions geworfen werden sollen oder false, wenn diese ignoriert werden soll.
Method Detail

setNeededCapabilities

public static void setNeededCapabilities(javax.media.j3d.Shape3D shape)
Setzt die Capability-Flags, die benötigt werden, damit das übergebene Objekt von der Terrainverfolgung und der Kollisionsvermeidung erkannt wird.

Parameters:
shape - Das Shape3D Objekt, dessen Capability-Flags gesetzt werden sollen.

endMoving

public void endMoving()
Beendet eine Vorwärts- oder Rückwärtsbewegung durch gleichmäßiges ausbremsen.

See Also:
startMovingBackward(), startMovingForward()

initialize

public void initialize()

processStimulus

public void processStimulus(java.util.Enumeration arg0)

setAngleSpeed

public void setAngleSpeed(float speed)
Setzt die Winkelgeschwindigkeit der Drehung um die lokale Y-Achse der zu manipulierenden TransformGroup.

Parameters:
speed - Die Winkelgeschwindigkeit in 1 / s.

setLinearSpeed

public void setLinearSpeed(float speed)
Setzt die lineare Geschwindigkeit in Richtung der negativen Z-Achse der zu manipulierenden TransformGroup.

Parameters:
speed - Die Geschwindigkeit in m / s.

startMovingBackward

public void startMovingBackward()
Startet die Vorwärtbewegung mit einer gleichmäßigen Beschleunigung.


startMovingForward

public void startMovingForward()
Startet die R¨ckwärtbewegung mit einer gleichmäßigen Beschleunigung.


cloneNode

public javax.media.j3d.Node cloneNode(boolean arg0)

updateNodeReferences

public void updateNodeReferences(javax.media.j3d.NodeReferenceTable arg0)