Next: Model Building Philosophy Up: THE COMBINATORIAL GEOMETRY Previous: Background

# Directed Acyclic Graph and Database Details

One of the critical aspects of a graphics software package is its internal data structure. Since geometric models often result in very large volumes of data being generated, the importance of the data structure here is emphasized. Thus it is felt that a brief introduction to the organization of the MGED database is important for all users.

The database is stored as a single, binary, direct-access UNIX file for efficiency and cohesion, with fixed length records called database granules. Each object occupies one or more granules of storage. The user sees and manipulates the directed acyclic graphs like UNIX paths (e.g., car/chassis/door), but in a global namespace. There can be many independent or semi-independent directed acyclic graphs within the same database, each defining different models. The figure also makes heavy use of the instancing capability. As mentioned earlier, the leaves of the graph are the primitive solids.

Commands exist to import sub-trees from other databases and libraries, and to export sub-trees to other databases. Also, converters exist to dump databases in printable form for non-binary interchange.