front_processing/src/Interaction_examples/Hands_1D/TuioFunctions.pde
author bastiena
Thu, 12 Apr 2012 13:09:46 +0200
changeset 27 6c08d4d7219e
parent 10 925b7ee746e3
permissions -rw-r--r--
Middleware : GPL License added. Front Processing : GPL License added. Front IDILL : extern altered to send TUIO cursors from Middleware to Front. implemented as a plugin.
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 : Appel aux différentes fonctions de dessin si un message est reçu*/
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());
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 : Appel aux différentes fonctions de dessin si un message est reçu*/
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());
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    49
}
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    50
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    51