front_processing/src/Trakers/Trakers.pde
author bastiena
Thu, 12 Apr 2012 13:09:46 +0200
changeset 27 6c08d4d7219e
parent 10 925b7ee746e3
child 41 d2f735d7763f
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: 7
diff changeset
     2
* This file is part of the TraKERS\Front Processing package.
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
     3
*
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
     4
* (c) IRI <http://www.iri.centrepompidou.fr/>
e4e7db2435f8 Processing:
bastiena
parents: 7
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: 7
diff changeset
     7
* file that was distributed with this source code.
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
     8
*/
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
     9
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    10
import TUIO.*;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    11
TuioProcessing tuioClient;
7
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    12
//Indique s'il s'agit de la main gauche.
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    13
boolean oneHandLeft;
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    14
8
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    15
//Taille de la fenêtre
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    16
int WIDTH = 640, HEIGHT = 480;
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    17
7
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    18
//Port du Client TUIO
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    19
int port = 80;
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    20
float minDistHands = 1;
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    21
float maxDistHands = 1.5;
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    22
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    23
/*FONCTION D'INITIALISATION
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    24
Entrée :
10
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    25
Sortie : Cr�ation de la fenêtre et du client TUIO*/
8
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    26
void setup()
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    27
{
8
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    28
    size (WIDTH, HEIGHT);
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    29
    showMask();
7
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    30
    tuioClient = new TuioProcessing(this, port);
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    31
    textAlign(CENTER);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    32
    imageMode(CENTER);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    33
    smooth();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    34
}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    35
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    36
/*FONCTION DE DESSIN
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    37
Entrée :
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    38
Sortie : Appel à la fonction de traitement d'input du serveur toutes les n millisecondes*/
8
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    39
void draw()
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    40
{
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    41
    fill(0);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    42
    tuioInput();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    43
    noStroke();
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    44
}
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    45
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    46
/*FONCTION DE GENERATION DU MASQUE
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    47
Entrée :
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    48
Sortie : Place des rectangles autour de la zone de dessin*/
8
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    49
void showMask()
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    50
{
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    51
    background(0);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    52
    fill(255);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    53
    rect(0, 80, width, height-130);
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    54
}
7
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    55
	
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    56
/*FONCTION DE RAFFRACHISSEMENT DU TEXTE SUPERIEUR
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    57
Entrée : Texte à afficher
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    58
Sortie : Place un rectangle au dessus de la zone de dessin et raffraichit le texte*/
8
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    59
void refreshText(String txt1, String txt2)
7
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    60
{
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    61
    fill(0);
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    62
    rect(0, 0, width, 80);
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    63
    fill(255);
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    64
    text(txt1, width/2 - 20, 20);
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    65
    text(txt2, width/2 - 20, 40);
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    66
}
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    67
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    68
/*FONCTION DE DESSIN D'UN POINT DE COURBE
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    69
Entrée : Coordonnées X, Y et Z d'un point
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    70
Sortie : Le point est dessiné avec une épaisseur et une luminosité dépendant de Z*/
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    71
void drawEllipse(float x, float y, float z, boolean leftHand)
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    72
{
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    73
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    74
    fill(0, 0, 255);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    75
    stroke(0,0,0);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    76
7
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    77
    float weight = map(z, minDistHands, maxDistHands, 50, 1);
8a21bec5d45f Middleware :
bastiena
parents: 5
diff changeset
    78
    float redColor = map(z, minDistHands, maxDistHands, 255, 80);
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    79
    
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    80
    if(leftHand)
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    81
        fill(redColor,0,0);
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    82
    else
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    83
        fill(0,redColor,0);
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    84
    
8
e4e7db2435f8 Processing:
bastiena
parents: 7
diff changeset
    85
    if(weight >= 30)
3
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    86
        fill(0, 0, redColor);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    87
    
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    88
    ellipse(x+20, y+100, weight, weight);
92f19af39024 Middleware :
bastiena
parents: 0
diff changeset
    89
}