flowvis

Source - Dokumentation

Eine Zentrale Rolle, was die Ablaufsteuerung im Programm betrifft spielt die Klasse flowvisWindow. Sie repräsentiert Das Hauptfenster der Anwendung, das sämtliche Komponenten des GUI umfasst. Damit fungiert die Klasse flowvisWindow auch als Vermittler zwischen User und den Rendering-Algorithmen.

Ein wesentliches GUI-Element im Hauptfenster ist das Ausgabe- Widget (Klasse OutputWidget). Auf dieses wird das gerenderte Bild - welches in Form einer QPixmap vorliegt - übertragen. OutputWidget verfügt weiters über die Fähigkeit, Mausklicks und damit Seed-Punkte für eine spätere Animation zu speichern.

Was die Daten angeht sind die Klassen Data, Grid, GridPoint, und Cell von größter Wichtigkeit. Die Klasse Data speichert die Daten zunächst in einem unregelmäßigen und nach dem interpolieren in einem regelmäßigen karthesischen grid. Weiters stellt diese Klasse Funktionen zur Verfügung, die das Umrechnen von Pixel- in reale Werte und umgekehrt ermöglichen.

Grid stellt ein für die Abstands-Berechnungen für Streamlines wichtiges Gitter zur Verfügung. Cell repräsentiert in diesem Zusammenhang eine Zelle in dem Gitter und GridPoint steht für einen Punkt im Grid.

Für Das Rendering sind die Klassen ArrowField und Streamlines zuständig. Beide sind von FlowVis abgeleitet. wichtig hierbei sind die render()-Methoden, die von den Kindern unterschiedlich implementiert werden. Die Funktionalität der Animation ist in der Klasse Streamlines untergebracht.