Front IDILL :
TuioPoint class header modified in order to manage 3D points
TuioContainer class header modified in order to manage 3D points
TuioCursor class header modified in order to manage 3D points
TuioClient class header modified in order to manage 3D points
TuioClient class modified in order to manage 3D points
client class header modified in order to manage 3D points
client class modified in order to manage 3D points
/*
* This file is part of the TraKERS\Front Processing package.
*
* (c) IRI <http://www.iri.centrepompidou.fr/>
*
* For the full copyright and license information, please view the LICENSE_FRONT
* file that was distributed with this source code.
*/
/*FONCTION DE RECEPTION DES MESSAGES OSC
Entrée :
Sortie : Appel aux différentes fonctions de dessin si un message est reçu*/
void tuioInput()
{
noFill();
Vector tuioCursorList = tuioClient.getTuioCursors();
if(tuioCursorList.size() == 1)
{
handleOneHand((TuioCursor)tuioCursorList.elementAt(0));
}
else if(tuioCursorList.size() == 2)
{
handleBothHands(tuioCursorList);
}
}
/*FONCTION DE GESTION DES COURBES POUR UNE MAIN DETECTEE
Entrée : Un curseur TUIO
Sortie : Appel aux différentes fonctions de dessin si un message est reçu*/
void handleOneHand(TuioCursor handCursor)
{
boolean click;
TuioPoint pt = handCursor.getPosition();
fill(0);
if(pt.getZ() > minClickHand && pt.getZ() < maxClickHand)
click = true;
else
click = false;
update((int)pt.getX(), (int)pt.getY(), click);
}
/*FONCTION DE GESTION DES COURBES POUR DEUX MAINS DETECTEES
Entrée : La liste des curseurs TUIO
Sortie : Appel aux différentes fonctions de dessin si un message est reçu*/
void handleBothHands(Vector tuioCursorList)
{
boolean click;
TuioCursor handLeftCursor = (TuioCursor)tuioCursorList.elementAt(0);
TuioCursor handRightCursor = (TuioCursor)tuioCursorList.elementAt(1);
TuioPoint ptLeft = handLeftCursor.getPosition(), ptRight = handRightCursor.getPosition(), ptNearest;
ptNearest = (ptLeft.getZ() < ptRight.getZ()) ? ptLeft : ptRight;
if(ptNearest.getZ() > minClickHand && ptNearest.getZ() < maxClickHand)
click = true;
else
click = false;
update((int)ptNearest.getX(), (int)ptNearest.getY(), click);
}