19.01.2015 Aufrufe

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

Projektgruppe Visual Analytics - Medieninformatik und Multimedia ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

186 Kapitel 10 Implementierung<br />

10.4.2 TUIOServer<br />

Mittels der Methode Connect() erstellt TUIOServer eine UdpClient-Instanz, die die<br />

von der Fingertracking-Software gesendeten TUIO-Daten empfängt <strong>und</strong> an die Methode<br />

ProcessMessage() weiterleitet. ProcessMessage() fügt die so erkannten Blobs in<br />

der Klasse Multitouch durch Aufruf der Methode AddBlob() ein. Ferner trägt die<br />

Methode auch dazu bei, dass beim Verschwinden eines Blobs von der Tischoberfläche<br />

dieser auch wieder aus der Liste der erkannten Finger entfernt wird.<br />

10.4.3 Multitouch<br />

Die wichtigste Funktion der Klasse Multitouch ist die Umwandlung der von<br />

der Fingertracking-Software erkannten Blob-Positionsveränderungen in Gesten <strong>und</strong><br />

daraufhin das Feuern von Events, die diesen Gesten entsprechen.<br />

Im Folgenden werden die erkennbaren Gesten <strong>und</strong> die daraufhin gefeuerten Events<br />

beschrieben.<br />

TouchDown Das TouchDown-Event wird abgefeuert, wenn ein neuer Finger die<br />

Tischoberfläche berührt <strong>und</strong> die darunterliegenden GUI-Elemente keine weiteren<br />

Blobs in BlobsProperty haben. Damit wird gewährleistet, dass eine Berührung<br />

unabhängig von der Fingeranzahl erkannt wird.<br />

TouchEnter Das TouchEnter-Event wird ausgelöst, wenn ein Finger auf der Tischoberfläche<br />

seine Position ändert <strong>und</strong> dabei auf einen Bereich eines GUI-Elements<br />

kommt, dass noch keinen Blob in der BlobsProperty-Liste hat.<br />

TouchUp Ein TouchUp-Event wird gesendet, wenn ein Finger von der Tischoberfläche<br />

abgehoben wird <strong>und</strong> das darunterliegende GUI-Element nur eine Blob-<br />

Objektinstanz in der BlobsProperty hatte. Es wird hierdurch gewährleistet, dass<br />

eine Berührung unabhängig von der Fingeranzahl ist <strong>und</strong> ein TouchUp-Event nur<br />

ausgelöst wird, wenn alle Finger vom entsprechenden GUI-Element abgehoben<br />

wurden.<br />

TouchLeave Das TouchLeave-Event wird abgefeuert, wenn der letzte Finger auf einem<br />

GUI-Element dieses verlässt <strong>und</strong> die BlobsProperty somit leer wird. Hierdurch<br />

wird gewährleistet, dass das TouchLeave-Event von der Fingeranzahl unabhängig<br />

ist.<br />

TouchMove Das TouchMove-Event wird ausgelöst, wenn ein Finger auf der Tischoberfläche<br />

die Position ändert. Für jedes darunterliegende GUI-Element wird

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!