next up previous
Next: 4.2.4 Processing related classes Up: 4.2 Class descriptions Previous: 4.2.2 Input related classes


4.2.3 Output related classes

Figure 9: An OMT class diagram showing the relationships of the output related classes.
\resizebox*{1\textwidth}{!}{\includegraphics{omt-output.eps}}

The main output class is the abstract class Output, shown with its children in Figure 9. This class defines what it is to be an output module, and all output modules will have Output as an ancestor. It defines a single abstract method, PutImage(), which is called with a StereoImage object as sole parameter, and returns a boolean value indicating if the StereoImage was successfully output. A return value of false indicates that the StereoImage couldn't be output due to normal conditions, specifically, attempting to output more StereoImages than the Output object can handle.

The CrystalEyesOutput class will interface the required system libraries in order to output stereo images to the SGI system's CrystalEyes subsystem. Its PutImage() method will never normally return NULL, as subsequent stereo images can always be displayed to the screen, as with IndycamInput, only hardware errors and the like will cause NULL be returned.

The ImageFileOutput class will write the image initially passed to PutImage() to a standard image file, returning true initially and false on subsequent occasions.

The MovieFileOutput class will write the frames passed to PutImage() to a standard movie or animation file. It will return true while it is possible to write these frames and false subsequently (for example, if out of disk space, or if the file was specified at creation time to have a fixed number of frames).

The NetworkOutput class will interface with a remote instance of the Stereocam system (specifically, one using the NetworkInput class, described in Section 4.2.2), and will transmit images passed to PutImage() to the remote Stereocam instance. It will return false when the network connection is broken or severed, for instance.


next up previous
Next: 4.2.4 Processing related classes Up: 4.2 Class descriptions Previous: 4.2.2 Input related classes
Kevin Pulo
2000-08-22