VIS- und Uni-Logo
Blindenversion home uni uni suche suche sitemap sitemap kontakt kontakt
unilogo Universität Stuttgart
Institut für Visualisierung und Interaktive Systeme

CrashViewer allgemein

englische VersionDruckversionBlindenversion
 

CrashViewer allgemein

Die Applikation crashViewer wurde als Testplattform für die Implementierung verschiedener Funktionalitäten im Bereich des Pre- und Postprocessings in der Crash-Simulation entwickelt. Der crashViewer wurde in C++ implementiert und setzt sich aus verschiedenen Modulen zusammen, von denen die wichtigsten im folgenden vorgestellt werden:

  • Viewer ist das zentrale Applikationsmodul und übernimmt die Interaktionssteuerung. Als GUI (Graphical User Interface) wird derzeit X11/Motif verwendet, um dem Benutzer Eingaben über Dialogfenster und Menüs zu ermöglichen. Das Darstellungsfenster basiert auf der High-Level-Graphikbibliothek Cosmo3D/OpenGL Optimizer.
  • Reader fasst verschiedene Bibliotheken zum Einlesen von Pre- und Postprocessing-Daten zusammen. Von hier aus werden aus den gegebenen Dateiformaten die benötigten Daten in eine interne, objektorientierte Datenstruktur transformiert.
  • GeoBuilder stellt den Teil der Applikation dar, die aus den internen Daten Objekte zur Darstellung mit Hilfe von High-Level-3D-Graphik-APIs initialisieren. Bisher kann das Simulationsmodell in Szenengraphen für Open Inventor und Cosmo3D umgesetzt werden, die dann zur interaktiven Darstellung traversiert werden.
  • Func umfasst die Algorithmen, die für die verschiedenen Funktionalitäten im Pre- und Postprocessing benötigt werden.
Der modulare Aufbau von crashViewer erlaubt die schnelle Anpassung sowohl an neue beziehungsweise weitere Dateiformate als auch an zukünftige Graphikbibliotheken.
Zur Darstellung wurde die Graphikbibliothek Cosmo3D/OpenGL Optimizer verwendet, welche auf der Low-Level-Graphikbibliothek OpenGL basiert. Während Cosmo3D Objekte zur Repräsentation von geometrischen Modellen in einem gerichteten azyklischen Graphen bietet, umfaßt OpenGL Optimizer verschiedene Werkzeuge zur Optimierung dieses Szenengraphen und zur Performanzsteigerung bei der Darstellung der in der Regel sehr umfangreichen Modelle.


Die Abbildung zeigt die Oberfläche vom crashViewer. Der Benutzer interagiert über 2D- oder 3D-Maus, Tastatur, Bitmap-Buttons, Menüs und Dialogfenster.

Allgemeine Funktionalitäten

  • Jede Szene kann in dem binären csb-Dateiformat abgespeichert und wieder eingelesen werden.
  • Aktuelle Einstellungen sowie Kamerapositionen, Hintergrundfarbe etc. können in einem Environment-File abgespeichert und in einer späteren Session wieder eingelesen werden.
  • Es gibt diverse Funktionen, um die Kameraeinstellung zu wählen; dazu gehören Standardansichten sowie das Aufsuchen und Anzeigen von Punkten, Knoten, Elementen oder Bauteilen.
  • Bauteile können selektiv per Mausklick oder über ihre IDs ausgeblendet bzw. angezeigt werden.
  • Es können einzelne (gegebenenfalls hochauflösende) Snapshots der aktuell dargestellten Ansicht gemacht werden. Darüber hinaus kann auch ein Record-Mode aktiviert werden, der dann die Erstellung von digitalen Videos ermöglicht.
  • Die Szene kann (vorübergehend) auf einen den Betrachter interessierenden Teil beschränkt werden; dazu können entweder Selektionsobjekte (Box, Kugel) oder das Viewing-Frustum der aktuellen Kameraeinstellung verwendet werden. Dies führt bei komplexen Modellen zu einer deutlichen Bildfrequenzsteigerung.
  • Für das Rendering können verschiedene Culling-Verfahren aktiviert werden.
  • Die Geometrierepräsentation kann durch Optimierungsschritte (wie Quadrilateral-Stripping oder Polygondezimierung) effizienter gemacht werden.
  • Schließlich können viele der Standardeinstellungen in einer Initialisierungsdatei voreingestellt werden.


Kontakt: Ove Sommer Email: Ove.Sommer@informatik.uni-stuttgart.de