49 void map_draw_occ(map_t *map, rtk_fig_t *fig)
56 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
59 for (j = 0; j < map->size_y; j++)
61 for (i = 0; i < map->size_x; i++)
63 uint16_t *pixel = image + (j * map->size_x + i);
64 cell = map->cells + MAP_INDEX(map, i, j);
66 col = 127 - 127 * cell->occ_state;
67 *pixel = RTK_RGB16(col, col, col);
72 rtk_fig_image(fig, map->origin_x, map->origin_y, 0,
73 map->scale, map->size_x, map->size_y, 16, image, NULL);
83 void map_draw_cspace(map_t *map, rtk_fig_t *fig)
88 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
91 for (j = 0; j < map->size_y; j++)
93 for (i = 0; i < map->size_x; i++)
95 map_cell_t *cell = map->cells + MAP_INDEX(map, i, j);
96 uint16_t *pixel = image + (j * map->size_x + i);
98 int col = 255 * cell->occ_dist / map->max_occ_dist;
100 *pixel = RTK_RGB16(col, col, col);
105 rtk_fig_image(fig, map->origin_x, map->origin_y, 0,
106 map->scale, map->size_x, map->size_y, 16, image, NULL);
116 void map_draw_wifi(map_t *map, rtk_fig_t *fig,
int index)
121 uint16_t *image, *mask;
123 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
124 mask = malloc(map->size_x * map->size_y *
sizeof(mask[0]));
127 for (j = 0; j < map->size_y; j++)
129 for (i = 0; i < map->size_x; i++)
131 uint16_t *ipix = image + (j * map->size_x + i);
132 uint16_t *mpix = mask + (j * map->size_x + i);
133 cell = map->cells + MAP_INDEX(map, i, j);
135 level = cell->wifi_levels[index];
137 if (cell->occ_state == -1 && level != 0)
139 col = 255 * (100 + level) / 100;
140 *ipix = RTK_RGB16(col, col, col);
151 rtk_fig_image(fig, map->origin_x, map->origin_y, 0,
152 map->scale, map->size_x, map->size_y, 16, image, mask);