-rw-r--r-- | src/controller/exp004processhits.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/controller/exp004processhits.c b/src/controller/exp004processhits.c index 29fbbbc..d8ea5b6 100644 --- a/src/controller/exp004processhits.c +++ b/src/controller/exp004processhits.c @@ -3,21 +3,22 @@ #define GL_GLEXT_PROTOTYPES #include "exp004processhits.h" +#include "selection_to_db.h" #include "../view/exp004state0.h" #include <stdio.h> /* + * A simple alias to make the code more readable. + */ +#define S exp004state0 + +/* * The implementation of this function is based on * [Angel,2008,pp80-81]. */ void exp004processhits (GLint hits, GLuint buffer[]) { - /* - * A simple alias to make the code more readable. - */ - EXP004STATE* S = &exp004state0; - printf ("Hits: %d\n", hits); GLuint *hitlist = buffer; @@ -29,23 +30,25 @@ exp004processhits (GLint hits, GLuint buffer[]) /* * Report the hit to the terminal. */ - printf ("Hit %i: %s\n", i + 1, exp004state0.gi_data[*hitlist]); + printf ("Hit %i: %s\n", i + 1, S.gi_data[*hitlist]); /* * Add the hits to the selection. */ - exp004state0.selection[*hitlist] = true; - exp004state0.base_colors_data[*hitlist][0] = SELECT_COLOR_R; - exp004state0.base_colors_data[*hitlist][1] = SELECT_COLOR_G; - exp004state0.base_colors_data[*hitlist][2] = SELECT_COLOR_B; + S.selection[*hitlist] = true; + S.base_colors_data[*hitlist][0] = SELECT_COLOR_R; + S.base_colors_data[*hitlist][1] = SELECT_COLOR_G; + S.base_colors_data[*hitlist][2] = SELECT_COLOR_B; hitlist++; } - glBindBuffer (GL_ARRAY_BUFFER, S->buffers[BASE_COLORS]); + selection_to_db (); + + glBindBuffer (GL_ARRAY_BUFFER, S.buffers[BASE_COLORS]); glColorPointer (3, GL_FLOAT, 0, 0); glBufferData (GL_ARRAY_BUFFER, - sizeof (S->base_colors_data), S->base_colors_data, + sizeof (S.base_colors_data), S.base_colors_data, GL_STATIC_DRAW); printf ("\n"); |