diff --git a/src/graphics/graphics.c b/src/graphics/graphics.c index 7c98ee3..c0dc646 100644 --- a/src/graphics/graphics.c +++ b/src/graphics/graphics.c @@ -83,7 +83,7 @@ static void show_user_choices(int space_size_x, i, *(arrows + i * 5 + 0), *(arrows + i * 5 + 1), *(arrows + i * 5 + 2), *(arrows + i * 5 + 3), *(arrows + i * 5 + 4)); if (arrows_nb > 0) printf(" -------------------------------\n");} -static int set_arrow (GLuint *arrows, int weight, int site, int x, int y, int z); +static int set_arrow (int weight, int site, int x, int y, int z); static void get_model_data_and_user_preferences() { @@ -106,8 +106,7 @@ static void get_model_data_and_user_preferences() #define DETAIL 0 -static bool rewrite_arrow (GLuint *arrows, int address, int weight, - int site, int x, int y, int z) +static bool rewrite_arrow (int address, int weight, int site, int x, int y, int z) { if (DETAIL) printf("write the arrow weight to %d at (%d, %d, %d, %d)\n",\ weight, site, x, y, z); @@ -117,7 +116,7 @@ static bool rewrite_arrow (GLuint *arrows, int address, int weight, return 1; /* replaces the load of the existing arrow by the load 'weight' */ } -static bool create_arrow (GLuint *arrows, int weight, int site, int x, int y, int z) +static bool create_arrow (int weight, int site, int x, int y, int z) { int arrows_nb = get_arrows_nb(); arrows_nb ++; @@ -136,8 +135,7 @@ static bool create_arrow (GLuint *arrows, int weight, int site, int x, int y, in return 1; } -static bool erase_arrow (GLuint *arrows, int address, - int site, int x, int y, int z) +static bool erase_arrow (int address, int site, int x, int y, int z) { int arrows_nb = get_arrows_nb(); if (DETAIL) printf("erase arrow at address %d with values (%d, %d, %d, %d)",\ @@ -162,7 +160,7 @@ static bool erase_arrow (GLuint *arrows, int address, return 1; } -static int check_for_arrow (GLuint *arrows, int site, int x, int y, int z) +static int check_for_arrow (int site, int x, int y, int z) { int arrows_nb = get_arrows_nb(); if (arrows_nb == 0) return -1; @@ -189,7 +187,7 @@ static int check_for_arrow (GLuint *arrows, int site, int x, int y, int z) } -static void show_arrows_array (GLuint *arrows, int address, int weight, int site, int x, int y, int z) +static void show_arrows_array (int address, int weight, int site, int x, int y, int z) { int arrows_nb = get_arrows_nb(); printf("\n [ n] load | site x y z ----- < arrows_nb = %d > ------", arrows_nb); @@ -215,15 +213,15 @@ static void show_arrows_array (GLuint *arrows, int address, int weight, int site } -static int set_arrow (GLuint *arrows, int weight, int site, int x, int y, int z) +static int set_arrow (int weight, int site, int x, int y, int z) { - int address = (check_for_arrow (arrows, site, x, y, z)); - show_arrows_array(arrows, address, weight, site, x, y, z); + int address = (check_for_arrow (site, x, y, z)); + show_arrows_array(address, weight, site, x, y, z); if (address == -1 && weight == 0) return 0; - if (address == -1 && weight > 0) return create_arrow (arrows, weight, site, x, y, z); - if (address >= 0 && weight == 0) return erase_arrow (arrows, address, site, x, y, z); - if (address >= 0 && weight > 0) return rewrite_arrow (arrows, address, weight, site, x, y, z); + if (address == -1 && weight > 0) return create_arrow (weight, site, x, y, z); + if (address >= 0 && weight == 0) return erase_arrow (address, site, x, y, z); + if (address >= 0 && weight > 0) return rewrite_arrow (address, weight, site, x, y, z); return 0; } @@ -764,7 +762,7 @@ bool graphics_shutdown(const void *gl_area) void main_test_graphics (void) { - long site = 0, + long weight = 0, site = 0, x = model_space_size_x, y = model_space_size_y, z = model_space_size_z; @@ -795,12 +793,15 @@ void main_test_graphics (void) int arrows_nb = get_arrows_nb(); for (int i = 0; i < arrows_nb; i++) { - site = arrows[i * 5 + 1]; - x = arrows[i * 5 + 2]; - y = arrows[i * 5 + 3]; - z = arrows[i * 5 + 4]; + weight = arrows[i * 5 + 0]; + site = arrows[i * 5 + 1]; + x = arrows[i * 5 + 2]; + y = arrows[i * 5 + 3]; + z = arrows[i * 5 + 4]; - // cube coordinates = 12 * (stx * x + sty * y + stz * z); + set_arrow (weight, site, x, y, z); + + /* // cube coordinates = 12 * (stx * x + sty * y + stz * z); */ arrow_offset = offset_after_grids + 12 * (stx * x + sty * y + stz * z); arrows_write_basis (arrow_offset);