Chapter 3. Realizing the Requirements

The VM will be built using the Qt™ [Qt], OpenGL® [OpenGL] and Vista [Vista] libraries under X-windows™ and Linux®. Qt is a library for building graphical user interfaces (GUIs) that provides elements such as windows, menus, dialog boxes, etc. OpenGL is a graphics library designed for efficient rendering of 3D geometrical objects, which is also capable of displaying pixel images.

The use of Qt and OpenGL should make porting to Microsoft® Windows® 95/98/NT straightforward. However, such a port, which at the moment would require a commercial licence for the Qt library, will not be considered further within the SimBio project.

The OpenGL library is believed to offer all the low-level graphics functionality that will be required to create the advanced visualisation routines required in the SimBio project. A specific extension for the Qt library makes the integration of the functionality provided by OpenGL into a GUI built using Qt straightforward.

The signal-slot mechanism provided by the Qt library is a well suited infrastructure for linking properties, such as 3D position and zoom, between different views.

The Vista library offers efficient data structures and associated algorithms for creating and working with the data objects discussed in section the section called Data Objects in Chapter 2.

Although the VM will be implemented under Linux, it will also ported to and tested under other UNIX® dialects, such as Irix®.