front_processing/src/Interaction_examples/Hands_2D/TuioFunctions.pde
author bastiena
Wed, 30 May 2012 10:21:36 +0200
changeset 35 4267d6d27a7d
parent 27 6c08d4d7219e
permissions -rw-r--r--
Front IDILL : Config file added dor the Front Random play at the beginning (when no user is detected) Pointers added Curves added (search and filter modes) Mosaic completion added (depletion to come later) State of the Front : just before the communication module creation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     1
/*
8
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
*
27
6c08d4d7219e Middleware :
bastiena
parents: 10
diff changeset
     6
* For the full copyright and license information, please view the LICENSE
8
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