## javax.media.j3d
Class WakeupOnCollisionExit

    java.lang.Object
      javax.media.j3d.WakeupCondition
          javax.media.j3d.WakeupCriterion
              javax.media.j3d.WakeupOnCollisionExit

    public final class WakeupOnCollisionExit

extends WakeupCriterion

Class specifying a wakeup when the specified object no longer collides with any other object in the scene graph.

Field Summary
`static int` `USE_BOUNDS` Use geometric bounds as an approximation in computing collisions.
`static int` `USE_GEOMETRY` Use geometry in computing collisions.

Constructor Summary
`WakeupOnCollisionExit(Bounds armingBounds)` Constructs a new WakeupOnCollisionExit criterion.
`WakeupOnCollisionExit(Node armingNode)` Constructs a new WakeupOnCollisionExit criterion.
`WakeupOnCollisionExit(Node armingNode, int speedHint)` Constructs a new WakeupOnCollisionExit criterion.
`WakeupOnCollisionExit(SceneGraphPath armingPath)` Constructs a new WakeupOnCollisionExit criterion.
`WakeupOnCollisionExit(SceneGraphPath armingPath, int speedHint)` Constructs a new WakeupOnCollisionExit criterion.

Method Summary
`Bounds` `getArmingBounds()` Returns the bounds object used in specifying the collision condition.
`SceneGraphPath` `getArmingPath()` Returns the path used in specifying the collision condition.
`Bounds` `getTriggeringBounds()` Retrieves the Bounds object that caused the collision
`SceneGraphPath` `getTriggeringPath()` Retrieves the path describing the object causing the collision.

Methods inherited from class javax.media.j3d.WakeupCriterion
`hasTriggered`

Methods inherited from class javax.media.j3d.WakeupCondition
`allElements, triggeredElements`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### USE_GEOMETRY

    public static final int USE_GEOMETRY

  Use geometry in computing collisions.

  See Also:
    Constant Field Values

### USE_BOUNDS

    public static final int USE_BOUNDS

  Use geometric bounds as an approximation in computing collisions.

  See Also:
    Constant Field Values

Constructor Detail

### WakeupOnCollisionExit

    public WakeupOnCollisionExit(SceneGraphPath armingPath)

  Constructs a new WakeupOnCollisionExit criterion.

  Parameters:
    `armingPath` - the path used to arm collision detection
  Throws:
    `java.lang.IllegalArgumentException` - if object associated with the SceneGraphPath is other than a Group, Shape3D, Morph, or BoundingLeaf node.

### WakeupOnCollisionExit

    public WakeupOnCollisionExit(SceneGraphPath armingPath,
                                 int speedHint)

  Constructs a new WakeupOnCollisionExit criterion.

  Parameters:
    `armingPath` - the path used to arm collision detection
    `speedHint` - one of USE_GEOMETRY or USE_BOUNDS, specifies how accurately Java 3D will perform collision detection
  Throws:
    `java.lang.IllegalArgumentException` - if hint is not one of USE_GEOMETRY or USE_BOUNDS.
    `java.lang.IllegalArgumentException` - if object associated with the SceneGraphPath is other than a Group, Shape3D, Morph, or BoundingLeaf node.

### WakeupOnCollisionExit

    public WakeupOnCollisionExit(Node armingNode)

  Constructs a new WakeupOnCollisionExit criterion.

  Parameters:
    `armingNode` - the Group, Shape, or Morph node used to arm collision detection
  Throws:
    `java.lang.IllegalArgumentException` - if object is under a SharedGroup node or object is other than a Group, Shape3D, Morph or BoundingLeaf node.

### WakeupOnCollisionExit

    public WakeupOnCollisionExit(Node armingNode,
                                 int speedHint)

  Constructs a new WakeupOnCollisionExit criterion.

  Parameters:
    `armingNode` - the Group, Shape, or Morph node used to arm collision detection
    `speedHint` - one of USE_GEOMETRY or USE_BOUNDS, specifies how accurately Java 3D will perform collision detection
  Throws:
    `java.lang.IllegalArgumentException` - if hint is not one of USE_GEOMETRY or USE_BOUNDS.
    `java.lang.IllegalArgumentException` - if object is under a SharedGroup node or object is other than a Group, Shape3D, Morph or BoundingLeaf node.

### WakeupOnCollisionExit

    public WakeupOnCollisionExit(Bounds armingBounds)

  Constructs a new WakeupOnCollisionExit criterion.

  Parameters:
    `armingBounds` - the bounds object used to arm collision detection

Method Detail

### getArmingPath

    public SceneGraphPath getArmingPath()

  Returns the path used in specifying the collision condition.

  Returns:
    the SceneGraphPath object generated when arming this criterion---null implies that a bounds object armed this criteria

### getArmingBounds

    public Bounds getArmingBounds()

  Returns the bounds object used in specifying the collision condition.

  Returns:
    the Bounds object generated when arming this criterion---null implies that a SceneGraphPath armed this criteria

### getTriggeringPath

    public SceneGraphPath getTriggeringPath()

  Retrieves the path describing the object causing the collision.

  Returns:
    the SceneGraphPath that describes the triggering object.
  Throws:
    `java.lang.IllegalStateException` - if not called from within the a behavior's processStimulus method which was awoken by a collision.

### getTriggeringBounds

    public Bounds getTriggeringBounds()

  Retrieves the Bounds object that caused the collision

  Returns:
    the colliding Bounds object.
  Throws:
    `java.lang.IllegalStateException` - if not called from within the a behavior's processStimulus method which was awoken by a collision.

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.