Index: find_any_isect.c =================================================================== --- find_any_isect.c (revision 29777) +++ find_any_isect.c (revision 29778) @@ -43,6 +43,9 @@ if ((b->type == PCB_OBJ_POLY) && (((pcb_poly_t *)b)->Clipped == NULL)) pcb_poly_init_clip(b->parent.layer->parent.data, b->parent.layer, (pcb_poly_t *)b); + /* NOTE: for the time being GFX is not intersecting with anything because + graphics can't contribute to galvanic connections */ + switch(a->type) { case PCB_OBJ_VOID: return pcb_false; case PCB_OBJ_LINE: @@ -52,6 +55,7 @@ case PCB_OBJ_TEXT: return pcb_isc_text_line((pcb_text_t *)b, (pcb_line_t *)a); case PCB_OBJ_POLY: return pcb_isc_line_poly((pcb_line_t *)a, (pcb_poly_t *)b); case PCB_OBJ_ARC: return pcb_isc_line_arc((pcb_line_t *)a, (pcb_arc_t *)b); +/* case PCB_OBJ_GFX: return pcb_isc_line_gfx((pcb_line_t *)a, (pcb_gfx_t *)b);*/ case PCB_OBJ_PSTK: return pcb_isc_pstk_line((pcb_pstk_t *)b, (pcb_line_t *)a); case PCB_OBJ_RAT: return pcb_isc_rat_line((pcb_rat_t *)b, (pcb_line_t *)a); default:; @@ -64,6 +68,7 @@ case PCB_OBJ_TEXT: return pcb_isc_text_text((pcb_text_t *)a, (pcb_text_t *)b); case PCB_OBJ_POLY: return pcb_isc_text_poly((pcb_text_t *)a, (pcb_poly_t *)b); case PCB_OBJ_ARC: return pcb_isc_text_arc((pcb_text_t *)a, (pcb_arc_t *)b); +/* case PCB_OBJ_GFX: return pcb_isc_text_gfx((pcb_text_t *)a, (pcb_gfx_t *)b);*/ case PCB_OBJ_PSTK: return pcb_isc_text_pstk((pcb_text_t *)a, (pcb_pstk_t *)b); case PCB_OBJ_RAT: return pcb_false; /* text is invisible to find for now */ default:; @@ -77,6 +82,7 @@ case PCB_OBJ_TEXT: return pcb_isc_text_poly((pcb_text_t *)b, (pcb_poly_t *)a); case PCB_OBJ_POLY: return pcb_isc_poly_poly((pcb_poly_t *)a, (pcb_poly_t *)b); case PCB_OBJ_ARC: return pcb_isc_arc_poly((pcb_arc_t *)b, (pcb_poly_t *)a); +/* case PCB_OBJ_GFX: return pcb_isc_gfx_poly((pcb_gfx_t *)b, (pcb_poly_t *)a);*/ case PCB_OBJ_PSTK: return pcb_isc_pstk_poly((pcb_pstk_t *)b, (pcb_poly_t *)a); case PCB_OBJ_RAT: return pcb_isc_rat_poly((pcb_rat_t *)b, (pcb_poly_t *)a); default:; @@ -89,11 +95,25 @@ case PCB_OBJ_TEXT: return pcb_isc_text_arc((pcb_text_t *)b, (pcb_arc_t *)a); case PCB_OBJ_POLY: return pcb_isc_arc_poly((pcb_arc_t *)a, (pcb_poly_t *)b); case PCB_OBJ_ARC: return pcb_isc_arc_arc((pcb_arc_t *)a, (pcb_arc_t *)b); +/* case PCB_OBJ_GFX: return pcb_isc_gfx_arc((pcb_gfx_t *)a, (pcb_arc_t *)b);*/ case PCB_OBJ_PSTK: return pcb_isc_pstk_arc((pcb_pstk_t *)b, (pcb_arc_t *)a); case PCB_OBJ_RAT: return pcb_isc_rat_arc((pcb_rat_t *)b, (pcb_arc_t *)a); default:; } break; +/* case PCB_OBJ_GFX: + switch(b->type) { + case PCB_OBJ_VOID: return pcb_false; + case PCB_OBJ_LINE: return pcb_isc_line_gfx((pcb_line_t *)b, (pcb_gfx_t *)a); + case PCB_OBJ_TEXT: return pcb_isc_text_gfx((pcb_text_t *)b, (pcb_gfx_t *)a); + case PCB_OBJ_POLY: return pcb_isc_gfx_poly((pcb_gfx_t *)a, (pcb_poly_t *)b); + case PCB_OBJ_ARC: return pcb_isc_arc_arc((pcb_arc_t *)a, (pcb_arc_t *)b); + case PCB_OBJ_GFX: return pcb_isc_gfx_gfx((pcb_gfx_t *)a, (pcb_gfx_t *)b); + case PCB_OBJ_PSTK: return pcb_isc_pstk_arc((pcb_pstk_t *)b, (pcb_arc_t *)a); + case PCB_OBJ_RAT: return pcb_isc_rat_arc((pcb_rat_t *)b, (pcb_arc_t *)a); + default:; + } + break;*/ case PCB_OBJ_PSTK: switch(b->type) { case PCB_OBJ_VOID: return pcb_false; @@ -101,6 +121,7 @@ case PCB_OBJ_TEXT: return pcb_isc_text_pstk((pcb_text_t *)b, (pcb_pstk_t *)a); case PCB_OBJ_POLY: return pcb_isc_pstk_poly((pcb_pstk_t *)a, (pcb_poly_t *)b); case PCB_OBJ_ARC: return pcb_isc_pstk_arc((pcb_pstk_t *)a, (pcb_arc_t *)b); +/* case PCB_OBJ_GFX: return pcb_isc_pstk_gfx((pcb_pstk_t *)a, (pcb_gfx_t *)b);*/ case PCB_OBJ_PSTK: return pcb_isc_pstk_pstk((pcb_pstk_t *)a, (pcb_pstk_t *)b); case PCB_OBJ_RAT: return pcb_isc_pstk_rat((pcb_pstk_t *)a, (pcb_rat_t *)b); default:; @@ -113,6 +134,7 @@ case PCB_OBJ_TEXT: return pcb_false; /* text is invisible to find for now */ case PCB_OBJ_POLY: return pcb_isc_rat_poly((pcb_rat_t *)a, (pcb_poly_t *)b); case PCB_OBJ_ARC: return pcb_isc_rat_arc((pcb_rat_t *)a, (pcb_arc_t *)b); +/* case PCB_OBJ_GFX: return pcb_isc_rat_gfx((pcb_rat_t *)a, (pcb_gfx_t *)b);*/ case PCB_OBJ_PSTK: return pcb_isc_pstk_rat((pcb_pstk_t *)b, (pcb_rat_t *)a); case PCB_OBJ_RAT: return pcb_isc_rat_rat((pcb_rat_t *)a, (pcb_rat_t *)b); default:;