]> mj.ucw.cz Git - leo.git/blobdiff - labeller.h
Labelling: Segments: A bunch of improvements
[leo.git] / labeller.h
index e0088173446a392a2f6a4661bd17310b3caa423f..4fe0d922b12ff5cf57394368244486374dbe5b56 100644 (file)
@@ -1,6 +1,16 @@
 #ifndef _LEO_LABELLER_H
 #define _LEO_LABELLER_H
 
+enum verbosity
+{
+  VERBOSITY_NONE,
+  VERBOSITY_GENERAL,
+  VERBOSITY_POPULATION,
+  VERBOSITY_INDIVIDUAL,
+  VERBOSITY_PLACEMENT,
+  VERBOSITY_ALL,
+};
+
 enum edge_dir
 {
   DIR_INVALID,
@@ -148,27 +158,25 @@ struct placement
   int ind;
   bool processed;
   // FIXME: Replace with clist?
-  struct placement_link *map_links;
+  struct map_placement *map_links;
   struct individual *individual;
 };
 
-struct placement_link
-{
-  struct map_placement *mp;
-  struct placement_link *next;
-};
-
 struct map_placement
 {
   struct placement *placement;
-  struct map_placement *next;
-  struct map_placement *prev;
+  struct map_part *part;
+  struct map_placement *next_in_map;
+  struct map_placement *prev_in_map;
+  struct map_placement *next_in_placement;
+  struct map_placement *prev_in_placement;
 };
 
 struct map_part
 {
   // FIXME: Replace with clist?
   struct map_placement *placement;
+  int ind;
 };
 
 struct individual
@@ -179,6 +187,8 @@ struct individual
 };
 
 void labeller_init(void);
+void labeller_cleanup(void);
+
 void labeller_add_point(struct symbol *sym, struct osm_object *object, z_index_t zindex);
 void labeller_add_line(struct symbol *sym, z_index_t zindex);
 void labeller_label(void);