The user interface is built using the FLTK library.
The top level object is the class LightningViewUI. This consists of a window into which one can draw using OpenGL (the LV_GraphicsWindow class) a menu and several controls including the time control (Fl_PlayerControls). In addition to using FLTK, we make use of some widgets that are available on the FLTK website not in the main FLTK distribution. These had to be modified to some extent. A trackball window (Tb_Window class) was adapted to use the quat lib library from UNC instead of the quaternion library supplied by the original author. This is used as a base class for the LV_GraphicsWindow to allow for mouse-based navigation. Another externally supplied widget is used for the file dialog. This was highly modified to separate out the dependence on UNIX and Win32 file-system code which is used to supply the lists of files displayed in the dialog. By making it use an abstract interface via the FileSystem class we can easily adapt the file dialog code to get its list of files from any source including remote data sets whose names are constructed from information sent using the vrpn_DataManager class.
More information on FLTK can be found at the FLTK Home Page (fltk.easysw.com).
Next: 3.3.2 VRPN
Up: 3.3 Third-Party Libraries
Previous: 3.3 Third-Party Libraries
content authors: Adam Seeger, Eric D. Baker
HTML author: Eric D. Baker
last update: 08 April 1999 12:48p by Eric D. Baker