next up previous contents
Nächste Seite: Sensoren Aufwärts: Interaktion mit dem Betrachter Vorherige Seite: Interaktion mit dem Betrachter   Inhalt


Kommunikation zwischen den Knoten

Die Knoten, zwischen denen Ereignisse ausgetauscht werden, werden mit einem bestimmten Kommunikationskonzept miteinander verbunden. Dabei werden auch die Datenfelder angegeben, zwischen denen kommuniziert werden soll. Entscheidend ist dabei die Art, wie man auf die Datenfelder zugreifen kann. Man unterscheidet hier zwischen vier unterschiedlichen Typen, wobei in Klammern die alte VRML Bezeichnung angegeben ist:
inputOnly (eventIn)
Über diesen Feldtyp kann ein Knoten zur Laufzeit Ereignisse empfangen.
outputOnly (eventOut)
Dieser Feldtyp ermöglicht es einem Knoten, Ereignisse auszusenden. Diese können dann von einem inputOnly-Feld eines anderen Knoten empfangen und verarbeitet werden.
inputOutput (exposedField)
Über diesen Feldtyp lassen sich sowohl Ereignisse aufnehmen als auch verschicken.
initializeOnly (field)
Feldern dieses Typs können zur Laufzeit keine neuen Werte zugewiesen werden.

Abbildung 5.2: Funktionsweise des ROUTE-Befehls


\resizebox*{0.9\textwidth}{!}{\includegraphics{pics/route}}

In Abbildung 5.2 ist die Funktionsweise des ROUTE-Konzepts zu sehen [Deba2000]. Zur Angabe einer ROUTE werden lediglich die Feldnamen und die Knotennamen angegeben, die man miteinander verbinden möchte. Die Knotennamen müssen dazu vorher über das DEF-Feld festgelegt werden.
<ROUTE fromField="outputOnly" fromNode="Knoten A"
       toField="inputOnly" toNode="Knoten B"/>
Neben den passenden Feldtypen müssen auch die Datentypen beider Felder zueinander passen. Es lassen sich nur Felder mit identischen Datentypen miteinander verbinden. Felder mit unterschiedlichen Datentypen lassen sich jedoch indirekt über einen Script-Knoten verbinden. Diese lassen sich individuell gestalten, da man für sie beliebig viele Datenfelder definieren kann. Eingehende Ereignisse werden durch selbst implementierte Funktionen verarbeitet, die wiederum weitere Ereignisse auslösen können. Der Programmcode der Funktion kann entweder direkt in der Datei als Javascript oder auch extern in einer Javaklasse abgelegt werden.
next up previous contents
Nächste Seite: Sensoren Aufwärts: Interaktion mit dem Betrachter Vorherige Seite: Interaktion mit dem Betrachter   Inhalt
Oliver Krone 2003-04-28