Viewers

A viewer manages a set of renderers and manipulators. The viewer treats each renderer as a separate layer. The output images of all renderers are collected and composed into a final image for display. Events are passed on to the corresponding renderer or manipulator. The viewer base class defines interfaces for communication with renderers and manipulators. Derived classes establish a binding to a concrete windowing toolkit, such as Qt or GLUT.