Package javax.media.j3d

# Class WakeupOnCollisionMovement

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

public final class WakeupOnCollisionMovement extends WakeupCriterion
Class specifying a wakeup when the specified object moves while in collision with any other object in the scene graph.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`USE_BOUNDS`
Use geometric bounds as an approximation in computing collisions.
`static final int`
`USE_GEOMETRY`
Use geometry in computing collisions.

## Constructor Summary

Constructors
Constructor
Description
`WakeupOnCollisionMovement(Bounds armingBounds)`
Constructs a new WakeupOnCollisionMovement criterion.
`WakeupOnCollisionMovement(Node armingNode)`
Constructs a new WakeupOnCollisionMovement criterion.
`WakeupOnCollisionMovement(Node armingNode, int speedHint)`
Constructs a new WakeupOnCollisionMovement criterion.
`WakeupOnCollisionMovement(SceneGraphPath armingPath)`
Constructs a new WakeupOnCollisionMovement criterion.
`WakeupOnCollisionMovement(SceneGraphPath armingPath, int speedHint)`
Constructs a new WakeupOnCollisionMovement criterion.

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### WakeupOnCollisionMovement

public WakeupOnCollisionMovement(SceneGraphPath armingPath)
Constructs a new WakeupOnCollisionMovement criterion.

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

### WakeupOnCollisionMovement

public WakeupOnCollisionMovement(SceneGraphPath armingPath, int speedHint)
Constructs a new WakeupOnCollisionMovement 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:
  `IllegalArgumentException` - if hint is not one of USE_GEOMETRY or USE_BOUNDS.
  `IllegalArgumentException` - if object associated with the SceneGraphPath is other than a Group, Shape3D, Morph, or BoundingLeaf node.

### WakeupOnCollisionMovement

public WakeupOnCollisionMovement(Node armingNode)
Constructs a new WakeupOnCollisionMovement criterion.

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

### WakeupOnCollisionMovement

public WakeupOnCollisionMovement(Node armingNode, int speedHint)
Constructs a new WakeupOnCollisionMovement 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:
  `IllegalArgumentException` - if hint is not one of USE_GEOMETRY or USE_BOUNDS.
  `IllegalArgumentException` - if object is under a SharedGroup node or object is other than a Group, Shape3D, Morph or BoundingLeaf node.

### WakeupOnCollisionMovement

public WakeupOnCollisionMovement(Bounds armingBounds)
Constructs a new WakeupOnCollisionMovement criterion.

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

## Method Details

### 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:
  `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:
  `IllegalStateException` - if not called from within the a behavior's processStimulus method which was awoken by a collision.