front_processing/src/Fluid_manipulation/TuioFunctions.pde
author bastiena
Thu, 22 Mar 2012 16:00:17 +0100
changeset 8 e4e7db2435f8
child 9 0f44b7360c8d
permissions -rw-r--r--
Processing: New examples implemented : Fluid, Smoke, Interaction examples. Split in one file for the main instructions, one for TUIO stuff. License headers added.

/*
* 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()
{
    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)
{
    TuioPoint pt = handCursor.getPosition();
    update(pt, null);
}

/*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)
{
    TuioCursor handLeftCursor = (TuioCursor)tuioCursorList.elementAt(0);
    TuioCursor handRightCursor = (TuioCursor)tuioCursorList.elementAt(1);
    TuioPoint _pt1, _pt2;

    _pt1 = (TuioPoint)handLeftCursor.getPosition();
    _pt2 = (TuioPoint)handRightCursor.getPosition();
    update(_pt1, _pt2);
}