The use of data structures for displaying images is described: A first minimal
data structure. In this structure only that information needed to show the data in the form of a 3D image, either
wire mesh or rendered, to the user, is loaded into memory, e.g. the RAM memory. No additional information about the
data structure is generated. For example, no
connectivity data is loaded into memory. Typically this memory state is used for “read-only” purposes. In other words, the
data objects are not to be modified. A second Rich (Flexible)
data structure. In this structure, information, which a typical application holds to perform operations on the data, will be kept in memory, e.g. a RAM memory. Optional examples of extra information needed are,
connectivity data such as neighbor information, some data flags for polygons, e.g. triangles and vertices, references to next and previous vertices and polygons, e.g. triangles, etc. In order to perform complex operations on big datasets in a somewhat efficient way, such extra information is preferred. A third data structure mainly in the non-
volatile memory. In this structure the bulk of the data will be put into the non-volatile storage again, but in such a way that it can very easily be converted into one of the other memory structures again that are mentioned above. The structure in RAM will be similar as in 1 or 2, but will contain a reduced version of the data: for instance the 3D model will be described with less polygons, ultimately with only 6 polygons (the bounding box).