void rank_population(void);
void plan_individual(struct individual *individual);
-void make_bitmap(struct point_variant *v, struct symbol *sym);
-void make_bitmap_icon(struct point_variant *v, struct sym_icon *si);
-void make_bitmap_point(struct point_variant *v, struct sym_point *sp);
-void make_bitmap_label(struct point_variant *v, struct sym_text *text);
+void make_bitmap(struct variant *v, struct symbol *sym);
+void make_bitmap_icon(struct variant *v, struct sym_icon *si);
+void make_bitmap_point(struct variant *v, struct sym_point *sp);
+void make_bitmap_label(struct variant *v, struct sym_text *text);
void cut_edge(struct graph_edge *e, double dist);
struct request_line *make_new_line(void);
num_map_parts = num_map_parts_row * num_map_parts_col;
}
-void make_bitmap(struct point_variant *v, struct symbol *sym)
+void make_bitmap(struct variant *v, struct symbol *sym)
{
switch (sym->type)
{
}
}
-void make_bitmap_icon(struct point_variant *v, struct sym_icon *si)
+void make_bitmap_icon(struct variant *v, struct sym_icon *si)
{
v->width = si->sir.icon->width;
v->height = si->sir.icon->height;
for (int i=0; i<v->width*v->height; i++) v->bitmap[i] = 1;
}
-void make_bitmap_point(struct point_variant *v, struct sym_point *sp)
+void make_bitmap_point(struct variant *v, struct sym_point *sp)
{
v->width = v->height = sp->size;
v->bitmap = malloc(sp->size*sp->size * sizeof(bool));
for (int i=0; i<sp->size*sp->size; i++) v->bitmap[i] = 1;
}
-void make_bitmap_label(struct point_variant *v, struct sym_text *text)
+void make_bitmap_label(struct variant *v, struct sym_text *text)
{
v->width = ceil(text->tw);
v->height = ceil(text->th);
r->offset_y = 0;
r->num_variants = 1;
- GARY_INIT(r->variants, 0);
+ GARY_INIT(r->request.variants, 0);
- struct point_variant *v = GARY_PUSH(r->variants);
+ struct variant *v = GARY_PUSH(r->request.variants);
struct osm_node *n = (struct osm_node *) object; // FIXME: Compiler warning
r->x = n->x;
osm_obj_center(o, &(r->cx), &(r->cy));
- GARY_INIT(r->variants, 0);
- struct point_variant *v = GARY_PUSH(r->variants);
+ GARY_INIT(r->request.variants, 0);
+ struct variant *v = GARY_PUSH(r->request.variants);
switch (sym->type)
{
case SYMBOLIZER_ICON:
rs->request.ind = num_requests++;
rs->request.type = REQUEST_SEGMENT;
- struct point_variant *v = malloc(sizeof(struct point_variant));
+ struct variant *v = malloc(sizeof(struct variant));
make_bitmap(v, sym);
- rs->variant = v;
+ rs->request.variants = v;
return rs;
}
{
fprintf(stderr, "%d-th placement\n", i);
struct placement *p = &(individual->placements[i]);
- struct point_variant *v = NULL;
+ struct variant *v = NULL;
switch (p->request->type)
{
case REQUEST_SEGMENT: ;
- struct request_segment *rs = (struct request_segment *) p->request;
- v = rs->variant;
- break;
case REQUEST_POINT: ;
- struct request_point *rp = (struct request_point *) p->request;
- v = &(rp->variants[p->variant_used]);
- break;
case REQUEST_AREA: ;
- struct request_area *ra = (struct request_area *) p->request;
- printf("Using %d-th of %d variants\n", p->variant_used, GARY_SIZE(ra->variants));
- v = &(ra->variants[p->variant_used]);
+ v = &(p->request->variants[p->variant_used]);
break;
default:
printf("Testing request type (dump_bitmaps): %d\n", p->request->type);
if (dbg_map_parts)
printf("Looking for map parts containing placement of request %d, placed at [%.2f; %.2f]\n", p->request->ind, p->x, p->y);
- struct point_variant v;
+ struct variant v;
switch (p->request->type)
{
case REQUEST_POINT:
- v = ((struct request_point *) p->request)->variants[p->variant_used];
- break;
case REQUEST_SEGMENT:
- v = ((struct request_segment *) p->request)->variant[p->variant_used];
- break;
case REQUEST_AREA:
- v = ((struct request_area *) p->request)->variants[p->variant_used];
- break;
+ v = p->request->variants[p->variant_used];
default:
return NULL;
}