49 void map_draw_occ(map_t *map, rtk_fig_t *fig)
57 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
60 for (j = 0; j < map->size_y; j++)
62 for (i = 0; i < map->size_x; i++)
64 cell = map->cells + MAP_INDEX(map, i, j);
65 pixel = image + (j * map->size_x + i);
67 col = 127 - 127 * cell->occ_state;
68 *pixel = RTK_RGB16(col, col, col);
73 rtk_fig_image(fig, map->origin_x, map->origin_y, 0,
74 map->scale, map->size_x, map->size_y, 16, image, NULL);
84 void map_draw_cspace(map_t *map, rtk_fig_t *fig)
92 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
95 for (j = 0; j < map->size_y; j++)
97 for (i = 0; i < map->size_x; i++)
99 cell = map->cells + MAP_INDEX(map, i, j);
100 pixel = image + (j * map->size_x + i);
102 col = 255 * cell->occ_dist / map->max_occ_dist;
104 *pixel = RTK_RGB16(col, col, col);
109 rtk_fig_image(fig, map->origin_x, map->origin_y, 0,
110 map->scale, map->size_x, map->size_y, 16, image, NULL);
120 void map_draw_wifi(map_t *map, rtk_fig_t *fig,
int index)
125 uint16_t *image, *mask;
126 uint16_t *ipix, *mpix;
128 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
129 mask = malloc(map->size_x * map->size_y *
sizeof(mask[0]));
132 for (j = 0; j < map->size_y; j++)
134 for (i = 0; i < map->size_x; i++)
136 cell = map->cells + MAP_INDEX(map, i, j);
137 ipix = image + (j * map->size_x + i);
138 mpix = mask + (j * map->size_x + i);
140 level = cell->wifi_levels[index];
142 if (cell->occ_state == -1 && level != 0)
144 col = 255 * (100 + level) / 100;
145 *ipix = RTK_RGB16(col, col, col);
156 rtk_fig_image(fig, map->origin_x, map->origin_y, 0,
157 map->scale, map->size_x, map->size_y, 16, image, mask);