void map_update_handler(carmen_map_t *new_map) { carmen_map_destroy(&map); map = carmen_map_copy(new_map); if (is_graphics_up) navigator_graphics_change_map(map); }
void behavior_selector_update_map(carmen_map_t *map, int *goal_list_updated) { if (current_map) carmen_map_destroy(¤t_map); current_map = carmen_map_clone(map); if (current_goal_source != CARMEN_BEHAVIOR_SELECTOR_USER_GOAL) { update_goal_index_to_next_collision_free_goal(); *goal_list_updated = 1; } else *goal_list_updated = 0; }
void navigator_get_map(carmen_navigator_map_t type) { carmen_map_t new_map; int index; memset(&new_map, 0, sizeof(carmen_map_t)); if (type == CARMEN_LOCALIZE_LMAP_v || type == CARMEN_LOCALIZE_GMAP_v) { if (type == CARMEN_LOCALIZE_LMAP_v) carmen_localize_get_map(0, &new_map); else carmen_localize_get_map(1, &new_map); if (new_map.complete_map == NULL) return; for (index = 0; index < new_map.config.x_size*new_map.config.y_size; index++) new_map.complete_map[index] = exp(new_map.complete_map[index]); } else { carmen_navigator_get_map(type, &new_map); if (new_map.complete_map == NULL) return; } /* if (map && strcmp(map->config.map_name, new_map.config.map_name) == 0) { if (is_graphics_up) navigator_graphics_display_map(new_map.complete_map, type); return; } */ if (map) carmen_map_destroy(&map); map = (carmen_map_t *)calloc(1, sizeof(carmen_map_t)); carmen_test_alloc(map); *map = new_map; if (is_graphics_up) navigator_graphics_change_map(map); }