00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00029
00030
00037 #ifndef CARMEN_MAP_INTERFACE_H
00038 #define CARMEN_MAP_INTERFACE_H
00039
00040 #include <carmen/map.h>
00041 #include <carmen/map_messages.h>
00042
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046
00047
00048
00049 int carmen_map_get_hmap(carmen_hmap_p hmap);
00050
00051
00052
00053
00054
00055
00056
00057
00058 int carmen_map_change_map_zone(char *zone_name);
00059
00060
00061 void carmen_map_subscribe_map_zone_message(char **zone_name,
00062 carmen_handler_t handler,
00063 carmen_subscribe_t subscribe_how);
00064
00065
00066 int carmen_map_get_gridmap(carmen_map_p map);
00067 int carmen_map_get_gridmap_by_name(char *name, carmen_map_p map);
00068
00069
00070 void carmen_map_subscribe_gridmap_update_message(carmen_map_t *map,
00071 carmen_handler_t handler,
00072 carmen_subscribe_t
00073 subscribe_how);
00074
00075
00076 int carmen_map_get_placelist(carmen_map_placelist_p placelist);
00077 int carmen_map_get_placelist_by_name(char *name, carmen_map_placelist_p placelist);
00078
00079 int carmen_map_get_offlimits(carmen_offlimits_p *offlimits, int *list_length);
00080 int carmen_map_get_offlimits_by_name(char *name, carmen_offlimits_p *offlimits, int *list_length);
00081
00082 int carmen_map_apply_offlimits_chunk_to_map(carmen_offlimits_p offlimits,
00083 int list_length, carmen_map_p map);
00084
00085
00086
00087 int carmen_map_to_world(carmen_map_point_p map_point, carmen_world_point_p world_point);
00088 int carmen_world_to_map(carmen_world_point_p world_point, carmen_map_point_p map_point);
00089
00090 int carmen_point_to_map(carmen_point_p point, carmen_map_point_p map_point, carmen_map_p map);
00091
00092
00093 double carmen_distance_map(carmen_map_point_p p1, carmen_map_point_p p2);
00094 double carmen_distance_world(carmen_world_point_p p1, carmen_world_point_p p2);
00095
00096 int carmen_map_cmp(carmen_map_point_p p1, carmen_map_point_p p2);
00097 int carmen_world_cmp(carmen_world_point_p p1, carmen_world_point_p p2);
00098
00099 int carmen_map_to_trajectory(carmen_map_point_p carmen_map_point, carmen_traj_point_p traj_point);
00100 int carmen_trajectory_to_map(carmen_traj_point_p traj_point, carmen_map_point_p carmen_map_point,
00101 carmen_map_p map);
00102
00103 carmen_map_p carmen_map_copy(carmen_map_p map);
00104 void carmen_map_destroy(carmen_map_p *map);
00105
00106 #ifdef __cplusplus
00107 }
00108 #endif
00109
00110 #endif
00111