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
universe.
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.