X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lab-lines.c;h=e33fd0a6891e1511a4d533f9c2c27ef421b6d2fe;hb=refs%2Fheads%2Flabelling;hp=a0fc3c79a48141d09ded41e608db0dd0c9832c0b;hpb=c343d14479295d517ae64ccee5a7e83d3ce0fc42;p=leo.git diff --git a/lab-lines.c b/lab-lines.c index a0fc3c7..e33fd0a 100644 --- a/lab-lines.c +++ b/lab-lines.c @@ -3,7 +3,6 @@ #include #include -#include #include #include @@ -85,20 +84,7 @@ static int dbg_num_hits = 0; static struct graph_edge **bfs_queue; -static double conf_max_section_length = 80, conf_max_section_overlay = 10; - -static struct cf_section lines_cf = { - CF_ITEMS { - CF_DOUBLE("MaxSectionLenght", &conf_max_section_length), - CF_DOUBLE("MaxSectionOverlay", &conf_max_section_overlay), - CF_END - } -}; - -void lines_conf(void) -{ - cf_declare_section("Labelling", &lines_cf, 0); -} +double conf_max_section_length = 80, conf_max_section_overlay = 10; static struct request_line *make_new_line(void) { @@ -286,8 +272,7 @@ static void bfs_edge(struct graph_edge *e, struct graph_node *node, struct graph if (((other->n1->id == node->id) || (other->n2->id == node->id)) && (e->label) && (other->label) && - (e->label->type == SYMBOLIZER_TEXT) && (other->label->type == SYMBOLIZER_TEXT) && - (((struct sym_text *) e->label)->text == ((struct sym_text *) other->label)->text)) + (sym_look_same(e->label, other->label))) { if (! candidate || (other->length > candidate->length)) candidate = other; @@ -406,15 +391,7 @@ static void cut_edge(struct graph_edge *e, double dist) *new = *e; e->next = new; - switch (e->label->type) - { - case SYMBOLIZER_TEXT: - new->label = xmalloc(sizeof(struct sym_text)); - *((struct sym_text *) new->label) = *((struct sym_text *) e->label); - break; - default: - ; - } + new->label = sym_copy(e->label); struct osm_node *n1 = e->n1->o; struct osm_node *n2 = e->n2->o;