next up previous contents
Nächste Seite: Das Hilfe-Fenster Aufwärts: Visualisierung Vorherige Seite: Darstellung eines Atoms   Inhalt


Darstellung einer Bindung

Jede Bindung wird als Zylinder dargestellt, der zwischen den jeweiligen Atomen positioniert wird. Der Radius des Zylinders ist für jede Bindung gleich groß. Da auch wieder zu jeder Bindung Informationen in einem Hilfe-Fenster angezeigt werden sollen, wird eine Bindung ebenfalls durch einen Prototypen beschrieben. Im Quellcode 7.4 ist das Interface des Bond-Prototypen zu sehen.

Interface des Bond-Prototypen
<ProtoInterface>
    <field accessType="inputOutput" name="translation"
        type="SFVec3f"/>
    <field accessType="inputOutput" name="rotation"
        type="SFRotation"/>
    <field accessType="initializeOnly" name="height"
        type="SFFloat"/>
    <field accessType="inputOutput" name="color"
        type="SFColor"/>
    <field accessType="initializeOnly" name="data" 
        type="MFString"/>
    <field accessType="outputOnly" name="data_out" 
        type="MFString"/>
    <field accessType="outputOnly" name="touch_out" 
        type="SFBool"/>
    <field accessType="outputOnly" name="name_off" 
        type="MFString"/>
    <field accessType="outputOnly" name="button_off" 
        type="SFBool"/>
</ProtoInterface>

In diesem Fall sorgen die ersten vier Datenfelder für die eigentliche Darstellung. Mit den Feldern translation und rotation wird der Zylinder an die exakte Position gebracht und entsprechend ausgerichtet. Die Felder color und height bestimmen den Farbwert und die Länge des Zylinders. Die restlichen Felder sind wieder für die Kommunikation mit den anderen Objekten der Szene zuständig. In dem Feld data ist die nähere Beschreibung der Bindung abgelegt. Sie wird bei der Instanziierung mit angegeben. Der ProtoBody-Knoten des Bond-Prototypen ist nahezu identisch aufgebaut wie der des Atom-Prototypen, weshalb der Quellcode nicht extra aufgeführt wird. Zunächst wird wieder die Darstellung des Bond-Objektes festgelegt und über einen Script-Knoten wird die Kommunikation mit den anderen Objekten realisiert. Innerhalb des Script-Knotens werden folgende Wertzuweisungen gemacht, wobei die dadurch entstehenden Ereignisse im Abschnitt 7.1.4 näher erläutert werden.

1.
Das Feld data_out wird mit den Daten, die im Feld data angegeben wurden, gefüllt.
2.
Dem Feld name_off wird ein leerer String zugewiesen.
3.
Das Feld button_off erhält den Wert false.

next up previous contents
Nächste Seite: Das Hilfe-Fenster Aufwärts: Visualisierung Vorherige Seite: Darstellung eines Atoms   Inhalt
Oliver Krone 2003-04-28