front_processing/src/Interaction_examples/Hands_2D/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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     1
/*
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     2
* This file is part of the TraKERS\Front Processing package.
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     3
*
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     4
* (c) IRI <http://www.iri.centrepompidou.fr/>
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     5
*
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     6
* For the full copyright and license information, please view the LICENSE_FRONT
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     7
* file that was distributed with this source code.
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     8
*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     9
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    10
/*FONCTION DE RECEPTION DES MESSAGES OSC
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    11
Entrée :
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    12
Sortie : Appel aux différentes fonctions de dessin si un message est reçu*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    13
void tuioInput()
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    14
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    15
    noFill();
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    16
    Vector tuioCursorList = tuioClient.getTuioCursors();
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    17
    	
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    18
    if(tuioCursorList.size() == 1)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    19
    {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    20
        handleOneHand((TuioCursor)tuioCursorList.elementAt(0));
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    21
    }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    22
    else if(tuioCursorList.size() == 2)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    23
    {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    24
        handleBothHands(tuioCursorList);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    25
    }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    26
}
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    27
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    28
/*FONCTION DE GESTION DES COURBES POUR UNE MAIN DETECTEE
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    29
Entrée : Un curseur TUIO
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    30
Sortie : Envoie les coordonnées du point au fichier principal*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    31
void handleOneHand(TuioCursor handCursor)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    32
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    33
    TuioPoint pt = handCursor.getPosition();
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    34
    fill(0);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    35
    update((int)pt.getX(), (int)pt.getY());
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    36
}
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    37
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    38
/*FONCTION DE GESTION DES COURBES POUR DEUX MAINS DETECTEES
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    39
Entrée : La liste des curseurs TUIO
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    40
Sortie : Envoie les coordonnées du point le plus proche au fichier principal*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    41
void handleBothHands(Vector tuioCursorList)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    42
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    43
    TuioCursor handLeftCursor = (TuioCursor)tuioCursorList.elementAt(0);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    44
    TuioCursor handRightCursor = (TuioCursor)tuioCursorList.elementAt(1);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    45
    TuioPoint ptLeft = handLeftCursor.getPosition(), ptRight = handRightCursor.getPosition(), ptNearest;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    46
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    47
    ptNearest = (ptLeft.getZ() < ptRight.getZ()) ? ptLeft : ptRight;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    48
    update((int)ptNearest.getX(), (int)ptNearest.getY());
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    49
}
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    50
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    51