Design notes

Avoiding a separate thread for collision

With the current design, the mover thread (from the Movement subsystem) gets saddled with collision behavior. Because the mover thread must be aware of collisions, the task is not as lightweight as it could be--and can be slowed as a result. It's tempting to try to remedy this situation by giving collision its
own thread. However, a separate collision thread would allow movement to continue while the collision check is happening. The current design of this program uses the possibility of delayed movement over the possibility of reduced collision fidelity.

Using notification

Interaction between objects is signaled by the Taligent Notification framework. The Notification framework implements a 1:n, synchronous broadcast facility. This functionality ensures that:

If other simulations require asynchronous notification, it's possible to buffer a notification on the receiving end and to handle it when necessary.

For information on the Notification framework, see Desktop Frameworks Concepts.

Dynamic typing

Some behaviors are common to an entire class of objects. Some are only applicable to a restricted group of subtypes and do not apply to every colliding object. For example, not all actors--which are colliding objects--need to explode. To facilitate runtime type identification, MColliding provides protocol for grouping objects.


[Contents] [Previous] [Next]
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.

Generated with WebMaker