Index: trunk/src/obj_pstk.c =================================================================== --- trunk/src/obj_pstk.c (revision 14289) +++ trunk/src/obj_pstk.c (revision 14290) @@ -113,7 +113,7 @@ PCB_SET_PARENT(ps, data, data); } -static void pcb_pstk_bbox_(pcb_box_t *dst, const pcb_pstk_t *ps) +static void pcb_pstk_bbox_(pcb_box_t *dst, const pcb_pstk_t *ps, pcb_bool copper_only) { int n, sn; pcb_line_t line; @@ -150,7 +150,7 @@ } } - if (PCB_NONPOLY_HAS_CLEARANCE(ps)) { + if (!copper_only && PCB_NONPOLY_HAS_CLEARANCE(ps)) { dst->X1 -= ps->Clearance; dst->Y1 -= ps->Clearance; dst->X2 += ps->Clearance; @@ -168,10 +168,15 @@ void pcb_pstk_bbox(pcb_pstk_t *ps) { - pcb_pstk_bbox_(&ps->BoundingBox, ps); + pcb_pstk_bbox_(&ps->BoundingBox, ps, pcb_false); } +void pcb_pstk_copper_bbox(pcb_box_t *dst, pcb_pstk_t *ps) +{ + pcb_pstk_bbox_(dst, ps, pcb_true); +} + /*** utils ***/ pcb_pstk_t *pcb_pstk_copy_meta(pcb_pstk_t *dst, pcb_pstk_t *src) Index: trunk/src/obj_pstk.h =================================================================== --- trunk/src/obj_pstk.h (revision 14289) +++ trunk/src/obj_pstk.h (revision 14290) @@ -84,6 +84,7 @@ pcb_pstk_t *pcb_pstk_new_tr(pcb_data_t *data, pcb_cardinal_t proto, pcb_coord_t x, pcb_coord_t y, pcb_coord_t clearance, pcb_flag_t Flags, double rot, int xmirror, int smirror); void pcb_pstk_add(pcb_data_t *data, pcb_pstk_t *ps); void pcb_pstk_bbox(pcb_pstk_t *ps); +void pcb_pstk_copper_bbox(pcb_box_t *dst, pcb_pstk_t *ps); void pcb_pstk_set_thermal(pcb_pstk_t *ps, unsigned long lid, unsigned char shape); unsigned char *pcb_pstk_get_thermal(pcb_pstk_t *ps, unsigned long lid, pcb_bool_t alloc);