Both interaction and animation are specified with Behavior
objects. The Behavior class is an abstract class that provides the mechanism
to include code to change the scene graph. The Behavior class, and its descendants,
are links to user code providing changes to the graphics and sounds of the virtual
The purpose of a Behavior object in a scene graph is to change the scene graph, or objects in the scene graph, in response to some stimulus. A stimulus can be the press of a key, a mouse movement, the collision of objects, the passage of time, some other event, or a combination of these. Changes produced include adding objects to the scene graph, removing objects from the scene graph, changing attributes of objects in the scene graph, rearranging objects in the scene graph, or a combination of these. The possibilities are only limited by the capabilities of the scene graph objects.