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