TinaView is an interactive graphics system aimed at vision applications.
The design aims were:
The tv data structure in the standard TINA system is used for displaying graphics under X windows on UNIX machines, though the approach taken makes re-implementation on other graphics platforms relatively simple (requiring new versions of the "screen" functions only). It contains sufficient information to control the construction of several types of graphical display.
The standard tv libraries are thus extensive with a wide variety of graphical applications supported. During mouse interaction the graphics display uses a different set of display funtions as specified by skeldraw functions. These will correspond to reduced plotting versions of the fulldraw for reasons of speed. For example the image is normally displayed only as a wirefram mesh during zooming. Tina uses a standard naming proceedure to produce graphics where functions ending in a "3" correspond to 3D graphics, a "2" for 2D graphics and xy for direct plotting on the graphical window. These functions are generally built up as a series of wrappers around the "xy" or IPOS graphics functions and the relavent projection routines. The loweset level functions are the "screen" functions which plot data directly onto the machine dependant bit map.
The easiest way to use tv graphics is to make use of pre defined display utilities, see the chapter on Programmer Graphics Support. It is recommended that you gain some familitarity with the existing features before attempting to write your own. The simplest way to write your own TinaView routines are as a dead graphics display system. In this mode the display will not refresh itself on damage, resizing etc. and some interaction modes are not available. This is not recommended, but gives an easy introduction to the use of TinaView. More advanced programming will use the fulldraw, skeldraw and backdraw callbacks to make the application `live'.