Index: src_plugins/rbs_routing/stretch.c =================================================================== --- src_plugins/rbs_routing/stretch.c (revision 38789) +++ src_plugins/rbs_routing/stretch.c (revision 38790) @@ -1,14 +1,19 @@ +static int coll_ingore_tn_line(grbs_t *grbs, grbs_2net_t *tn, grbs_line_t *l) +{ + rnd_trace("ign coll line\n"); + return 1; +} -static void coll_report_arc_cb(grbs_t *grbs, grbs_2net_t *tn, grbs_2net_t *coll_tn, grbs_arc_t *coll_arc) +static int coll_ingore_tn_arc(grbs_t *grbs, grbs_2net_t *tn, grbs_arc_t *a) { - rnd_trace("coll arc report\n"); + rnd_trace("ign coll arc\n"); + return 1; } -static void coll_report_pt_cb(grbs_t *grbs, grbs_2net_t *tn, grbs_point_t *coll_pt) +static int coll_ingore_tn_point(grbs_t *grbs, grbs_2net_t *tn, grbs_point_t *p) { - rbsr_stretch_t *rbss = grbs->user_data; - rnd_trace("coll pt report at %f;%f\n", coll_pt->x, coll_pt->y); - rbss->coll_pt = coll_pt; + rnd_trace("ign coll pt\n"); + return 1; } @@ -23,8 +28,9 @@ rbsr_map_debug_dump(&rbss->map, "rbss1.dump"); rbss->map.grbs.user_data = rbss; - rbss->map.grbs.coll_report_arc_cb = coll_report_arc_cb; - rbss->map.grbs.coll_report_pt_cb = coll_report_pt_cb; + rbss->map.grbs.coll_ingore_tn_line = coll_ingore_tn_line; + rbss->map.grbs.coll_ingore_tn_arc = coll_ingore_tn_arc; + rbss->map.grbs.coll_ingore_tn_point = coll_ingore_tn_point; gl = htpp_get(&rbss->map.robj2grbs, line); if (gl == NULL) { @@ -84,7 +90,7 @@ int rbsr_stretch_line_to_coords(rbsr_stretch_t *rbss, rnd_coord_t tx, rnd_coord_t ty) { - grbs_addr_t *a1, *a2, *a3 = NULL; + grbs_addr_t *a1, *a2; if (rbss->via != NULL) { int seg; @@ -118,16 +124,8 @@ rbss->to.obj.arc->new_in_use = 0; /* avoid spiral detection */ a2 = path_path_next_to_addr(&rbss->map.grbs, rbss->tn, a1, &rbss->to); if (a2 == NULL) { - if (rbss->coll_pt != NULL) { - rnd_trace("route around coll pt\n"); - a2 = grbs_path_next(&rbss->map.grbs, rbss->tn, a1, rbss->coll_pt, 0); - a3 = path_path_next_to_addr(&rbss->map.grbs, rbss->tn, a2, &rbss->to); - assert(a3 != NULL); - } - else { - rnd_message(RND_MSG_ERROR, "rbsr_stretch_line_to_coord(): failed to route to a2\n"); - return -1; - } + rnd_message(RND_MSG_ERROR, "rbsr_stretch_line_to_coord(): failed to route to a2\n"); + return -1; } rbsr_map_debug_draw(&rbss->map, "rbss3.svg"); @@ -135,8 +133,6 @@ /* realize backward */ - if (a3 != NULL) - grbs_path_realize(&rbss->map.grbs,rbss->tn, a3, 0); grbs_path_realize(&rbss->map.grbs,rbss->tn, a2, 0); grbs_path_realize(&rbss->map.grbs, rbss->tn, a1, 0); grbs_path_realize(&rbss->map.grbs, rbss->tn, &rbss->from, 0); Index: src_plugins/rbs_routing/stretch.h =================================================================== --- src_plugins/rbs_routing/stretch.h (revision 38789) +++ src_plugins/rbs_routing/stretch.h (revision 38790) @@ -5,8 +5,6 @@ grbs_point_t *via; - /* collision */ - grbs_point_t *coll_pt; } rbsr_stretch_t;