next up previous contents
Nächste Seite: Ereignisablauf Aufwärts: Visualisierung Vorherige Seite: Darstellung einer Bindung   Inhalt


Das Hilfe-Fenster

Aufgebaut wird das Fenster, das in Abbildung 7.1 abgebildet ist, durch fünf verschiedene Objekte, drei Textfelder und zwei Box-Objekte. Die Größe des Fensters wird durch ein farbiges Box-Objekt bestimmt, das im Hintergrund angeordnet ist. Vor dieser Box werden die weiteren Objekte angeordnet, wodurch insbesondere der Kontrast zur Schrift der Textfelder erhöht wird. Dasselbe Aufbauprinzip wird bei der zweiten Box verwendet, der zusätzlich ein TouchSensor zugeordnet ist. Dieses Objekt dient daher als Knopf, über den sich allgemeine Elementinformationen zu einem Atom abrufen lassen. Die genaue Definition des Fensters wird im Quellcode 7.5 abgebildet.

Abbildung 7.1: Das Hilfe-Fenster
\resizebox*{0.8\textwidth}{!}{\includegraphics{pics/fenster}}

Das Fenster erscheint, sobald auf ein Objekt in der 3D-Szene geklickt wird. Es zeigt dann die entsprechenden Informationen des Objekts an. Bei einem Atom werden z.B. die Koordinaten und bei einer Bindung z.B. die Länge angezeigt. Soll das Fenster wieder verschwinden, reicht es, sich in der 3D-Szene zu bewegen. Dann wird dem Feld translation des äußersten Transform-Knotens der Wert (1000,1000,1000) zugewiesen. Damit wird das Fenster an den neuen Ort bewegt und ist praktisch nicht mehr sichtbar. Man kann das Fenster auch in der X/Y-Ebene verschieben. Realisiert wird das mit einem PlaneSensor und einer ROUTE, die die translation Felder des inneren Transform-Knoten und des Sensors miteinander verbindet.

Aufbau des Hilfe-Fensters
<Transform DEF="window">
 <Transform DEF="group">
  <PlaneSensor DEF="plane"/>
  <Transform translation="0.11 0.07 -0.499">
   <Shape>
    <Text DEF="text"> 
     <FontStyle family="SANS" size="0.017"/>
    </Text>
    <Appearance><Material diffuseColor="1 1 0"/></Appearance>
   </Shape>
  </Transform>
  <Transform translation="0.2 0.01 -0.501">
   <Shape>
    <Box size="0.2 0.2 0.001"/>
    <Appearance>
     <Material diffuseColor="0.1 0.1 0.6"/>
    </Appearance>
   </Shape>
  </Transform>
  <Transform translation="0.255 0.095 -0.5">
   <TouchSensor DEF="button_touch"/>
   <Shape>
    <Box size="0.078 0.02 0.001"/>
    <Appearance><Material diffuseColor="1 1 0"/></Appearance>
   </Shape>
   <Transform translation="-0.036 -0.007 0.01">
    <Shape>
     <Text string="Atom-Info">
      <FontStyle family="SANS" size="0.017"/>
     </Text>
     <Appearance><Material diffuseColor="0 0 1"/></Appearance>
    </Shape>
   </Transform>
  </Transform>
  <Transform translation="0.11 0.09 -0.499">
   <Shape>
    <Text DEF="atom_name">
     <FontStyle family="SANS" size="0.02"/>
    </Text>
    <Appearance><Material diffuseColor="1 1 0"/></Appearance>
   </Shape>
  </Transform>
 </Transform>
 <ROUTE fromField="translation" fromNode="plane" 
  toField="translation" toNode="group"/>
</Transform>


next up previous contents
Nächste Seite: Ereignisablauf Aufwärts: Visualisierung Vorherige Seite: Darstellung einer Bindung   Inhalt
Oliver Krone 2003-04-28