diff -r 93dfb08dcc97 -r 8a21bec5d45f front_processing/src/Trakers/Trakers.pde --- a/front_processing/src/Trakers/Trakers.pde Mon Mar 19 18:24:59 2012 +0100 +++ b/front_processing/src/Trakers/Trakers.pde Tue Mar 20 18:00:55 2012 +0100 @@ -1,15 +1,21 @@ import TUIO.*; TuioProcessing tuioClient; +//Indique s'il s'agit de la main gauche. boolean oneHandLeft; +//Port du Client TUIO +int port = 80; +float minDistHands = 1; +float maxDistHands = 1.5; + /*FONCTION D'INITIALISATION Entrée : Sortie : Création de la fenêtre et du client TUIO*/ -void setup() +public void setup() { size (640, 480); showMask(); - tuioClient = new TuioProcessing(this, 80); + tuioClient = new TuioProcessing(this, port); textAlign(CENTER); imageMode(CENTER); smooth(); @@ -18,7 +24,7 @@ /*FONCTION DE DESSIN Entrée : Sortie : Appel à la fonction de traitement d'input du serveur toutes les n millisecondes*/ -void draw() +public void draw() { fill(0); tuioInput(); @@ -28,62 +34,61 @@ /*FONCTION DE RECEPTION DES MESSAGES OSC Entrée : Sortie : Appel aux différentes fonctions de dessin si un message est reçu*/ -void tuioInput() +public void tuioInput() { noFill(); - Vector tuioCursorList = tuioClient.getTuioCursors(); - + if(tuioCursorList.size() <= 0) { showMask(); - text("Les mains sont trop loin ou trop près.", width/2 - 20, 20); - text("Je ne détecte aucune main.", width/2 - 20, 40); + refreshText("Les mains sont trop loin ou trop près.", "Je ne détecte aucune main."); } - + if(tuioCursorList.size() == 1) { handleOneHand((TuioCursor)tuioCursorList.elementAt(0)); fill(255); - text("Les mains sont dans la zone de captation.", width/2 - 20, 20); - text("Je détecte une main.", width/2 - 20, 40); + refreshText("Les mains sont dans la zone de captation.", "Je détecte une main."); } else if(tuioCursorList.size() == 2) { handleBothHands(tuioCursorList); fill(255); - text("Les mains sont dans la zone de captation.", width/2 - 20, 20); - text("Je détecte les deux mains.", width/2 - 20, 40); + refreshText("Les mains sont dans la zone de captation.", "Je détecte les deux mains."); } } /*FONCTION DE GENERATION DU MASQUE Entrée : Sortie : Place des rectangles autour de la zone de dessin*/ -void showMask() +public void showMask() { background(0); fill(255); rect(0, 80, width, height-130); } + +/*FONCTION DE RAFFRACHISSEMENT DU TEXTE SUPERIEUR +Entrée : Texte à afficher +Sortie : Place un rectangle au dessus de la zone de dessin et raffraichit le texte*/ +public void refreshText(String txt1, String txt2) +{ + fill(0); + rect(0, 0, width, 80); + fill(255); + text(txt1, width/2 - 20, 20); + text(txt2, width/2 - 20, 40); +} /*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) +public void handleOneHand(TuioCursor handCursor) { - showMask(); - - Vector pointList = handCursor.getPath(); - for (int j=0;j