1 #ifndef _LEO_LABELLER_H
2 #define _LEO_LABELLER_H
27 enum request_type type;
29 struct variant *variants;
34 struct request request;
44 struct request_segment
46 struct request request;
47 struct request_line *rl;
57 struct request_section
59 struct request request;
61 struct request_segment *segments;
66 struct request request;
69 struct request_section *sections;
74 struct request request;
75 struct osm_multipolygon *o;
83 struct sym_line *line;
87 struct buffer_linelabel
96 struct request *request;
102 // FIXME: Replace with clist?
103 struct map_placement *map_links;
104 struct individual *individual;
109 struct placement *placement;
110 struct map_part *part;
111 struct map_placement *next_in_map;
112 struct map_placement *prev_in_map;
113 struct map_placement *next_in_placement;
114 struct map_placement *prev_in_placement;
119 // FIXME: Replace with clist?
120 struct map_placement *placement;
126 struct placement *placements;
127 struct map_part **map;
131 void labeller_conf(void);
132 void labeller_init(void);
133 void labeller_cleanup(void);
135 void labeller_label(void);
137 void labeller_add_point(struct symbol *sym, struct osm_object *object, z_index_t zindex);
138 void labeller_notify_line(struct symbol *sym, z_index_t zindex);
139 void labeller_add_label(struct symbol *sym, struct osm_object *o, z_index_t zindex);
141 extern struct request_point *requests_point;
142 extern struct request_line *requests_line;
143 extern struct request_area *requests_area;
145 extern struct longline *longlines;
146 extern struct buffer_line *buffer_line;
147 extern struct buffer_linelabel *buffer_linelabel;
149 extern int dbg_segments;
151 extern int dbg_requests;
152 extern int dbg_graph;
154 extern int dbg_map_parts;
155 extern int dbg_movement;
157 extern int dbg_overlaps;
159 extern int dbg_evolution;
160 extern int dbg_mutation;
161 extern int dbg_breeding;
163 extern int page_width_int;
164 extern int page_height_int;
166 extern int num_requests;
167 extern int num_placements;
169 extern int conf_map_part_width;
170 extern int conf_map_part_height;
172 extern uns num_map_parts_row;
173 extern uns num_map_parts_col;
174 extern uns num_map_parts;