Index: trunk/src/plugins/rt_topo/crbs.c =================================================================== --- trunk/src/plugins/rt_topo/crbs.c (revision 1366) +++ trunk/src/plugins/rt_topo/crbs.c (revision 1367) @@ -247,3 +247,31 @@ return 0; } + +void crbs_draw_routes(crbs_t *crbs, rtrnd_layer_t *ly_out, rtrnd_layer_t *ly_drw) +{ + grbs_line_t *l; + grbs_arc_t *a; + rtrnd_any_obj_t *o; + crbs_2net_t *ctn; + + for(l = gdl_first(&crbs->grbs.all_lines); l != NULL; l = gdl_next(&crbs->grbs.all_lines, l)) { + ctn = l->user_data; + if ((ctn != NULL) && ctn->old) continue; + rtrnd_line_new(ly_drw, NULL, NULL, l->x1, l->y1, l->x2, l->y2, 0.2, 0); + if (ly_out != NULL) { + o = rtrnd_line_new(ly_out, NULL, NULL, l->x1, l->y1, l->x2, l->y2, rt_topo_cfg.wire_thick, 0); + rtrnd_res_add(crbs->ctx, o); + } + } + + for(a = gdl_first(&crbs->grbs.all_arcs); a != NULL; a = gdl_next(&crbs->grbs.all_arcs, a)) { + if (!a->in_use) continue; + rtrnd_arc_new(ly_drw, NULL, NULL, a->parent_pt->x, a->parent_pt->y, a->r, a->sa, a->da, 0.2, 0); + if (ly_out != NULL) { + o = rtrnd_arc_new(ly_out, NULL, NULL, a->parent_pt->x, a->parent_pt->y, a->r, a->sa, a->da, rt_topo_cfg.wire_thick, 0); + rtrnd_res_add(crbs->ctx, o); + } + } +} + Index: trunk/src/plugins/rt_topo/crbs.h =================================================================== --- trunk/src/plugins/rt_topo/crbs.h (revision 1366) +++ trunk/src/plugins/rt_topo/crbs.h (revision 1367) @@ -29,6 +29,7 @@ grbs_2net_t *gtn; unsigned int ripped_up; /* how many times this net got ripped up */ unsigned coll:1; /* collided with current routing effort */ + unsigned old:1; /* virtual 2-net for an old object that already existed on load */ gdl_elem_t link; } crbs_2net_t; Index: trunk/src/plugins/rt_topo/crbs_cdt.c =================================================================== --- trunk/src/plugins/rt_topo/crbs_cdt.c (revision 1366) +++ trunk/src/plugins/rt_topo/crbs_cdt.c (revision 1367) @@ -45,6 +45,7 @@ tn->user_data = ctn; \ ctn->tn = NULL; \ ctn->net = obj->hdr.net; \ + ctn->old = 1; \ gl = grbs_line_realize(&crbs->grbs, tn, cp1->gpt, cp2->gpt); \ gl->user_data = ctn; \ } \ Index: trunk/src/plugins/rt_topo/crbs_route.c =================================================================== --- trunk/src/plugins/rt_topo/crbs_route.c (revision 1366) +++ trunk/src/plugins/rt_topo/crbs_route.c (revision 1367) @@ -618,7 +618,7 @@ vtp0_append(&annot, &ly_route); /* TODO */ -/* crbs_draw_routes(crbs, (res == 0) ? ly : NULL, &ly_route);*/ + crbs_draw_routes(crbs, (res == 0) ? ly : NULL, &ly_route); rt_topo_crbs_cdt_draw(ctx, &ly_cdt2, &crbs->cdt);