1 #ifndef _LEO_LABELLER_H
2 #define _LEO_LABELLER_H
52 enum request_type type;
54 struct variant *variants;
59 struct request request;
69 struct request_segment
71 struct request request;
72 struct request_line *rl;
82 struct request_section
84 struct request request;
86 struct request_segment *segments;
91 struct request request;
94 struct request_section *sections;
99 struct request request;
100 struct osm_multipolygon *o;
101 struct symbol *label;
108 struct sym_line *line;
112 struct buffer_linelabel
115 struct symbol *label;
123 struct graph_edge **edges;
133 struct graph_edge *prev;
134 struct graph_edge *next;
135 struct graph_node *n1;
136 struct graph_node *n2;
138 struct symbol *label;
139 struct sym_line *line;
142 struct graph_node *anode;
143 struct graph_node *bnode; // DEBUG PRINT
150 struct graph_edge *first;
155 struct request *request;
161 // FIXME: Replace with clist?
162 struct map_placement *map_links;
163 struct individual *individual;
168 struct placement *placement;
169 struct map_part *part;
170 struct map_placement *next_in_map;
171 struct map_placement *prev_in_map;
172 struct map_placement *next_in_placement;
173 struct map_placement *prev_in_placement;
178 // FIXME: Replace with clist?
179 struct map_placement *placement;
185 struct placement *placements;
186 struct map_part **map;
190 void labeller_conf(void);
191 void labeller_init(void);
192 void labeller_cleanup(void);
194 void labeller_add_point(struct symbol *sym, struct osm_object *object, z_index_t zindex);
195 void labeller_notify_line(struct symbol *sym, z_index_t zindex);
196 void labeller_label(void);
197 void labeller_add_label(struct symbol *sym, struct osm_object *o, z_index_t zindex);