13.07.2015 Views

CashFlow, A Visualization Framework for 3D Flow - Studierstube ...

CashFlow, A Visualization Framework for 3D Flow - Studierstube ...

CashFlow, A Visualization Framework for 3D Flow - Studierstube ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Software Design3.1. <strong>Cash<strong>Flow</strong></strong> <strong>Visualization</strong> Pipeline• DATAThe obvious purpose of this node is to store data, but also meta–in<strong>for</strong>mationlike the type of grid and the topology in<strong>for</strong>mation is stored in this node. Mappernodes and Render nodes can process the data stored in the Data node. SometimesMapper nodes also generate intermediate data, that is used by other Mappernodes or Render nodes. An example <strong>for</strong> useful intermediate data is the gradientin<strong>for</strong>mation per vertex.The Data node is simplified in figure 3.1 as one node, but in <strong>Cash<strong>Flow</strong></strong> it consistsof the following three nodes (not shown in figure 3.1):1. MultiData node: Is a container <strong>for</strong> data and consists of several multi–valued arrays <strong>for</strong> various <strong>for</strong>ms of raw data like i.e. floating point values(coordinates, pressure, density etc.).2. DataAccess node: allows the user to define virtual arrays as described insection 3.4 on page 46. The DataAccess nodes link to MultiData nodes.DataAccess nodes provide a basis <strong>for</strong> Filters executed at runtime.3. Grid node: provides topological in<strong>for</strong>mation on the data. Raw data doesnot have any associated topology. We need to know if the data describesa height field, a regular quad mesh, or an irregular tetrahedral grid. Gridnode has a large number of subclasses that provide such topological in<strong>for</strong>mation.We distinguish 2D/<strong>3D</strong>, irregular/regular, rectangular/sphericaland so <strong>for</strong>th. While the regular grids need only a few parameters (suchas width and height) <strong>for</strong> characterization, the irregular grids have an indexfield (comparable to SoIndexedFaceSet). The Grid node does not per<strong>for</strong>many rendering, it merely defines topology and is requested by Mapper nodesand Render nodes.The Data node is a semantic construction to keep the software design as independent<strong>for</strong> the implementation as possible. Note, that a Data node does not existsin our implementation of <strong>Cash<strong>Flow</strong></strong>. Nevertheless one Data node serving allmentioned needs may also be a solution as the Field Model library proves. Ourexperience shows that separating the data in MultiData, DataAccess and Gridnode enables the widest variety possible in combination with the scene graph.• MAPPER The Mapper node serves as a base class <strong>for</strong> all nodes that trans<strong>for</strong>minput data into output data, involving creation or copying of data. Also mostvisualization algorithms are implemented as Mapper node’s. The Mapper nodethere<strong>for</strong>e refers to an input data node as well as an output data node, which isfed with computed data. This is necessary if any new data is synthesized or computed,such as in the creation of streamlines from seed–points or the computationof an iso–surface from iso–values, to name some.Recomputation of the Mapper can be slow, so the circumstances <strong>for</strong> triggeringrecalculation can be configured and are not necessarily managed by the traversalorder.40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!