Anpassungen

Das Whiteboard funktioniert wie ein Touchscreen und ist damit eine Eingabemöglichkeit die gesondert betrachtet werden muss. Im Vergleich zur Maus muss man z.B.: völlig auf eine Äquivalent zur rechte Maustaste sowie auf eine alternative zum Mausrad verzichten. Um GigaMesh trotzdem in vollem Umfang nutzen zu können, waren folgende Anpassungen nötig:

Auswahl eines Punktes des 3D-Mesh

Die WiiMote hat eine Auflösung von 1024x768 pixel, die je nach Aufbau mehr oder weniger gut ausgenutzt werden. Bei einer mittlerweile bereits standardmäßig höheren Desktop-Auflösung ist die Whiteboard-Steuerung damit ungenauer als eine herkömmliche Maussteuerung. Eine zielgerichtete Punktauswahl wird somit erheblich erschwert im Vergleich zur Maussteuerung.

Um trotzdem eine Punktauswahl zu ermöglichen, wurde der sensitive Bereich vergrößert, indem der Radius statisch angepasst wurde.
(siehe auch Abschnitt: Dynamische Einstellung des Radius zur Punktauswahl unter Ausblick)

Whiteboard Zoom-Möglichkeit

Einer Touchscreen ähnlichen Whiteboard Steuerung fehlen die Möglichkeiten eines Mausrades. Zu Beginn waren Vergrößerungen und Verkleinerungen lediglich durch das Mausrad anzustoßen. Um mit dem Whiteboard zu zoomen war folglich ein weiteres Werkzeug nötig. Die erste und intuitive Schlussfolgerung war ein Slider, dieser sollte über die 3D-Szene gezeichnet werden.

Bei den Recherchen nach Unterstützung und Dokumentation stolpert man immer wieder über den Vorschlag, mit einem QPainter über die 3D-Szene zu zeichnen. Auf der Qt Homepage findet sich sogar ein entsprechendes, jedoch zu simples Beispiel:

Unglücklicherweise traten Seiteneffekte beim Zeichnen des SliderTools auf, die 3D-Szene wurde in unerwarteter Weise vom QPainter beeinflusste. Das Ändern von Einstellungen sowie die Einführung eines Einstellungs-Stacks brachten keinen Erfolg hinsichtlich der Seiteneffekte.

Schlussendlich haben die 3D-Szene und der QPainter verschiedene Voraussetzungen und können leider nicht ohne weiteres miteinander verwendet werden. Man hätte sonst ein umfangreiches und leicht zu benutzendes Zeichenwerkzeug.
Ohne die Möglichkeiten des QPainter bestand nun die Frage nach einer alternativen Zeichenmethode, diese war glücklicherweise schnell gefunden. Das Slidertool sollte pixelweise direkt auf den aktuellen Frame in den Frame-Buffer geschrieben werden. Das bereits vorhandene Gitter wird auf eine identische Weise erzeugt. Wie beim Gitter können dazu OpenGL Befehle angestoßen werden.

Die Dokumentation(Doxygen) zum Slidertool ist hier zu finden: