Visualization Engine

Beschreibung & Philosophie

Die Visualization Engine ist dafür verantwortlich, die aktuelle Konfiguration zu visualisieren. Dabei ist es egal, ob es sich um eine 2D oder 3D Visualisierung handelt. Selbst Interaktionen mit der Szene werden von der Visualization Engine ermöglicht.

Wir verfolgen dabei den Gedanken, dass man alles darstellen kann, was man auch bauen kann. Da es die Aufgabe des Konfigurators ist sicherzustellen, dass die Konfiguration auch gebaut werden kann, sollte einer Visualisierung nichts im Wege stehen. Da diese Visualisierung in Echtzeit geschieht und auf alle Änderungen der Konfiguration reagieren muss, lag uns eine optimale Performance sehr am Herzen.

Visualisierungs Logik

Die Konfiguration enthält in der Regel keine Informationen darüber, wie etwas visuell zusammengestellt werden soll. Genau hier kommt die Visualisierungslogik zum Tragen. Die Visualisierungslogik stellt das Bindeglied zwischen der Konfiguration und der Visualisierung dar.

Die Visualisierungslogik bezieht sich direkt auf die Konfiguration. Man kann die Visualisierungslogik sowohl deklarativ als auch prozedural definieren.

Es können in der Visualisierungs Logik alle Details definieren lassen, um Komponenten im Raum zu platzieren oder aneinander zu fügen. Bei komplexeren Anwendungen lässt sich ebenfalls ein CAD System verwenden, das z.B. über einen Webservice angesprochen wird und Teile rendert. Da dies in der Regel ein Zeitaufwendiger Vorgang ist, unterstützt die Visualization Engine einen hybriden Prozess, der komplexe Einzelteile nach Bedarf beim CAD System anfordert und beim nächsten Mal so weiter benutzt.

Mit Eventhandlern kann man definieren, wie auf Interaktionen mit der 2D oder 3D Szene reagiert werden soll. Die Visualization Engine ermöglicht es, ohne Konfigurations UI direkt in der visuellen Szene die Konfiguration komplett durch zu führen. Allerdings macht das nur für manche Produkte auch wirklich Sinn. Mehrere Viewer und Viewerformate werden unterstützt. Neue Viewer können sehr elegant eingebunden werden.