28.02.2014 Aufrufe

Blended Shelf - Human-Computer Interaction - Universität Konstanz

Blended Shelf - Human-Computer Interaction - Universität Konstanz

Blended Shelf - Human-Computer Interaction - Universität Konstanz

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Umsetzung<br />

Stellt ein <strong>Shelf</strong>Control während der Befüllung mit ItemControls oder während eines Sortiervorgangs<br />

fest, dass der Platz für die Darstellung der ItemControls nicht ausreicht, legt es einen rechten<br />

Nachbarn an, welcher sich wiederum seinen Auftraggeber als linken Nachbarn merkt. Dies wiederholt<br />

sich so oft, bis entweder die Anzahl der maximal zulässigen ItemControls für die Regallandschaft<br />

erreicht ist oder alle ItemControls dargestellt werden können. Dieses recht einfache Prinzip<br />

hat sich als effektiv und flexibel herausgestellt. So können die Regale zur Laufzeit je nach Bedarf<br />

und je nach Datenlage verkleinert und vergrößert werden. Die wenig komplexe Datenstruktur der<br />

verketteten Liste erlaubt zusätzlich die rekursive Implementierung von schlanken Algorithmen zum<br />

effizienten Ablaufen der Regallandschaft.<br />

Im <strong>Shelf</strong>Control sind zahlreiche Methoden zur Navigation verortet. Diese Methoden können über<br />

die Navigator-Klasse öffentlich aufgerufen werden, so dass die Navigation unabhängig von der<br />

Eingabemodalität gesteuert werden kann. Navigation in BS bedeutet letztlich nur, dass eine virtuelle<br />

Kamera in der 3D-Regallandschaft bewegt wird. Wird das BS aufgefordert, die Kamera um ein<br />

Regal nach rechts zu bewegen, wird erst geprüft, ob überhaupt ein rechter Nachbar vorhanden ist.<br />

Ist dies der Fall, wird anschließend die neue Kameraposition berechnet und die Kamera zur neuen<br />

Position animiert.<br />

Abbildung 27: Beispielhafter Ablauf einer Fingereingabe (Manipulation)<br />

Im <strong>Shelf</strong>Control sind ebenfalls die Manipulation-Events (siehe Abbildung 27) implementiert. Eine<br />

Manipulation wird z. B. über Fingereingaben ausgelöst. Ebenso kann die Inertia – das sind durch<br />

digital simulierte Trägheit geschaffene Bewegungen im Anschluss an eine Interaktion – Manipula-<br />

65

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!