The Architecture of VARIANT

VARIANT consists of a number of independent modules, organized in two layers.

TOLTO PERCHE' RIPETITIVO The modules of the inner layer provide primitive operations for building and querying an MT. The outer layer is the extensible part of the system: it currently includes programs which build MTs through various techniques, and a few programs to perform terrain visualization and terrain analysis at variable accuracy.

The inner layer, i.e., the system kernel, is called the MT-manager. It contains the data structure implementing the Multi-Triangulation as well as a set of operations that provide a standard interface between the MT and the other modules of the system. Besides utility operations, such as I/O functions, the MT-manager provides two main classes of operations:

The outer layer is the extensible part of the system, which contains modules implementing applications that exploit multiresolution features. Such applications rely on the MT-manager to either build or query a terrain model encoded through an MT. Modules in this layer can be classified further as:

Figure: Modules composing the VARIANT system and their relations.
\begin{figure*}SCHEMA DA RIFARE\end{figure*}

The system architecture is depicted in Figure [*] in terms of the relations among the different modules. Modules implementing the MT-manager, the query parameters, the MT-generators and the MT-clients are described in more details in the following sections.

FORSE LA FRASE SEGUENTE POTREBBE ESSERE PORTATA NELLE CONCLUSIONI INSIEME A COMMENTI SU COME OTTIMIZZARE L'IMPLEMENTAZIONE PER MODELLI PARTICOLARI (LAVORO CAD).

The current version of VARIANT has been implemented in C++ under the Unix operating system, by making use of an object oriented library for rapid prototyping of MT-based applications [], which is also the main tool available to write extensions to the system.