5.4.2 Data Structures



next up previous contents index
Next: 5.5 Flow-Lines Up: 5.4 Implementation Previous: 5.4.1 Supported Operations

5.4.2 Data Structures

     

The internal memory resident representation of the visualization data is the so-called VISTA Visualization Format, or VVF. It implements directly the simplex concept using a set of hierarchical C data structures, which are passed from module to module. The structures are organized in dynamically allocated arrays of simplexes or coordinates. A doubly linked list of tagged blocks which point to the arrays of simplexes is maintained. The -simplex data structure consists of references to -simplex data structures, an attribute field and an auxiliary pointer, which can be used by individual visualization modules for back-referencing and similar purposes. The attribute is an integer value which is interpreted by the output tools; it can be mapped to graphical properties like color, texture, or line style, depending on the output device.

  
Figure 5.2: Simplified arrangement of VVF structures for a set of two-dimensional simplexes.

Figure 5.2 shows an example of a VVF structure consisting of simplex arrays and blocks. It represents a simple example for a two-dimensional simplex set. The blockgif labeled ``s2'' represents the 2-simplexes (triangles) which reference lines of the ``s1'' block. The ``s1'' block consists of multiple simplex arrays. The zero-simplexes in the ``s0'' block are just references to the coordinate tuples of the point block. This might appear like a waste of memory space, but the small amount of memory is a cheap price for the valuable conceptual integrity which is gained. Several simplex sets and other visualize-able data (like axes, color scales, etc.) are threaded together in a top-level doubly linked list. This is indicated by the block labeled ``S'' in Figure 5.2.



Martin Stiftinger
Thu Oct 13 13:51:43 MET 1994