Tesi Robotica Analisi, progettazione e implementazione... | Page 186
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 186 — #186
i
186
i
8. VISUALIZZATORE DISPARITÀ
1. Tasto Esc: il programma termina ed esce;
2. Tasto ’g’: attiva la visione a griglia tramite la glPolygonMode;
3. tasto ’h’: switcha fra i tre stati possibili della visualizzazione;
4. tasto ’j’: applica ad ogni punto la disparità presa dalla mappa relativa,
una volta ripremuto il tasto la disparità viene annullata.
Algoritmo 8.6 Gestore Keyboard
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void keyboard(unsigned char key, int x, int y){
switch (key) {
case 27: /∗ Escape key ∗/
exit (0) ; break;
case ’g’ :
if (! grid){
grid = true;
glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
} else {
grid = false ;
glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
}
break;
case ’h’ :
state++; state%=3;
getColors(width, height, state ) ;
break;
case ’ j ’ :
if (! disp){
for ( int i=0; i<160∗120; i++)
vertices [ i∗3+2]=(float)disparity[ i ]/10;
disp=true;
} else {
for ( int i=0; i<160∗120; i++)
vertices [ i∗3+2]=0;
disp=false;
}
default :
camera.keyboard(key,x,y);
break;
}
}
Gli altri tasti vengono quindi gestiti dal gestore della camera.
i
i
i
i