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.8. Grid Nodealgorithm is implemented it can access all grids via this abstraction layer. Specializedalgorithms optimized <strong>for</strong> speed defined on one specific grid can also be implemented.This concept is similar to the approach introduced by Patrick Moran [Mor01], whocreated the FIELD MODEL library [Mor03] at NAS[NAS] which is a C++ templatelibrary. It was also published at IEEE Vis2001 in Tutorial 1 [Tut01].Interface <strong>for</strong> accessing grids:• Geometric primitivesembedded in <strong>3D</strong>– Vertex zero dimensional; Point in <strong>3D</strong>– Edge one dimensional; Line.– Face two dimensional– Cell three dimensional• Connectivity in<strong>for</strong>mationcontains adjacency of Edge, Face and Cell. Each connectivity in<strong>for</strong>mation canbe queried using the interface.• Grid iteratorsGrant access to each cell, each face and each edge <strong>for</strong> the algorithms.For most pairs of grids and visualizations special ways of fast rendering algorithmshave been published.3.8.2 Decoupling of <strong>Visualization</strong> Algorithm and Type of GridIn order to decouple the visualization method from the grid type we use the DesignPattern [Gam95] "Strategy" (page 373 in [Gam96] ) . Not all combinations of gridtypes and visualization techniques may be useful and possible, but never the less aseparation is very important.The design pattern is applied <strong>for</strong> the visualization techniques (see section 2.2page 19) and <strong>for</strong> the grid types.Figure 3.14: Design Pattern: Strategy [Gam95] [Gam96]60

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

Saved successfully!

Ooh no, something went wrong!