front_processing/src/Interaction_examples/Hand_signal/Hand_signal.pde
author bastiena
Wed, 30 May 2012 10:21:36 +0200
changeset 35 4267d6d27a7d
parent 27 6c08d4d7219e
child 41 d2f735d7763f
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
/*Exemple tiré de processing.org*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    11
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    12
import TUIO.*;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    13
TuioProcessing tuioClient;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    14
int port = 80;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    15
//Taille de la fenêtre
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    16
int WIDTH = 640, HEIGHT = 480;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    17
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    18
float minDistHands = 1, maxDistHands = 1.5;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    19
//Distance de "click" minimum/maximum avec la main.
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    20
float minClickHand = minDistHands+0.2, maxClickHand = maxDistHands-0.2;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    21
//Définit les coordonnées de la main la plus proche et si elle a cliqué (se trouve dans une certaine zone du champ d'intéraction).
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    22
int X, Y;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    23
boolean clicked;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    24
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    25
int[] xvals;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    26
int[] yvals;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    27
int[] bvals;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    28
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    29
void setup() 
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    30
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    31
  size(WIDTH, HEIGHT);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    32
  tuioClient = new TuioProcessing(this, port);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    33
  xvals = new int[width];
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    34
  yvals = new int[width];
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    35
  bvals = new int[width];
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    36
}
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    37
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    38
int arrayindex = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    39
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    40
void draw()
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    41
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    42
  tuioInput();
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    43
  background(102);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    44
  
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    45
  for(int i=1; i<width; i++) { 
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    46
    xvals[i-1] = xvals[i]; 
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    47
    yvals[i-1] = yvals[i];
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    48
    bvals[i-1] = bvals[i];
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    49
  } 
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    50
  // Add the new values to the end of the array 
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    51
  xvals[width-1] = X; 
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    52
  yvals[width-1] = Y;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    53
  if(clicked) {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    54
    bvals[width-1] = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    55
  } else {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    56
    bvals[width-1] = 255;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    57
  }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    58
  
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    59
  fill(255);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    60
  noStroke();
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    61
  rect(0, height/3, width, height/3+1);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    62
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    63
  for(int i=1; i<width; i++) {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    64
    stroke(255);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    65
    point(i, xvals[i]/3);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    66
    stroke(0);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    67
    point(i, height/3+yvals[i]/3);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    68
    stroke(255);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    69
    line(i, 2*height/3+bvals[i]/3, i, (2*height/3+bvals[i-1]/3));
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    70
  }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    71
}
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    72
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    73
/*MET A JOUR X et Y
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    74
Entrée : Les positions d'un point 2D
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    75
Sortie : Met à jour X et Y et si la main a "clické"*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    76
void update(int x, int y, boolean click)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    77
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    78
  X = x;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    79
  Y = y;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    80
  clicked = click;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    81
}