The architecture chosen for the visualization is that of a set of orthogonal operations which can be applied to a common data set. A desired visualization result is then achieved by combining these elementary visualization operations in a sequence which is given by the data flow and by providing them with additional parameters if required.
Typical operations include, e.g., Projection, Cutting with a set of parallel planes, Transformation, Surface extraction or Subset and Merge operations. All these operations are vastly independent of the spatial dimension of the data on which they are performed. They can be characterized by the dimensionality relations of their input and output data. But before this can be done, a formalism to describe the type and properties of the visualizable data is needed.
The motivation for this rigorous orthogonal-modules concept is of course that the implementation of future visualization functionality is facilitated by bringing the implementation closer to the formal definition and decomposition of the visualization problem.
For example, a two-dimensional contour plot of a quasi three-dimensional surface can be decomposed (informally) into the following subproblems:
This rather intuitive concept implies a sufficient level of abstraction to be used for the simulation data. No semantics implicitly or explicitly associated with the otherwise purely geometrical information of the data should limit the scope, applicability, and interoperability of the operations that can be combined.
Once a minimum-requirement set of data structures is defined, output and interface modules for driving custom visualization systems may be added, similarily to the actual visualization modules at any level of abstraction and for whatever dimension of visualizable data is required.