28 #pragma GCC diagnostic ignored "-Wpedantic"
37 #include "nav2_amcl/map/map.hpp"
42 void map_draw_occ(
map_t * map, rtk_fig_t * fig)
50 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
53 for (j = 0; j < map->size_y; j++) {
54 for (i = 0; i < map->size_x; i++) {
55 cell = map->cells + MAP_INDEX(map, i, j);
56 pixel = image + (j * map->size_x + i);
58 col = 127 - 127 * cell->occ_state;
59 *pixel = RTK_RGB16(col, col, col);
65 fig, map->origin_x, map->origin_y, 0,
66 map->scale, map->size_x, map->size_y, 16, image, NULL);
74 void map_draw_cspace(
map_t * map, rtk_fig_t * fig)
82 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
85 for (j = 0; j < map->size_y; j++) {
86 for (i = 0; i < map->size_x; i++) {
87 cell = map->cells + MAP_INDEX(map, i, j);
88 pixel = image + (j * map->size_x + i);
90 col = 255 * cell->occ_dist / map->max_occ_dist;
92 *pixel = RTK_RGB16(col, col, col);
98 fig, map->origin_x, map->origin_y, 0,
99 map->scale, map->size_x, map->size_y, 16, image, NULL);
107 void map_draw_wifi(
map_t * map, rtk_fig_t * fig,
int index)
112 uint16_t * image, * mask;
113 uint16_t * ipix, * mpix;
115 image = malloc(map->size_x * map->size_y *
sizeof(image[0]));
116 mask = malloc(map->size_x * map->size_y *
sizeof(mask[0]));
119 for (j = 0; j < map->size_y; j++) {
120 for (i = 0; i < map->size_x; i++) {
121 cell = map->cells + MAP_INDEX(map, i, j);
122 ipix = image + (j * map->size_x + i);
123 mpix = mask + (j * map->size_x + i);
125 level = cell->wifi_levels[index];
127 if (cell->occ_state == -1 && level != 0) {
128 col = 255 * (100 + level) / 100;
129 *ipix = RTK_RGB16(col, col, col);
139 fig, map->origin_x, map->origin_y, 0,
140 map->scale, map->size_x, map->size_y, 16, image, mask);