prev up next

Previous: Vater-Kind-Beziehung und DAG Up: Konzepte Next: Betrachter

Ereignisse und Routing

Jede Manipulation (z.B. setzen einer anderen Farbe, Veränderung der Geometrie etc.) an irgendeinem Knoten des Szenengraphen veranlaßt diesen Knoten, ein Ereignis ( Event) auszulösen. Er schickt dazu alle nötigen Informationen (sich selbst, die Art des Ereignisses und ggf. ein Objekt, das ihm bei der Manipulation als Parameter übergeben wurde) über seinen Vater Richtung Wurzel. Dort angekommen, werden die Informationen von der Laufzeitumgebung weiterverarbeitet. Diese Weitergabe der Events in Richtung Wurzel wird up routing genannt.

Bei manchen Events kann es für die Laufzeitumgebung nötig sein, den Weg von der Wurzel bis zum manipulierten Knoten (oder noch weiter) abwärts zu gehen, um dabei Informationen zu sammeln. Dies ist z.B. der Fall, wenn ein Group-Knoten ein neues Kind erhalten hat. Das neue Kind kann evtl. ein ganzer Ast mit einem Group-Knoten als Wurzel sein. Um alle Objekte in diesem neuen Ast korrekt zur Szene hinzuzufügen, müssen die Gesamttransformationen aller Blätter in diesem Ast von der Wurzel aus neu aufmultipliziert werden. Diese Art der Traversierung bezeichnet man als down routing.


prev up next
Previous: Vater-Kind-Beziehung und DAG Up: Konzepte Next: Betrachter