navit  0.5.3-trunk
route.h
Go to the documentation of this file.
1 
28 #ifndef NAVIT_ROUTE_H
29 #define NAVIT_ROUTE_H
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
39 };
40 
49 };
50 
52  long segid;
53  int dir;
54 };
55 
57  int count;
58  struct route_crossing crossing[0];
59 };
60 
66 struct street_data {
67  struct item item;
68  int count;
69  int flags;
70  int maxspeed;
71  struct coord c[0];
73 };
74 
75 /* prototypes */
76 enum attr_type;
77 enum projection;
78 struct attr;
79 struct attr_iter;
80 struct coord;
81 struct item;
82 struct map;
83 struct map_selection;
84 struct mapset;
85 struct pcoord;
86 struct route;
87 struct route_info;
88 struct street_data;
89 struct tracking;
90 struct vehicleprofile;
91 struct route *route_new(struct attr *parent, struct attr **attrs);
92 struct route *route_dup(struct route *orig);
93 void route_set_mapset(struct route *this_, struct mapset *ms);
94 void route_set_profile(struct route *this_, struct vehicleprofile *prof);
95 struct mapset *route_get_mapset(struct route *this_);
96 struct route_info *route_get_pos(struct route *this_);
97 struct route_info *route_get_dst(struct route *this_);
98 int route_get_path_set(struct route *this_);
99 int route_contains(struct route *this_, struct item *item);
100 int route_destination_reached(struct route *this_);
101 void route_set_position(struct route *this_, struct pcoord *pos);
102 void route_set_position_from_tracking(struct route *this_, struct tracking *tracking, enum projection pro);
103 struct map_selection *route_rect(int order, struct coord *c1, struct coord *c2, int rel, int abs);
104 void route_set_destinations(struct route *this_, struct pcoord *dst, int count, int async);
105 int route_get_destinations(struct route *this_, struct pcoord *pc, int count);
106 int route_get_destination_count(struct route *this_);
107 void route_get_distances(struct route *this_, struct coord *c, int count, int *distances);
108 void route_set_destination(struct route *this_, struct pcoord *dst, int async);
109 void route_append_destination(struct route *this_, struct pcoord *dst, int async);
110 void route_remove_nth_waypoint(struct route *this_, int n);
111 void route_remove_waypoint(struct route *this_);
112 char* route_get_destination_description(struct route *this_, int n);
113 struct coord route_get_coord_dist(struct route *this_, int dist);
114 struct street_data *street_get_data(struct item *item);
115 struct street_data *street_data_dup(struct street_data *orig);
116 void street_data_free(struct street_data *sd);
117 void route_info_free(struct route_info *inf);
118 struct street_data *route_info_street(struct route_info *rinf);
119 struct map *route_get_map(struct route *this_);
120 struct map *route_get_graph_map(struct route *this_);
121 enum route_path_flags route_get_flags(struct route *this_);
122 int route_has_graph(struct route *this_);
123 void route_set_projection(struct route *this_, enum projection pro);
124 void route_set_destinations(struct route *this_, struct pcoord *dst, int count, int async);
125 int route_set_attr(struct route *this_, struct attr *attr);
126 int route_add_attr(struct route *this_, struct attr *attr);
127 int route_remove_attr(struct route *this_, struct attr *attr);
128 struct attr_iter * route_attr_iter_new(void);
130 int route_get_attr(struct route *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter);
131 void route_init(void);
132 void route_destroy(struct route *this_);
133 /* end of prototypes */
134 #ifdef __cplusplus
135 }
136 #endif
137 
138 #endif
139 
attr_type
Definition: attr.h:34
char type[3]
Definition: garmin_img.c:2
static double c2
Definition: geod_for.c:27
static double c1
Definition: geod_for.c:27
pos
Definition: startup.py:3
const int distances[]
Set of simplified distance values that are easy to be pronounced. Used for the 'vocabulary_distances'...
Definition: navigation.c:213
static struct pcoord c
Definition: popup.c:375
projection
Definition: projection.h:23
struct coord route_get_coord_dist(struct route *this_, int dist)
Returns a coordinate at a given distance.
Definition: route.c:2788
int route_contains(struct route *this_, struct item *item)
Checks if the route passed contains a certain item within the route path.
Definition: route.c:610
struct route * route_new(struct attr *parent, struct attr **attrs)
Creates a completely new route structure.
Definition: route.c:413
int route_has_graph(struct route *this_)
Whether the route has a valid graph.
Definition: route.c:4192
route_path_flags
Definition: route.h:34
@ route_path_flag_none
Definition: route.h:35
@ route_path_flag_async
Definition: route.h:37
@ route_path_flag_no_rebuild
Definition: route.h:38
@ route_path_flag_cancel
Definition: route.h:36
void route_info_free(struct route_info *inf)
Destroys a route_info.
Definition: route.c:3430
struct map * route_get_graph_map(struct route *this_)
Returns a new map containing the route graph.
Definition: route.c:4166
route_status
Definition: route.h:41
@ route_status_building_path
Definition: route.h:45
@ route_status_not_found
Definition: route.h:44
@ route_status_building_graph
Definition: route.h:46
@ route_status_destination_set
Definition: route.h:43
@ route_status_path_done_new
Definition: route.h:47
@ route_status_no_destination
Definition: route.h:42
@ route_status_path_done_incremental
Definition: route.h:48
void route_attr_iter_destroy(struct attr_iter *iter)
Definition: route.c:4355
void route_append_destination(struct route *this_, struct pcoord *dst, int async)
Append a waypoint to the route.
Definition: route.c:1261
int route_get_destination_count(struct route *this_)
Get the destinations count for the route.
Definition: route.c:1179
void route_init(void)
Definition: route.c:4359
struct street_data * street_get_data(struct item *item)
Gets street data for an item.
Definition: route.c:3271
int route_remove_attr(struct route *this_, struct attr *attr)
Definition: route.c:4262
void route_set_projection(struct route *this_, enum projection pro)
Definition: route.c:4209
void route_set_destinations(struct route *this_, struct pcoord *dst, int count, int async)
Sets the destination of a route.
Definition: route.c:1111
void route_set_position(struct route *this_, struct pcoord *pos)
This sets the current position of the route passed.
Definition: route.c:890
struct route_info * route_get_dst(struct route *this_)
Returns the destination of the route passed.
Definition: route.c:581
void route_set_destination(struct route *this_, struct pcoord *dst, int async)
Start a route given set of coordinates.
Definition: route.c:1247
int route_destination_reached(struct route *this_)
Checks if a route has reached its destination.
Definition: route.c:633
void route_set_profile(struct route *this_, struct vehicleprofile *prof)
Sets the vehicle profile of a route.
Definition: route.c:541
void route_remove_nth_waypoint(struct route *this_, int n)
Remove the nth waypoint of the route.
Definition: route.c:1286
struct map_selection * route_rect(int order, struct coord *c1, struct coord *c2, int rel, int abs)
Returns a single map selection.
Definition: route.c:955
struct street_data * street_data_dup(struct street_data *orig)
Copies street data.
Definition: route.c:3322
struct mapset * route_get_mapset(struct route *this_)
Returns the mapset of the route passed.
Definition: route.c:559
void route_set_position_from_tracking(struct route *this_, struct tracking *tracking, enum projection pro)
Sets a route's current position based on coordinates from tracking.
Definition: route.c:900
void street_data_free(struct street_data *sd)
Frees street data.
Definition: route.c:3337
int route_get_destinations(struct route *this_, struct pcoord *pc, int count)
Retrieves destinations from the route.
Definition: route.c:1158
int route_set_attr(struct route *this_, struct attr *attr)
Definition: route.c:4212
enum route_path_flags route_get_flags(struct route *this_)
Returns the flags for the route.
Definition: route.c:4174
struct route * route_dup(struct route *orig)
Duplicates a route object.
Definition: route.c:437
int route_get_attr(struct route *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition: route.c:4276
int route_add_attr(struct route *this_, struct attr *attr)
Definition: route.c:4252
struct attr_iter * route_attr_iter_new(void)
Definition: route.c:4351
void route_get_distances(struct route *this_, struct coord *c, int count, int *distances)
Definition: route.c:373
void route_set_mapset(struct route *this_, struct mapset *ms)
Sets the mapset of the route passwd.
Definition: route.c:530
void route_destroy(struct route *this_)
Definition: route.c:4364
char * route_get_destination_description(struct route *this_, int n)
Returns a description for a waypoint as (type or street_name_systematic) + (label or WayID[osm_wayid]...
Definition: route.c:1190
struct map * route_get_map(struct route *this_)
Returns a new map containing the route path.
Definition: route.c:4150
void route_remove_waypoint(struct route *this_)
Definition: route.c:1297
struct route_info * route_get_pos(struct route *this_)
Returns the current position within the route passed.
Definition: route.c:570
struct street_data * route_info_street(struct route_info *rinf)
Returns street data for a route info.
Definition: route.c:3448
int route_get_path_set(struct route *this_)
Checks if the path is calculated for the route passed.
Definition: route.c:595
Definition: config_.c:47
void * iter
Definition: config_.c:48
Definition: attr.h:157
Definition: coord.h:34
Represents an object on a map.
Definition: item.h:115
Used to select data from a map.
Definition: map.h:58
int order
Definition: map.h:64
Definition: map.c:55
Definition: mapset.c:39
Definition: gpx2navit_txt.h:51
Definition: coord.h:52
Definition: route.h:51
int dir
Definition: route.h:53
long segid
Definition: route.h:52
Definition: route.h:56
int count
Definition: route.h:57
struct route_crossing crossing[0]
Definition: route.h:58
Usually represents a destination or position.
Definition: route.c:163
A complete route.
Definition: route.c:201
NAVIT_OBJECT struct mapset * ms
Definition: route.c:203
Information about a street.
Definition: route.h:66
int flags
Definition: route.h:69
int maxspeed
Definition: route.h:70
struct coord c[0]
Definition: route.h:71
int count
Definition: route.h:68
Definition: track.c:84
Definition: vehicleprofile.h:33