Index: trunk/doc-rnd/hacking/renames =================================================================== --- trunk/doc-rnd/hacking/renames (revision 4991) +++ trunk/doc-rnd/hacking/renames (revision 4992) @@ -737,3 +737,15 @@ ArcPoly -> pcb_poly_from_arc PinPoly -> pcb_poly_from_pin BoxPolyBloated -> pcb_poly_from_box_bloated +frac_circle -> pcb_poly_frac_cicle +InitClip -> pcb_poly_init_clip +RestoreToPolygon -> pcb_poly_restore_to_poly +ClearFromPolygon -> pcb_poly_clear_from_poly +IsPointInPolygon -> pcb_poly_is_point_in_p +IsPointInPolygonIgnoreHoles -> pcb_poly_is_point_in_p_ignore_holes +IsRectangleInPolygon -> pcb_poly_is_rect_in_p +isects -> pcb_poly_isects_poly +MorphPolygon -> pcb_poly_morph +NoHolesPolygonDicer -> pcb_poly_no_holes_dicer +PolyToPolygonsOnLayer -> pcb_poly_to_polygons_on_layer +square_pin_factors -> pcb_poly_square_pin_factors Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 4991) +++ trunk/src/action_helper.c (revision 4992) @@ -1021,7 +1021,7 @@ */ SaveUndoSerialNumber(); Flags = ((pcb_polygon_t *) Crosshair.AttachedObject.Ptr2)->Flags; - PolyToPolygonsOnLayer(PCB->Data, (pcb_layer_t *) Crosshair.AttachedObject.Ptr1, result, Flags); + pcb_poly_to_polygons_on_layer(PCB->Data, (pcb_layer_t *) Crosshair.AttachedObject.Ptr1, result, Flags); RemoveObject(PCB_TYPE_POLYGON, Crosshair.AttachedObject.Ptr1, Crosshair.AttachedObject.Ptr2, Crosshair.AttachedObject.Ptr3); RestoreUndoSerialNumber(); Index: trunk/src/find_geo.c =================================================================== --- trunk/src/find_geo.c (revision 4991) +++ trunk/src/find_geo.c (revision 4992) @@ -487,7 +487,7 @@ if (!(ap = pcb_poly_from_arc(Arc, Arc->Thickness + Bloat))) return pcb_false; /* error */ - return isects(ap, Polygon, pcb_true); + return pcb_poly_isects_poly(ap, Polygon, pcb_true); } return pcb_false; } @@ -518,7 +518,7 @@ y1 = MIN(Line->Point1.Y, Line->Point2.Y) - wid; x2 = MAX(Line->Point1.X, Line->Point2.X) + wid; y2 = MAX(Line->Point1.Y, Line->Point2.Y) + wid; - return IsRectangleInPolygon(x1, y1, x2, y2, Polygon); + return pcb_poly_is_rect_in_p(x1, y1, x2, y2, Polygon); } if (Box->X1 <= Polygon->Clipped->contours->xmax + Bloat && Box->X2 >= Polygon->Clipped->contours->xmin - Bloat @@ -525,7 +525,7 @@ && Box->Y1 <= Polygon->Clipped->contours->ymax + Bloat && Box->Y2 >= Polygon->Clipped->contours->ymin - Bloat) { if (!(lp = pcb_poly_from_line(Line, Line->Thickness + Bloat))) return pcb_false; /* error */ - return isects(lp, Polygon, pcb_true); + return pcb_poly_isects_poly(lp, Polygon, pcb_true); } return pcb_false; } @@ -561,7 +561,7 @@ return pcb_false; /* first check un-bloated case */ - if (isects(P1->Clipped, P2, pcb_false)) + if (pcb_poly_isects_poly(P1->Clipped, P2, pcb_false)) return pcb_true; /* now the difficult case of bloated */ Index: trunk/src/find_lookup.c =================================================================== --- trunk/src/find_lookup.c (revision 4991) +++ trunk/src/find_lookup.c (revision 4992) @@ -358,17 +358,17 @@ pcb_coord_t x2 = i->pv.X + (i->pv.Thickness + 1 + Bloat) / 2; pcb_coord_t y1 = i->pv.Y - (i->pv.Thickness + 1 + Bloat) / 2; pcb_coord_t y2 = i->pv.Y + (i->pv.Thickness + 1 + Bloat) / 2; - if (IsRectangleInPolygon(x1, y1, x2, y2, polygon) + if (pcb_poly_is_rect_in_p(x1, y1, x2, y2, polygon) && ADD_POLYGON_TO_LIST(i->layer, polygon, PCB_TYPE_PIN, &i->pv, FCT_COPPER)) longjmp(i->env, 1); } else if (PCB_FLAG_TEST(PCB_FLAG_OCTAGON, &i->pv)) { pcb_polyarea_t *oct = pcb_poly_from_octagon(i->pv.X, i->pv.Y, i->pv.Thickness / 2, PCB_FLAG_SQUARE_GET(&i->pv)); - if (isects(oct, polygon, pcb_true) + if (pcb_poly_isects_poly(oct, polygon, pcb_true) && ADD_POLYGON_TO_LIST(i->layer, polygon, PCB_TYPE_PIN, &i->pv, FCT_COPPER)) longjmp(i->env, 1); } - else if (IsPointInPolygon(i->pv.X, i->pv.Y, wide, polygon) + else if (pcb_poly_is_point_in_p(i->pv.X, i->pv.Y, wide, polygon) && ADD_POLYGON_TO_LIST(i->layer, polygon, PCB_TYPE_PIN, &i->pv, FCT_COPPER)) longjmp(i->env, 1); } @@ -673,17 +673,17 @@ x2 = pv->X + (PIN_SIZE(pv) + 1 + Bloat) / 2; y1 = pv->Y - (PIN_SIZE(pv) + 1 + Bloat) / 2; y2 = pv->Y + (PIN_SIZE(pv) + 1 + Bloat) / 2; - if (IsRectangleInPolygon(x1, y1, x2, y2, &i->polygon) + if (pcb_poly_is_rect_in_p(x1, y1, x2, y2, &i->polygon) && ADD_PV_TO_LIST(pv, PCB_TYPE_POLYGON, &i->polygon, FCT_COPPER)) longjmp(i->env, 1); } else if (PCB_FLAG_TEST(PCB_FLAG_OCTAGON, pv)) { pcb_polyarea_t *oct = pcb_poly_from_octagon(pv->X, pv->Y, PIN_SIZE(pv) / 2, PCB_FLAG_SQUARE_GET(pv)); - if (isects(oct, &i->polygon, pcb_true) && ADD_PV_TO_LIST(pv, PCB_TYPE_POLYGON, &i->polygon, FCT_COPPER)) + if (pcb_poly_isects_poly(oct, &i->polygon, pcb_true) && ADD_PV_TO_LIST(pv, PCB_TYPE_POLYGON, &i->polygon, FCT_COPPER)) longjmp(i->env, 1); } else { - if (IsPointInPolygon(pv->X, pv->Y, PIN_SIZE(pv) * 0.5 + Bloat, &i->polygon) + if (pcb_poly_is_point_in_p(pv->X, pv->Y, PIN_SIZE(pv) * 0.5 + Bloat, &i->polygon) && ADD_PV_TO_LIST(pv, PCB_TYPE_POLYGON, &i->polygon, FCT_COPPER)) longjmp(i->env, 1); } Index: trunk/src/hid_draw_helpers.c =================================================================== --- trunk/src/hid_draw_helpers.c (revision 4991) +++ trunk/src/hid_draw_helpers.c (revision 4992) @@ -144,7 +144,7 @@ if (should_compute_no_holes(poly, clip_box)) pcb_poly_compute_no_holes(poly); else - NoHolesPolygonDicer(poly, clip_box, fill_contour_cb, gc); + pcb_poly_no_holes_dicer(poly, clip_box, fill_contour_cb, gc); } if (poly->NoHolesValid && poly->NoHoles) { pcb_pline_t *pl; @@ -163,7 +163,7 @@ pcb_polygon_t p = *poly; for (p.Clipped = poly->Clipped->f; p.Clipped != poly->Clipped; p.Clipped = p.Clipped->f) - NoHolesPolygonDicer(&p, clip_box, fill_contour_cb, gc); + pcb_poly_no_holes_dicer(&p, clip_box, fill_contour_cb, gc); } } @@ -308,7 +308,7 @@ double xm[8], ym[8]; int i; - square_pin_factors(style, xm, ym); + pcb_poly_square_pin_factors(style, xm, ym); if (Thickness != special_size) { special_size = Thickness; Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 4991) +++ trunk/src/obj_arc.c (revision 4992) @@ -147,7 +147,7 @@ new_da = 360; new_sa = 0; } - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, a); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, a); r_delete_entry(Layer->arc_tree, (pcb_box_t *) a); AddObjectToChangeAnglesUndoList(PCB_TYPE_ARC, a, a, a); a->StartAngle = new_sa; @@ -154,13 +154,13 @@ a->Delta = new_da; pcb_arc_bbox(a); r_insert_entry(Layer->arc_tree, (pcb_box_t *) a, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, a); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, a); } void pcb_arc_set_radii(pcb_layer_t *Layer, pcb_arc_t *a, pcb_coord_t new_width, pcb_coord_t new_height) { - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, a); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, a); r_delete_entry(Layer->arc_tree, (pcb_box_t *) a); AddObjectToChangeRadiiUndoList(PCB_TYPE_ARC, a, a, a); a->Width = new_width; @@ -167,7 +167,7 @@ a->Height = new_height; pcb_arc_bbox(a); r_insert_entry(Layer->arc_tree, (pcb_box_t *) a, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, a); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, a); } @@ -235,7 +235,7 @@ { pcb_layer_t *lay = &ctx->buffer.dst->Layer[GetLayerNumber(ctx->buffer.src, layer)]; - RestoreToPolygon(ctx->buffer.src, PCB_TYPE_ARC, layer, arc); + pcb_poly_restore_to_poly(ctx->buffer.src, PCB_TYPE_ARC, layer, arc); r_delete_entry(layer->arc_tree, (pcb_box_t *) arc); arclist_remove(arc); @@ -246,7 +246,7 @@ if (!lay->arc_tree) lay->arc_tree = r_create_tree(NULL, 0, 0); r_insert_entry(lay->arc_tree, (pcb_box_t *) arc, 0); - ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_ARC, lay, arc); + pcb_poly_clear_from_poly(ctx->buffer.dst, PCB_TYPE_ARC, lay, arc); return (arc); } @@ -261,11 +261,11 @@ AddObjectToSizeUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); Arc->Thickness = value; pcb_arc_bbox(Arc); r_insert_entry(Layer->arc_tree, (pcb_box_t *) Arc, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); DrawArc(Layer, Arc); return (Arc); } @@ -284,7 +284,7 @@ AddObjectToClearSizeUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); Arc->Clearance = value; if (Arc->Clearance == 0) { PCB_FLAG_CLEAR(PCB_FLAG_CLEARLINE, Arc); @@ -292,7 +292,7 @@ } pcb_arc_bbox(Arc); r_insert_entry(Layer->arc_tree, (pcb_box_t *) Arc, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); DrawArc(Layer, Arc); return (Arc); } @@ -325,11 +325,11 @@ AddObjectToChangeRadiiUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); *dst = value; pcb_arc_bbox(Arc); r_insert_entry(Layer->arc_tree, (pcb_box_t *) Arc, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); DrawArc(Layer, Arc); return (Arc); } @@ -365,11 +365,11 @@ AddObjectToChangeAnglesUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); *dst = value; pcb_arc_bbox(Arc); r_insert_entry(Layer->arc_tree, (pcb_box_t *) Arc, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); DrawArc(Layer, Arc); return (Arc); } @@ -383,13 +383,13 @@ return (NULL); EraseArc(Arc); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Arc)) { - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); AddObjectToClearPolyUndoList(PCB_TYPE_ARC, Layer, Arc, Arc, pcb_false); } AddObjectToFlagUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARLINE, Arc); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Arc)) { - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); AddObjectToClearPolyUndoList(PCB_TYPE_ARC, Layer, Arc, Arc, pcb_true); } DrawArc(Layer, Arc); @@ -430,7 +430,7 @@ /* moves an arc */ void *MoveArc(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_arc_t *Arc) { - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); if (Layer->On) { EraseArc(Arc); @@ -442,7 +442,7 @@ pcb_arc_move(Arc, ctx->move.dx, ctx->move.dy); } r_insert_entry(Layer->arc_tree, (pcb_box_t *) Arc, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); return (Arc); } @@ -477,11 +477,11 @@ if (((long int) ctx->move.dst_layer == -1) || ctx->move.dst_layer == Layer) return (Arc); AddObjectToMoveToLayerUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); - RestoreToPolygon(PCB->Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); if (Layer->On) EraseArc(Arc); newone = (pcb_arc_t *) MoveArcToLayerLowLevel(ctx, Layer, Arc, ctx->move.dst_layer); - ClearFromPolygon(PCB->Data, PCB_TYPE_ARC, ctx->move.dst_layer, Arc); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, ctx->move.dst_layer, Arc); if (ctx->move.dst_layer->On) DrawArc(ctx->move.dst_layer, newone); pcb_draw(); Index: trunk/src/obj_elem.c =================================================================== --- trunk/src/obj_elem.c (revision 4991) +++ trunk/src/obj_elem.c (revision 4992) @@ -419,7 +419,7 @@ /* pre-delete the pins from the pin-tree before their coordinates change */ if (Data) r_delete_entry(Data->pin_tree, (pcb_box_t *) pin); - RestoreToPolygon(Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PIN, Element, pin); free_rotate(&pin->X, &pin->Y, X, Y, cosa, sina); pcb_pin_bbox(pin); } @@ -429,7 +429,7 @@ /* pre-delete the pads before their coordinates change */ if (Data) r_delete_entry(Data->pad_tree, (pcb_box_t *) pad); - RestoreToPolygon(Data, PCB_TYPE_PAD, Element, pad); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PAD, Element, pad); free_rotate(&pad->Point1.X, &pad->Point1.Y, X, Y, cosa, sina); free_rotate(&pad->Point2.X, &pad->Point2.Y, X, Y, cosa, sina); pcb_line_bbox((pcb_line_t *) pad); @@ -444,7 +444,7 @@ free_rotate(&Element->MarkX, &Element->MarkY, X, Y, cosa, sina); pcb_element_bbox(Data, Element, &PCB->Font); - ClearFromPolygon(Data, PCB_TYPE_ELEMENT, Element, Element); + pcb_poly_clear_from_poly(Data, PCB_TYPE_ELEMENT, Element, Element); } /* changes the side of the board an element is on; returns pcb_true if done */ @@ -675,7 +675,7 @@ END_LOOP; PCB_PIN_LOOP(Element); { - RestoreToPolygon(Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PIN, Element, pin); pin->X = PCB_SWAP_X(pin->X); pin->Y = PCB_SWAP_Y(pin->Y) + yoff; } @@ -682,7 +682,7 @@ END_LOOP; PCB_PAD_LOOP(Element); { - RestoreToPolygon(Data, PCB_TYPE_PAD, Element, pad); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PAD, Element, pad); pad->Point1.X = PCB_SWAP_X(pad->Point1.X); pad->Point1.Y = PCB_SWAP_Y(pad->Point1.Y) + yoff; pad->Point2.X = PCB_SWAP_X(pad->Point2.X); @@ -712,7 +712,7 @@ PCB_FLAG_TOGGLE(PCB_FLAG_ONSOLDER, Element); /* this inserts all of the rtree data too */ pcb_element_bbox(Data, Element, &PCB->Font); - ClearFromPolygon(Data, PCB_TYPE_ELEMENT, Element, Element); + pcb_poly_clear_from_poly(Data, PCB_TYPE_ELEMENT, Element, Element); } /* sets the bounding box of an elements */ @@ -1004,12 +1004,12 @@ { if (Data) { r_delete_entry(Data->pin_tree, (pcb_box_t *) pin); - RestoreToPolygon(Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PIN, Element, pin); } pcb_pin_move(pin, DX, DY); if (Data) { r_insert_entry(Data->pin_tree, (pcb_box_t *) pin, 0); - ClearFromPolygon(Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_clear_from_poly(Data, PCB_TYPE_PIN, Element, pin); } } END_LOOP; @@ -1017,12 +1017,12 @@ { if (Data) { r_delete_entry(Data->pad_tree, (pcb_box_t *) pad); - RestoreToPolygon(Data, PCB_TYPE_PAD, Element, pad); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PAD, Element, pad); } pcb_pad_move(pad, DX, DY); if (Data) { r_insert_entry(Data->pad_tree, (pcb_box_t *) pad, 0); - ClearFromPolygon(Data, PCB_TYPE_PAD, Element, pad); + pcb_poly_clear_from_poly(Data, PCB_TYPE_PAD, Element, pad); } } END_LOOP; @@ -1083,7 +1083,7 @@ /* pre-delete the pins from the pin-tree before their coordinates change */ if (Data) r_delete_entry(Data->pin_tree, (pcb_box_t *) pin); - RestoreToPolygon(Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PIN, Element, pin); ROTATE_PIN_LOWLEVEL(pin, X, Y, Number); } END_LOOP; @@ -1092,7 +1092,7 @@ /* pre-delete the pads before their coordinates change */ if (Data) r_delete_entry(Data->pad_tree, (pcb_box_t *) pad); - RestoreToPolygon(Data, PCB_TYPE_PAD, Element, pad); + pcb_poly_restore_to_poly(Data, PCB_TYPE_PAD, Element, pad); ROTATE_PAD_LOWLEVEL(pad, X, Y, Number); } END_LOOP; @@ -1104,7 +1104,7 @@ ROTATE(Element->MarkX, Element->MarkY, X, Y, Number); /* SetElementBoundingBox reenters the rtree data */ pcb_element_bbox(Data, Element, &PCB->Font); - ClearFromPolygon(Data, PCB_TYPE_ELEMENT, Element, Element); + pcb_poly_clear_from_poly(Data, PCB_TYPE_ELEMENT, Element, Element); } @@ -1151,13 +1151,13 @@ PCB_PIN_LOOP(element); { - RestoreToPolygon(ctx->buffer.src, PCB_TYPE_PIN, element, pin); + pcb_poly_restore_to_poly(ctx->buffer.src, PCB_TYPE_PIN, element, pin); PCB_FLAG_CLEAR(PCB_FLAG_WARN | PCB_FLAG_FOUND, pin); } END_LOOP; PCB_PAD_LOOP(element); { - RestoreToPolygon(ctx->buffer.src, PCB_TYPE_PAD, element, pad); + pcb_poly_restore_to_poly(ctx->buffer.src, PCB_TYPE_PAD, element, pad); PCB_FLAG_CLEAR(PCB_FLAG_WARN | PCB_FLAG_FOUND, pad); } END_LOOP; @@ -1167,12 +1167,12 @@ */ PCB_PIN_LOOP(element); { - ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_PIN, element, pin); + pcb_poly_clear_from_poly(ctx->buffer.dst, PCB_TYPE_PIN, element, pin); } END_LOOP; PCB_PAD_LOOP(element); { - ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_PAD, element, pad); + pcb_poly_clear_from_poly(ctx->buffer.dst, PCB_TYPE_PAD, element, pad); } END_LOOP; @@ -1197,13 +1197,13 @@ changed = pcb_true; AddObjectTo2ndSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); ErasePin(pin); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); pin->DrillingHole = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin)) { AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); pin->Thickness = value; } - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); DrawPin(pin); } } @@ -1229,13 +1229,13 @@ changed = pcb_true; AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); ErasePin(pin); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); pin->Thickness = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin)) { AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); pin->Thickness = value; } - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); DrawPin(pin); } } @@ -1263,13 +1263,13 @@ changed = pcb_true; AddObjectToClearSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); ErasePin(pin); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); pin->Clearance = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin)) { AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); pin->Thickness = value; } - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); DrawPin(pin); } } @@ -1282,7 +1282,7 @@ changed = pcb_true; AddObjectToClearSizeUndoList(PCB_TYPE_PAD, Element, pad, pad); ErasePad(pad); - RestoreToPolygon(PCB->Data, PCB_TYPE_PAD, Element, pad); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, pad); r_delete_entry(PCB->Data->pad_tree, &pad->BoundingBox); pad->Clearance = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pad)) { @@ -1292,7 +1292,7 @@ /* SetElementBB updates all associated rtrees */ pcb_element_bbox(PCB->Data, Element, &PCB->Font); - ClearFromPolygon(PCB->Data, PCB_TYPE_PAD, Element, pad); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PAD, Element, pad); DrawPad(pad); } } Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 4991) +++ trunk/src/obj_line.c (revision 4992) @@ -262,7 +262,7 @@ { pcb_layer_t *lay = &ctx->buffer.dst->Layer[GetLayerNumber(ctx->buffer.src, layer)]; - RestoreToPolygon(ctx->buffer.src, PCB_TYPE_LINE, layer, line); + pcb_poly_restore_to_poly(ctx->buffer.src, PCB_TYPE_LINE, layer, line); r_delete_entry(layer->line_tree, (pcb_box_t *) line); linelist_remove(line); @@ -273,7 +273,7 @@ if (!lay->line_tree) lay->line_tree = r_create_tree(NULL, 0, 0); r_insert_entry(lay->line_tree, (pcb_box_t *) line, 0); - ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_LINE, lay, line); + pcb_poly_clear_from_poly(ctx->buffer.dst, PCB_TYPE_LINE, lay, line); return (line); } @@ -288,11 +288,11 @@ AddObjectToSizeUndoList(PCB_TYPE_LINE, Layer, Line, Line); EraseLine(Line); r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); Line->Thickness = value; pcb_line_bbox(Line); r_insert_entry(Layer->line_tree, (pcb_box_t *) Line, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); DrawLine(Layer, Line); return (Line); } @@ -309,7 +309,7 @@ value = MIN(MAX_LINESIZE, MAX(value, PCB->Bloat * 2 + 2)); if (value != Line->Clearance) { AddObjectToClearSizeUndoList(PCB_TYPE_LINE, Layer, Line, Line); - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); EraseLine(Line); r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); Line->Clearance = value; @@ -319,7 +319,7 @@ } pcb_line_bbox(Line); r_insert_entry(Layer->line_tree, (pcb_box_t *) Line, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); DrawLine(Layer, Line); return (Line); } @@ -344,13 +344,13 @@ EraseLine(Line); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Line)) { AddObjectToClearPolyUndoList(PCB_TYPE_LINE, Layer, Line, Line, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); } AddObjectToFlagUndoList(PCB_TYPE_LINE, Layer, Line, Line); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARLINE, Line); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Line)) { AddObjectToClearPolyUndoList(PCB_TYPE_LINE, Layer, Line, Line, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); } DrawLine(Layer, Line); return (Line); @@ -395,11 +395,11 @@ { if (Layer->On) EraseLine(Line); - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); pcb_line_move(Line, ctx->move.dx, ctx->move.dy); r_insert_entry(Layer->line_tree, (pcb_box_t *) Line, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); if (Layer->On) { DrawLine(Layer, Line); pcb_draw(); @@ -413,12 +413,12 @@ if (Layer) { if (Layer->On) EraseLine(Line); - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); r_delete_entry(Layer->line_tree, &Line->BoundingBox); PCB_MOVE(Point->X, Point->Y, ctx->move.dx, ctx->move.dy); pcb_line_bbox(Line); r_insert_entry(Layer->line_tree, &Line->BoundingBox, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); if (Layer->On) { DrawLine(Layer, Line); pcb_draw(); @@ -498,10 +498,10 @@ AddObjectToMoveToLayerUndoList(PCB_TYPE_LINE, Layer, Line, Line); if (Layer->On) EraseLine(Line); - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); newone = (pcb_line_t *) MoveLineToLayerLowLevel(ctx, Layer, Line, ctx->move.dst_layer); Line = NULL; - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, ctx->move.dst_layer, newone); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, ctx->move.dst_layer, newone); if (ctx->move.dst_layer->On) DrawLine(ctx->move.dst_layer, newone); pcb_draw(); @@ -649,7 +649,7 @@ { EraseLine(Line); if (Layer) { - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); } else @@ -658,7 +658,7 @@ pcb_line_bbox(Line); if (Layer) { r_insert_entry(Layer->line_tree, (pcb_box_t *) Line, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); DrawLine(Layer, Line); } else { @@ -683,12 +683,12 @@ AddObjectToMoveUndoList(PCB_TYPE_LINE_POINT, Layer, Line, &Line->Point2, ctx->insert.x - X, ctx->insert.y - Y); EraseLine(Line); r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); Line->Point2.X = ctx->insert.x; Line->Point2.Y = ctx->insert.y; pcb_line_bbox(Line); r_insert_entry(Layer->line_tree, (pcb_box_t *) Line, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); DrawLine(Layer, Line); /* we must create after playing with Line since creation may * invalidate the line pointer @@ -696,7 +696,7 @@ if ((line = pcb_line_new_merge(Layer, ctx->insert.x, ctx->insert.y, X, Y, Line->Thickness, Line->Clearance, Line->Flags))) { AddObjectToCreateUndoList(PCB_TYPE_LINE, Layer, line, line); DrawLine(Layer, line); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, Layer, line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, line); /* creation call adds it to the rtree */ } pcb_draw(); Index: trunk/src/obj_pad.c =================================================================== --- trunk/src/obj_pad.c (revision 4991) +++ trunk/src/obj_pad.c (revision 4992) @@ -164,7 +164,7 @@ if (value <= MAX_PADSIZE && value >= MIN_PADSIZE && value != Pad->Thickness) { AddObjectToSizeUndoList(PCB_TYPE_PAD, Element, Pad, Pad); AddObjectToMaskSizeUndoList(PCB_TYPE_PAD, Element, Pad, Pad); - RestoreToPolygon(PCB->Data, PCB_TYPE_PAD, Element, Pad); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); ErasePad(Pad); r_delete_entry(PCB->Data->pad_tree, &Pad->BoundingBox); Pad->Mask += value - Pad->Thickness; @@ -171,7 +171,7 @@ Pad->Thickness = value; /* SetElementBB updates all associated rtrees */ pcb_element_bbox(PCB->Data, Element, &PCB->Font); - ClearFromPolygon(PCB->Data, PCB_TYPE_PAD, Element, Pad); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); DrawPad(Pad); return (Pad); } @@ -195,13 +195,13 @@ if (value == Pad->Clearance) return NULL; AddObjectToClearSizeUndoList(PCB_TYPE_PAD, Element, Pad, Pad); - RestoreToPolygon(PCB->Data, PCB_TYPE_PAD, Element, Pad); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); ErasePad(Pad); r_delete_entry(PCB->Data->pad_tree, &Pad->BoundingBox); Pad->Clearance = value; /* SetElementBB updates all associated rtrees */ pcb_element_bbox(PCB->Data, Element, &PCB->Font); - ClearFromPolygon(PCB->Data, PCB_TYPE_PAD, Element, Pad); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); DrawPad(Pad); return Pad; } @@ -245,11 +245,11 @@ return (NULL); ErasePad(Pad); AddObjectToClearPolyUndoList(PCB_TYPE_PAD, Element, Pad, Pad, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_PAD, Element, Pad); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); AddObjectToFlagUndoList(PCB_TYPE_PAD, Element, Pad, Pad); PCB_FLAG_TOGGLE(PCB_FLAG_SQUARE, Pad); AddObjectToClearPolyUndoList(PCB_TYPE_PAD, Element, Pad, Pad, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_PAD, Element, Pad); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); DrawPad(Pad); return (Pad); } Index: trunk/src/obj_pinvia.c =================================================================== --- trunk/src/obj_pinvia.c (revision 4991) +++ trunk/src/obj_pinvia.c (revision 4992) @@ -241,7 +241,7 @@ /* moves a via to paste buffer without allocating memory for the name */ void *MoveViaToBuffer(pcb_opctx_t *ctx, pcb_pin_t * via) { - RestoreToPolygon(ctx->buffer.src, PCB_TYPE_VIA, via, via); + pcb_poly_restore_to_poly(ctx->buffer.src, PCB_TYPE_VIA, via, via); r_delete_entry(ctx->buffer.src->via_tree, (pcb_box_t *) via); pinlist_remove(via); @@ -252,7 +252,7 @@ if (!ctx->buffer.dst->via_tree) ctx->buffer.dst->via_tree = r_create_tree(NULL, 0, 0); r_insert_entry(ctx->buffer.dst->via_tree, (pcb_box_t *) via, 0); - ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_VIA, via, via); + pcb_poly_clear_from_poly(ctx->buffer.dst, PCB_TYPE_VIA, via, via); return via; } @@ -260,7 +260,7 @@ void *ChangeViaThermal(pcb_opctx_t *ctx, pcb_pin_t *Via) { AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); if (!ctx->chgtherm.style) /* remove the thermals */ PCB_FLAG_THERM_CLEAR(INDEXOFCURRENT, Via); @@ -267,7 +267,7 @@ else PCB_FLAG_THERM_ASSIGN(INDEXOFCURRENT, ctx->chgtherm.style, Via); AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); DrawVia(Via); return Via; } @@ -276,7 +276,7 @@ void *ChangePinThermal(pcb_opctx_t *ctx, pcb_element_t *element, pcb_pin_t *Pin) { AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); AddObjectToFlagUndoList(PCB_TYPE_PIN, element, Pin, Pin); if (!ctx->chgtherm.style) /* remove the thermals */ PCB_FLAG_THERM_CLEAR(INDEXOFCURRENT, Pin); @@ -283,7 +283,7 @@ else PCB_FLAG_THERM_ASSIGN(INDEXOFCURRENT, ctx->chgtherm.style, Pin); AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); DrawPin(Pin); return Pin; } @@ -300,7 +300,7 @@ AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); EraseVia(Via); r_delete_entry(PCB->Data->via_tree, (pcb_box_t *) Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Via, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Via, Via); if (Via->Mask) { AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); Via->Mask += value - Via->Thickness; @@ -308,7 +308,7 @@ Via->Thickness = value; pcb_pin_bbox(Via); r_insert_entry(PCB->Data->via_tree, (pcb_box_t *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); DrawVia(Via); return (Via); } @@ -327,13 +327,13 @@ && value != Via->DrillingHole) { AddObjectTo2ndSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); EraseVia(Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); Via->DrillingHole = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, Via)) { AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); Via->Thickness = value; } - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); DrawVia(Via); return (Via); } @@ -352,13 +352,13 @@ && value != Pin->DrillingHole) { AddObjectTo2ndSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); ErasePin(Pin); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); Pin->DrillingHole = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, Pin)) { AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); Pin->Thickness = value; } - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); DrawPin(Pin); return (Pin); } @@ -382,7 +382,7 @@ value = PCB->Bloat * 2 + 2; if (Via->Clearance == value) return NULL; - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); AddObjectToClearSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); EraseVia(Via); r_delete_entry(PCB->Data->via_tree, (pcb_box_t *) Via); @@ -389,7 +389,7 @@ Via->Clearance = value; pcb_pin_bbox(Via); r_insert_entry(PCB->Data->via_tree, (pcb_box_t *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); DrawVia(Via); Via->Element = NULL; return (Via); @@ -409,12 +409,12 @@ AddObjectToMaskSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); ErasePin(Pin); r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); Pin->Mask += value - Pin->Thickness; Pin->Thickness = value; /* SetElementBB updates all associated rtrees */ pcb_element_bbox(PCB->Data, Element, &PCB->Font); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); DrawPin(Pin); return (Pin); } @@ -437,7 +437,7 @@ value = PCB->Bloat * 2 + 2; if (Pin->Clearance == value) return NULL; - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); AddObjectToClearSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); ErasePin(Pin); r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); @@ -444,7 +444,7 @@ Pin->Clearance = value; /* SetElementBB updates all associated rtrees */ pcb_element_bbox(PCB->Data, Element, &PCB->Font); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); DrawPin(Pin); return (Pin); } @@ -504,7 +504,7 @@ return (NULL); EraseVia(Via); AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, NULL, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, NULL, Via); AddObjectToFlagUndoList(PCB_TYPE_VIA, NULL, Via, Via); PCB_FLAG_SQUARE_ASSIGN(ctx->chgsize.absolute, Via); if (ctx->chgsize.absolute == 0) @@ -513,7 +513,7 @@ PCB_FLAG_SET(PCB_FLAG_SQUARE, Via); pcb_pin_bbox(Via); AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, NULL, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, NULL, Via); DrawVia(Via); return (Via); } @@ -525,7 +525,7 @@ return (NULL); ErasePin(Pin); AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); PCB_FLAG_SQUARE_ASSIGN(ctx->chgsize.absolute, Pin); if (ctx->chgsize.absolute == 0) @@ -534,7 +534,7 @@ PCB_FLAG_SET(PCB_FLAG_SQUARE, Pin); pcb_pin_bbox(Pin); AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); DrawPin(Pin); return (Pin); } @@ -564,11 +564,11 @@ return (NULL); EraseVia(Via); AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); PCB_FLAG_TOGGLE(PCB_FLAG_OCTAGON, Via); AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); DrawVia(Via); return (Via); } @@ -598,11 +598,11 @@ return (NULL); ErasePin(Pin); AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); PCB_FLAG_TOGGLE(PCB_FLAG_OCTAGON, Pin); AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); DrawPin(Pin); return (Pin); } @@ -634,7 +634,7 @@ AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); r_delete_entry(PCB->Data->via_tree, (pcb_box_t *) Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); PCB_FLAG_TOGGLE(PCB_FLAG_HOLE, Via); if (PCB_FLAG_TEST(PCB_FLAG_HOLE, Via)) { @@ -653,7 +653,7 @@ pcb_pin_bbox(Via); r_insert_entry(PCB->Data->via_tree, (pcb_box_t *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); DrawVia(Via); pcb_draw(); return (pcb_true); @@ -717,12 +717,12 @@ void *MoveVia(pcb_opctx_t *ctx, pcb_pin_t *Via) { r_delete_entry(PCB->Data->via_tree, (pcb_box_t *) Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); pcb_via_move(Via, ctx->move.dx, ctx->move.dy); if (PCB->ViaOn) EraseVia(Via); r_insert_entry(PCB->Data->via_tree, (pcb_box_t *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); if (PCB->ViaOn) { DrawVia(Via); pcb_draw(); Index: trunk/src/obj_pinvia_therm.c =================================================================== --- trunk/src/obj_pinvia_therm.c (revision 4991) +++ trunk/src/obj_pinvia_therm.c (revision 4992) @@ -210,11 +210,11 @@ pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); } else - frac_circle(c, v[0] + pin->Clearance / 4, v[1], v, 2); + pcb_poly_frac_cicle(c, v[0] + pin->Clearance / 4, v[1], v, 2); v[1] = pin->Y + in; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); /* pivot 1/4 circle to next point */ - frac_circle(c, pin->X + in, pin->Y + in, v, 4); + pcb_poly_frac_cicle(c, pin->X + in, pin->Y + in, v, 4); v[0] = pin->X + d; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); if (style == 2) { @@ -223,7 +223,7 @@ pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); } else - frac_circle(c, v[0], v[1] - pin->Clearance / 4, v, 2); + pcb_poly_frac_cicle(c, v[0], v[1] - pin->Clearance / 4, v, 2); p = pcb_poly_from_contour(c); /* bottom right */ v[0] = pin->X + in; @@ -239,15 +239,15 @@ pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); } else - frac_circle(c, v[0], v[1] - pin->Clearance / 4, v, 2); + pcb_poly_frac_cicle(c, v[0], v[1] - pin->Clearance / 4, v, 2); v[0] = pin->X + in; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); /* pivot 1/4 circle to next point */ - frac_circle(c, pin->X + in, pin->Y - in, v, 4); + pcb_poly_frac_cicle(c, pin->X + in, pin->Y - in, v, 4); v[1] = pin->Y - d; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); if (style == 5) - frac_circle(c, v[0] - pin->Clearance / 4, v[1], v, 2); + pcb_poly_frac_cicle(c, v[0] - pin->Clearance / 4, v[1], v, 2); p2 = pcb_poly_from_contour(c); p->f = p2; p2->b = p; @@ -265,15 +265,15 @@ pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); } else - frac_circle(c, v[0] - pin->Clearance / 4, v[1], v, 2); + pcb_poly_frac_cicle(c, v[0] - pin->Clearance / 4, v[1], v, 2); v[1] = pin->Y - in; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); /* pivot 1/4 circle to next point */ - frac_circle(c, pin->X - in, pin->Y - in, v, 4); + pcb_poly_frac_cicle(c, pin->X - in, pin->Y - in, v, 4); v[0] = pin->X - d; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); if (style == 5) - frac_circle(c, v[0], v[1] + pin->Clearance / 4, v, 2); + pcb_poly_frac_cicle(c, v[0], v[1] + pin->Clearance / 4, v, 2); p2 = pcb_poly_from_contour(c); p->f->f = p2; p2->b = p->f; @@ -285,7 +285,7 @@ v[0] = pin->X - in; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); /* pivot 1/4 circle to next point (x-out, y+in) */ - frac_circle(c, pin->X - in, pin->Y + in, v, 4); + pcb_poly_frac_cicle(c, pin->X - in, pin->Y + in, v, 4); v[1] = pin->Y + d; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); if (style == 2) { @@ -293,13 +293,13 @@ pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); } else - frac_circle(c, v[0] + pin->Clearance / 4, v[1], v, 2); + pcb_poly_frac_cicle(c, v[0] + pin->Clearance / 4, v[1], v, 2); v[1] = pin->Y + in; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); v[0] = pin->X - d; pcb_poly_vertex_include(c->head.prev, pcb_poly_node_create(v)); if (style == 5) - frac_circle(c, v[0], v[1] + pin->Clearance / 4, v, 2); + pcb_poly_frac_cicle(c, v[0], v[1] + pin->Clearance / 4, v, 2); p2 = pcb_poly_from_contour(c); p->f->f->f = p2; p2->f = p; Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 4991) +++ trunk/src/obj_poly.c (revision 4992) @@ -289,7 +289,7 @@ AddObjectToClearPolyUndoList(PCB_TYPE_POLYGON, Layer, Polygon, Polygon, pcb_true); AddObjectToFlagUndoList(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARPOLY, Polygon); - InitClip(PCB->Data, Layer, Polygon); + pcb_poly_init_clip(PCB->Data, Layer, Polygon); DrawPolygon(Layer, Polygon); return (Polygon); } @@ -331,7 +331,7 @@ pcb_poly_bbox(Polygon); r_insert_entry(Layer->polygon_tree, (pcb_box_t *) Polygon, 0); - InitClip(PCB->Data, Layer, Polygon); + pcb_poly_init_clip(PCB->Data, Layer, Polygon); if (ctx->insert.forcible || !pcb_poly_remove_excess_points(Layer, Polygon)) { DrawPolygon(Layer, Polygon); pcb_draw(); @@ -359,7 +359,7 @@ r_delete_entry(Layer->polygon_tree, (pcb_box_t *) Polygon); pcb_poly_move(Polygon, ctx->move.dx, ctx->move.dy); r_insert_entry(Layer->polygon_tree, (pcb_box_t *) Polygon, 0); - InitClip(PCB->Data, Layer, Polygon); + pcb_poly_init_clip(PCB->Data, Layer, Polygon); if (Layer->On) { DrawPolygon(Layer, Polygon); pcb_draw(); @@ -378,7 +378,7 @@ pcb_poly_bbox(Polygon); r_insert_entry(Layer->polygon_tree, (pcb_box_t *) Polygon, 0); pcb_poly_remove_excess_points(Layer, Polygon); - InitClip(PCB->Data, Layer, Polygon); + pcb_poly_init_clip(PCB->Data, Layer, Polygon); if (Layer->On) { DrawPolygon(Layer, Polygon); pcb_draw(); @@ -411,7 +411,7 @@ { struct mptlc *d = (struct mptlc *) cl; pcb_pin_t *pin = (pcb_pin_t *) b; - if (!PCB_FLAG_THERM_TEST(d->snum, pin) || !IsPointInPolygon(pin->X, pin->Y, pin->Thickness + pin->Clearance + 2, d->polygon)) + if (!PCB_FLAG_THERM_TEST(d->snum, pin) || !pcb_poly_is_point_in_p(pin->X, pin->Y, pin->Thickness + pin->Clearance + 2, d->polygon)) return R_DIR_NOT_FOUND; if (d->type == PCB_TYPE_PIN) AddObjectToFlagUndoList(PCB_TYPE_PIN, pin->Element, pin, pin); @@ -446,7 +446,7 @@ d.type = PCB_TYPE_VIA; r_search(PCB->Data->via_tree, &Polygon->BoundingBox, NULL, mptl_pin_callback, &d, NULL); newone = (struct pcb_polygon_s *) MovePolygonToLayerLowLevel(ctx, Layer, Polygon, ctx->move.dst_layer); - InitClip(PCB->Data, ctx->move.dst_layer, newone); + pcb_poly_init_clip(PCB->Data, ctx->move.dst_layer, newone); if (ctx->move.dst_layer->On) { DrawPolygon(ctx->move.dst_layer, newone); pcb_draw(); @@ -497,7 +497,7 @@ pcb_poly_bbox(Polygon); r_insert_entry(Layer->polygon_tree, (pcb_box_t *) Polygon, 0); - InitClip(PCB->Data, Layer, Polygon); + pcb_poly_init_clip(PCB->Data, Layer, Polygon); return (Polygon); } @@ -558,7 +558,7 @@ Polygon->HoleIndex[i - 1] = Polygon->HoleIndex[i] - contour_points; Polygon->HoleIndexN--; - InitClip(PCB->Data, Layer, Polygon); + pcb_poly_init_clip(PCB->Data, Layer, Polygon); /* redraw polygon if necessary */ if (Layer->On) { DrawPolygon(Layer, Polygon); @@ -605,7 +605,7 @@ pcb_poly_bbox(Polygon); r_insert_entry(Layer->polygon_tree, (pcb_box_t *) Polygon, 0); pcb_poly_remove_excess_points(Layer, Polygon); - InitClip(PCB->Data, Layer, Polygon); + pcb_poly_init_clip(PCB->Data, Layer, Polygon); /* redraw polygon if necessary */ if (Layer->On) { @@ -627,7 +627,7 @@ if (!Layer->polygon_tree) Layer->polygon_tree = r_create_tree(NULL, 0, 0); r_insert_entry(Layer->polygon_tree, (pcb_box_t *) polygon, 0); - InitClip(PCB->Data, Layer, polygon); + pcb_poly_init_clip(PCB->Data, Layer, polygon); DrawPolygon(Layer, polygon); AddObjectToCreateUndoList(PCB_TYPE_POLYGON, Layer, polygon, polygon); return (polygon); Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 4991) +++ trunk/src/obj_text.c (revision 4992) @@ -230,7 +230,7 @@ pcb_layer_t *lay = &ctx->buffer.dst->Layer[GetLayerNumber(ctx->buffer.src, layer)]; r_delete_entry(layer->text_tree, (pcb_box_t *) text); - RestoreToPolygon(ctx->buffer.src, PCB_TYPE_TEXT, layer, text); + pcb_poly_restore_to_poly(ctx->buffer.src, PCB_TYPE_TEXT, layer, text); textlist_remove(text); textlist_append(&lay->Text, text); @@ -238,7 +238,7 @@ if (!lay->text_tree) lay->text_tree = r_create_tree(NULL, 0, 0); r_insert_entry(lay->text_tree, (pcb_box_t *) text, 0); - ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_TEXT, lay, text); + pcb_poly_clear_from_poly(ctx->buffer.dst, PCB_TYPE_TEXT, lay, text); return (text); } @@ -254,11 +254,11 @@ AddObjectToSizeUndoList(PCB_TYPE_TEXT, Layer, Text, Text); EraseText(Layer, Text); r_delete_entry(Layer->text_tree, (pcb_box_t *) Text); - RestoreToPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); Text->Scale = value; pcb_text_bbox(&PCB->Font, Text); r_insert_entry(Layer->text_tree, (pcb_box_t *) Text, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); DrawText(Layer, Text); return (Text); } @@ -275,13 +275,13 @@ return (NULL); EraseText(Layer, Text); r_delete_entry(Layer->text_tree, (pcb_box_t *)Text); - RestoreToPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); Text->TextString = ctx->chgname.new_name; /* calculate size of the bounding box */ pcb_text_bbox(&PCB->Font, Text); r_insert_entry(Layer->text_tree, (pcb_box_t *) Text, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); DrawText(Layer, Text); return (old); } @@ -294,13 +294,13 @@ EraseText(Layer, Text); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Text)) { AddObjectToClearPolyUndoList(PCB_TYPE_TEXT, Layer, Text, Text, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); } AddObjectToFlagUndoList(PCB_TYPE_TEXT, Layer, Text, Text); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARLINE, Text); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Text)) { AddObjectToClearPolyUndoList(PCB_TYPE_TEXT, Layer, Text, Text, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); } DrawText(Layer, Text); return (Text); @@ -337,7 +337,7 @@ /* moves a text object */ void *MoveText(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_text_t *Text) { - RestoreToPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); r_delete_entry(Layer->text_tree, (pcb_box_t *) Text); if (Layer->On) { EraseText(Layer, Text); @@ -348,7 +348,7 @@ else pcb_text_move(Text, ctx->move.dx, ctx->move.dy); r_insert_entry(Layer->text_tree, (pcb_box_t *) Text, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); return (Text); } @@ -355,7 +355,7 @@ /* moves a text object between layers; lowlevel routines */ void *MoveTextToLayerLowLevel(pcb_opctx_t *ctx, pcb_layer_t * Source, pcb_text_t * text, pcb_layer_t * Destination) { - RestoreToPolygon(PCB->Data, PCB_TYPE_TEXT, Source, text); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Source, text); r_delete_entry(Source->text_tree, (pcb_box_t *) text); textlist_remove(text); @@ -371,7 +371,7 @@ if (!Destination->text_tree) Destination->text_tree = r_create_tree(NULL, 0, 0); r_insert_entry(Destination->text_tree, (pcb_box_t *) text, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_TEXT, Destination, text); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_TEXT, Destination, text); return text; } @@ -453,11 +453,11 @@ void *RotateText(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_text_t *Text) { EraseText(Layer, Text); - RestoreToPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); r_delete_entry(Layer->text_tree, (pcb_box_t *) Text); pcb_text_rotate90(Text, ctx->rotate.center_x, ctx->rotate.center_y, ctx->rotate.number); r_insert_entry(Layer->text_tree, (pcb_box_t *) Text, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_TEXT, Layer, Text); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); DrawText(Layer, Text); pcb_draw(); return (Text); Index: trunk/src/polygon.c =================================================================== --- trunk/src/polygon.c (revision 4991) +++ trunk/src/polygon.c (revision 4992) @@ -184,7 +184,7 @@ { pcb_poly_contours_free(&poly->NoHoles); if (poly->Clipped) - NoHolesPolygonDicer(poly, NULL, add_noholes_polyarea, poly); + pcb_poly_no_holes_dicer(poly, NULL, add_noholes_polyarea, poly); else printf("Compute_noholes caught poly->Clipped = NULL\n"); poly->NoHolesValid = 1; @@ -323,7 +323,7 @@ } /* set up x and y multiplier for an octa poly, depending on square pin style */ -void square_pin_factors(int style, double *xm, double *ym) +void pcb_poly_square_pin_factors(int style, double *xm, double *ym) { int i; const double factor = 2.0; @@ -352,7 +352,7 @@ pcb_vector_t v; double xm[8], ym[8]; - square_pin_factors(style, xm, ym); + pcb_poly_square_pin_factors(style, xm, ym); #warning TODO: rewrite this to use the same table as the square/oct pin draw function /* point 7 */ @@ -398,7 +398,7 @@ * 2 for a half circle * or 4 for a quarter circle */ -void frac_circle(pcb_pline_t * c, pcb_coord_t X, pcb_coord_t Y, pcb_vector_t v, int range) +void pcb_poly_frac_cicle(pcb_pline_t * c, pcb_coord_t X, pcb_coord_t Y, pcb_vector_t v, int range) { double e1, e2, t1; int i; @@ -433,7 +433,7 @@ v[1] = y; if ((contour = pcb_poly_contour_new(v)) == NULL) return NULL; - frac_circle(contour, x, y, v, 1); + pcb_poly_frac_cicle(contour, x, y, v, 1); contour->is_round = pcb_true; contour->cx = x; contour->cy = y; @@ -453,19 +453,19 @@ v[1] = y1; if ((contour = pcb_poly_contour_new(v)) == NULL) return NULL; - frac_circle(contour, x1, y1, v, 4); + pcb_poly_frac_cicle(contour, x1, y1, v, 4); v[0] = x2; v[1] = y1 - t; pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); - frac_circle(contour, x2, y1, v, 4); + pcb_poly_frac_cicle(contour, x2, y1, v, 4); v[0] = x2 + t; v[1] = y2; pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); - frac_circle(contour, x2, y2, v, 4); + pcb_poly_frac_cicle(contour, x2, y2, v, 4); v[0] = x1; v[1] = y2 + t; pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); - frac_circle(contour, x1, y2, v, 4); + pcb_poly_frac_cicle(contour, x1, y2, v, 4); return pcb_poly_from_contour(contour); } @@ -516,7 +516,7 @@ v[0] = a->X - rx * cos(ang * PCB_M180) * (1 - radius_adj); v[1] = a->Y + ry * sin(ang * PCB_M180) * (1 - radius_adj); /* add the round cap at the end */ - frac_circle(contour, ends->X2, ends->Y2, v, 2); + pcb_poly_frac_cicle(contour, ends->X2, ends->Y2, v, 2); /* and now do the outer arc (going backwards) */ rx = (a->Width + half) * (1 + radius_adj); ry = (a->Width + half) * (1 + radius_adj); @@ -531,7 +531,7 @@ ang = a->StartAngle; v[0] = a->X - rx * cos(ang * PCB_M180) * (1 - radius_adj); v[1] = a->Y + ry * sin(ang * PCB_M180) * (1 - radius_adj); - frac_circle(contour, ends->X1, ends->Y1, v, 2); + pcb_poly_frac_cicle(contour, ends->X1, ends->Y1, v, 2); /* now we have the whole contour */ if (!(np = pcb_poly_from_contour(contour))) return NULL; @@ -607,7 +607,7 @@ if (PCB_FLAG_TEST(PCB_FLAG_SQUARE, l)) pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); else - frac_circle(contour, l->Point2.X, l->Point2.Y, v, 2); + pcb_poly_frac_cicle(contour, l->Point2.X, l->Point2.Y, v, 2); v[0] = l->Point2.X + dx; v[1] = l->Point2.Y + dy; pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); @@ -616,7 +616,7 @@ if (PCB_FLAG_TEST(PCB_FLAG_SQUARE, l)) pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); else - frac_circle(contour, l->Point1.X, l->Point1.Y, v, 2); + pcb_poly_frac_cicle(contour, l->Point1.X, l->Point1.Y, v, 2); /* now we have the line contour */ if (!(np = pcb_poly_from_contour(contour))) return NULL; @@ -671,22 +671,22 @@ v[1] = c->Point1.Y - ty; if ((contour = pcb_poly_contour_new(v)) == NULL) return 0; - frac_circle(contour, (t->Point1.X - tx), (t->Point1.Y - ty), v, 4); + pcb_poly_frac_cicle(contour, (t->Point1.X - tx), (t->Point1.Y - ty), v, 4); v[0] = t->Point2.X - cx; v[1] = t->Point2.Y - cy; pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); - frac_circle(contour, (t->Point2.X - tx), (t->Point2.Y - ty), v, 4); + pcb_poly_frac_cicle(contour, (t->Point2.X - tx), (t->Point2.Y - ty), v, 4); v[0] = c->Point2.X + tx; v[1] = c->Point2.Y + ty; pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); - frac_circle(contour, (t->Point2.X + tx), (t->Point2.Y + ty), v, 4); + pcb_poly_frac_cicle(contour, (t->Point2.X + tx), (t->Point2.Y + ty), v, 4); v[0] = t->Point1.X + cx; v[1] = t->Point1.Y + cy; pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); - frac_circle(contour, (t->Point1.X + tx), (t->Point1.Y + ty), v, 4); + pcb_poly_frac_cicle(contour, (t->Point1.X + tx), (t->Point1.Y + ty), v, 4); /* now we have the line contour */ if (!(np = pcb_poly_from_contour(contour))) @@ -1171,7 +1171,7 @@ static pcb_bool inhibit = pcb_false; -int InitClip(pcb_data_t *Data, pcb_layer_t *layer, pcb_polygon_t * p) +int pcb_poly_init_clip(pcb_data_t *Data, pcb_layer_t *layer, pcb_polygon_t * p) { if (inhibit) return 0; @@ -1348,7 +1348,7 @@ if (!CURRENT->polygon_tree) CURRENT->polygon_tree = r_create_tree(NULL, 0, 0); r_insert_entry(CURRENT->polygon_tree, (pcb_box_t *) polygon, 0); - InitClip(PCB->Data, CURRENT, polygon); + pcb_poly_init_clip(PCB->Data, CURRENT, polygon); DrawPolygon(CURRENT, polygon); SetChangedFlag(pcb_true); @@ -1540,23 +1540,23 @@ return r; } -void RestoreToPolygon(pcb_data_t * Data, int type, void *ptr1, void *ptr2) +void pcb_poly_restore_to_poly(pcb_data_t * Data, int type, void *ptr1, void *ptr2) { if (type == PCB_TYPE_POLYGON) - InitClip(PCB->Data, (pcb_layer_t *) ptr1, (pcb_polygon_t *) ptr2); + pcb_poly_init_clip(PCB->Data, (pcb_layer_t *) ptr1, (pcb_polygon_t *) ptr2); else pcb_poly_plows(Data, type, ptr1, ptr2, add_plow); } -void ClearFromPolygon(pcb_data_t * Data, int type, void *ptr1, void *ptr2) +void pcb_poly_clear_from_poly(pcb_data_t * Data, int type, void *ptr1, void *ptr2) { if (type == PCB_TYPE_POLYGON) - InitClip(PCB->Data, (pcb_layer_t *) ptr1, (pcb_polygon_t *) ptr2); + pcb_poly_init_clip(PCB->Data, (pcb_layer_t *) ptr1, (pcb_polygon_t *) ptr2); else pcb_poly_plows(Data, type, ptr1, ptr2, subtract_plow); } -pcb_bool isects(pcb_polyarea_t * a, pcb_polygon_t *p, pcb_bool fr) +pcb_bool pcb_poly_isects_poly(pcb_polyarea_t * a, pcb_polygon_t *p, pcb_bool fr) { pcb_polyarea_t *x; pcb_bool ans; @@ -1569,7 +1569,7 @@ } -pcb_bool IsPointInPolygon(pcb_coord_t X, pcb_coord_t Y, pcb_coord_t r, pcb_polygon_t *p) +pcb_bool pcb_poly_is_point_in_p(pcb_coord_t X, pcb_coord_t Y, pcb_coord_t r, pcb_polygon_t *p) { pcb_polyarea_t *c; pcb_vector_t v; @@ -1591,11 +1591,11 @@ return pcb_false; if (!(c = pcb_poly_from_circle(X, Y, r))) return pcb_false; - return isects(c, p, pcb_true); + return pcb_poly_isects_poly(c, p, pcb_true); } -pcb_bool IsPointInPolygonIgnoreHoles(pcb_coord_t X, pcb_coord_t Y, pcb_polygon_t *p) +pcb_bool pcb_poly_is_point_in_p_ignore_holes(pcb_coord_t X, pcb_coord_t Y, pcb_polygon_t *p) { pcb_vector_t v; v[0] = X; @@ -1603,12 +1603,12 @@ return pcb_poly_contour_inside(p->Clipped->contours, v); } -pcb_bool IsRectangleInPolygon(pcb_coord_t X1, pcb_coord_t Y1, pcb_coord_t X2, pcb_coord_t Y2, pcb_polygon_t *p) +pcb_bool pcb_poly_is_rect_in_p(pcb_coord_t X1, pcb_coord_t Y1, pcb_coord_t X2, pcb_coord_t Y2, pcb_polygon_t *p) { pcb_polyarea_t *s; if (!(s = pcb_poly_from_rect(min(X1, X2), max(X1, X2), min(Y1, Y2), max(Y1, Y2)))) return pcb_false; - return isects(s, p, pcb_true); + return pcb_poly_isects_poly(s, p, pcb_true); } /* NB: This function will free the passed pcb_polyarea_t. @@ -1657,7 +1657,7 @@ } } -void NoHolesPolygonDicer(pcb_polygon_t *p, const pcb_box_t * clip, void (*emit) (pcb_pline_t *, void *), void *user_data) +void pcb_poly_no_holes_dicer(pcb_polygon_t *p, const pcb_box_t * clip, void (*emit) (pcb_pline_t *, void *), void *user_data) { pcb_polyarea_t *main_contour, *cur, *next; @@ -1685,7 +1685,7 @@ } /* make a polygon split into multiple parts into multiple polygons */ -pcb_bool MorphPolygon(pcb_layer_t *layer, pcb_polygon_t *poly) +pcb_bool pcb_poly_morph(pcb_layer_t *layer, pcb_polygon_t *poly) { pcb_polyarea_t *p, *start; pcb_bool many = pcb_false; @@ -1798,7 +1798,7 @@ /* Convert a pcb_polyarea_t (and all linked pcb_polyarea_t) to * raw PCB polygons on the given layer. */ -void PolyToPolygonsOnLayer(pcb_data_t * Destination, pcb_layer_t * Layer, pcb_polyarea_t * Input, pcb_flag_t Flags) +void pcb_poly_to_polygons_on_layer(pcb_data_t * Destination, pcb_layer_t * Layer, pcb_polyarea_t * Input, pcb_flag_t Flags) { pcb_polygon_t *Polygon; pcb_polyarea_t *pa; @@ -1830,7 +1830,7 @@ } while ((pline = pline->next) != NULL); - InitClip(Destination, Layer, Polygon); + pcb_poly_init_clip(Destination, Layer, Polygon); pcb_poly_bbox(Polygon); if (!Layer->polygon_tree) Layer->polygon_tree = r_create_tree(NULL, 0, 0); Index: trunk/src/polygon.h =================================================================== --- trunk/src/polygon.h (revision 4991) +++ trunk/src/polygon.h (revision 4992) @@ -77,20 +77,20 @@ pcb_polyarea_t *pcb_poly_from_pin(pcb_pin_t * l, pcb_coord_t thick, pcb_coord_t clear); pcb_polyarea_t *pcb_poly_from_box_bloated(pcb_box_t * box, pcb_coord_t radius); -void frac_circle(pcb_pline_t *, pcb_coord_t, pcb_coord_t, pcb_vector_t, int); -int InitClip(pcb_data_t * d, pcb_layer_t * l, pcb_polygon_t * p); -void RestoreToPolygon(pcb_data_t *, int, void *, void *); -void ClearFromPolygon(pcb_data_t *, int, void *, void *); +void pcb_poly_frac_cicle(pcb_pline_t *, pcb_coord_t, pcb_coord_t, pcb_vector_t, int); +int pcb_poly_init_clip(pcb_data_t * d, pcb_layer_t * l, pcb_polygon_t * p); +void pcb_poly_restore_to_poly(pcb_data_t *, int, void *, void *); +void pcb_poly_clear_from_poly(pcb_data_t *, int, void *, void *); -pcb_bool IsPointInPolygon(pcb_coord_t, pcb_coord_t, pcb_coord_t, pcb_polygon_t *); -pcb_bool IsPointInPolygonIgnoreHoles(pcb_coord_t, pcb_coord_t, pcb_polygon_t *); -pcb_bool IsRectangleInPolygon(pcb_coord_t, pcb_coord_t, pcb_coord_t, pcb_coord_t, pcb_polygon_t *); -pcb_bool isects(pcb_polyarea_t *, pcb_polygon_t *, pcb_bool); -pcb_bool MorphPolygon(pcb_layer_t *, pcb_polygon_t *); -void NoHolesPolygonDicer(pcb_polygon_t * p, const pcb_box_t * clip, void (*emit) (pcb_pline_t *, void *), void *user_data); -void PolyToPolygonsOnLayer(pcb_data_t *, pcb_layer_t *, pcb_polyarea_t *, pcb_flag_t); +pcb_bool pcb_poly_is_point_in_p(pcb_coord_t, pcb_coord_t, pcb_coord_t, pcb_polygon_t *); +pcb_bool pcb_poly_is_point_in_p_ignore_holes(pcb_coord_t, pcb_coord_t, pcb_polygon_t *); +pcb_bool pcb_poly_is_rect_in_p(pcb_coord_t, pcb_coord_t, pcb_coord_t, pcb_coord_t, pcb_polygon_t *); +pcb_bool pcb_poly_isects_poly(pcb_polyarea_t *, pcb_polygon_t *, pcb_bool); +pcb_bool pcb_poly_morph(pcb_layer_t *, pcb_polygon_t *); +void pcb_poly_no_holes_dicer(pcb_polygon_t * p, const pcb_box_t * clip, void (*emit) (pcb_pline_t *, void *), void *user_data); +void pcb_poly_to_polygons_on_layer(pcb_data_t *, pcb_layer_t *, pcb_polyarea_t *, pcb_flag_t); -void square_pin_factors(int style, double *xm, double *ym); +void pcb_poly_square_pin_factors(int style, double *xm, double *ym); #endif Index: trunk/src/polygon_act.c =================================================================== --- trunk/src/polygon_act.c (revision 4991) +++ trunk/src/polygon_act.c (revision 4992) @@ -43,7 +43,7 @@ /* --------------------------------------------------------------------------- */ -static const char morphpcb_polygon_syntax[] = "MorphPolygon(Object|Selected)"; +static const char morphpcb_polygon_syntax[] = "pcb_poly_morph(Object|Selected)"; static const char morphpolygon_help[] = "Converts dead polygon islands into separate polygons."; @@ -69,7 +69,7 @@ gui->get_coords(_("Select an Object"), &x, &y); if ((type = SearchScreen(x, y, PCB_TYPE_POLYGON, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) { - MorphPolygon((pcb_layer_t *) ptr1, (pcb_polygon_t *) ptr3); + pcb_poly_morph((pcb_layer_t *) ptr1, (pcb_polygon_t *) ptr3); pcb_draw(); IncrementUndoSerialNumber(); } @@ -80,7 +80,7 @@ PCB_POLY_ALL_LOOP(PCB->Data); { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, polygon)) - MorphPolygon(layer, polygon); + pcb_poly_morph(layer, polygon); } ENDALL_LOOP; pcb_draw(); Index: trunk/src/rats.c =================================================================== --- trunk/src/rats.c (revision 4991) +++ trunk/src/rats.c (revision 4992) @@ -571,7 +571,7 @@ if (conn1->type == PCB_TYPE_POLYGON && (polygon = (pcb_polygon_t *) conn1->ptr2) && !(distance == 0 && - firstpoint && firstpoint->type == PCB_TYPE_VIA) && IsPointInPolygonIgnoreHoles(conn2->X, conn2->Y, polygon)) { + firstpoint && firstpoint->type == PCB_TYPE_VIA) && pcb_poly_is_point_in_p_ignore_holes(conn2->X, conn2->Y, polygon)) { distance = 0; firstpoint = conn2; secondpoint = conn1; @@ -581,7 +581,7 @@ else if (conn2->type == PCB_TYPE_POLYGON && (polygon = (pcb_polygon_t *) conn2->ptr2) && !(distance == 0 && - firstpoint && firstpoint->type == PCB_TYPE_VIA) && IsPointInPolygonIgnoreHoles(conn1->X, conn1->Y, polygon)) { + firstpoint && firstpoint->type == PCB_TYPE_VIA) && pcb_poly_is_point_in_p_ignore_holes(conn1->X, conn1->Y, polygon)) { distance = 0; firstpoint = conn1; secondpoint = conn2; Index: trunk/src/rotate.c =================================================================== --- trunk/src/rotate.c (revision 4991) +++ trunk/src/rotate.c (revision 4992) @@ -115,7 +115,7 @@ AddObjectToRotateUndoList(PCB_TYPE_LINE_POINT, ptr->Layer, ptr->Line, ptr->MovedPoint, ctx.rotate.center_x, ctx.rotate.center_y, Steps); EraseLine(ptr->Line); if (ptr->Layer) { - RestoreToPolygon(PCB->Data, PCB_TYPE_LINE, ptr->Layer, ptr->Line); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, ptr->Layer, ptr->Line); r_delete_entry(ptr->Layer->line_tree, (pcb_box_t *) ptr->Line); } else @@ -124,7 +124,7 @@ pcb_line_bbox(ptr->Line); if (ptr->Layer) { r_insert_entry(ptr->Layer->line_tree, (pcb_box_t *) ptr->Line, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, ptr->Layer, ptr->Line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, ptr->Layer, ptr->Line); DrawLine(ptr->Layer, ptr->Line); } else { Index: trunk/src/rubberband.c =================================================================== --- trunk/src/rubberband.c (revision 4991) +++ trunk/src/rubberband.c (revision 4992) @@ -375,9 +375,9 @@ if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, line)) continue; thick = (line->Thickness + 1) / 2; - if (IsPointInPolygon(line->Point1.X, line->Point1.Y, thick, Polygon)) + if (pcb_poly_is_point_in_p(line->Point1.X, line->Point1.Y, thick, Polygon)) CreateNewRubberbandEntry(layer, line, &line->Point1); - if (IsPointInPolygon(line->Point2.X, line->Point2.Y, thick, Polygon)) + if (pcb_poly_is_point_in_p(line->Point2.X, line->Point2.Y, thick, Polygon)) CreateNewRubberbandEntry(layer, line, &line->Point2); } END_LOOP; Index: trunk/src/search.c =================================================================== --- trunk/src/search.c (revision 4991) +++ trunk/src/search.c (revision 4992) @@ -326,7 +326,7 @@ if (PCB_FLAG_TEST(i->locked, polygon)) return R_DIR_NOT_FOUND; - if (IsPointInPolygon(PosX, PosY, SearchRadius, polygon)) { + if (pcb_poly_is_point_in_p(PosX, PosY, SearchRadius, polygon)) { *i->ptr2 = *i->ptr3 = polygon; return R_DIR_CANCEL; /* found */ } Index: trunk/src/undo.c =================================================================== --- trunk/src/undo.c (revision 4991) +++ trunk/src/undo.c (revision 4992) @@ -287,9 +287,9 @@ type = SearchObjectByID(PCB->Data, &ptr1, &ptr2, &ptr3, Entry->ID, Entry->Kind); if (type != PCB_TYPE_NONE) { if (Entry->Data.ClearPoly.Clear) - RestoreToPolygon(PCB->Data, type, Entry->Data.ClearPoly.Layer, ptr3); + pcb_poly_restore_to_poly(PCB->Data, type, Entry->Data.ClearPoly.Layer, ptr3); else - ClearFromPolygon(PCB->Data, type, Entry->Data.ClearPoly.Layer, ptr3); + pcb_poly_clear_from_poly(PCB->Data, type, Entry->Data.ClearPoly.Layer, ptr3); Entry->Data.ClearPoly.Clear = !Entry->Data.ClearPoly.Clear; return pcb_true; } @@ -430,11 +430,11 @@ type = SearchObjectByID(PCB->Data, &ptr1, &ptr2, &ptr3, Entry->ID, Entry->Kind); if (type != PCB_TYPE_NONE) { swap = ((pcb_pin_t *) ptr2)->Clearance; - RestoreToPolygon(PCB->Data, type, ptr1, ptr2); + pcb_poly_restore_to_poly(PCB->Data, type, ptr1, ptr2); if (andDraw) pcb_erase_obj(type, ptr1, ptr2); ((pcb_pin_t *) ptr2)->Clearance = Entry->Data.Size; - ClearFromPolygon(PCB->Data, type, ptr1, ptr2); + pcb_poly_clear_from_poly(PCB->Data, type, ptr1, ptr2); Entry->Data.Size = swap; if (andDraw) pcb_draw_obj(type, ptr1, ptr2); @@ -491,12 +491,12 @@ /* Wow! can any object be treated as a pin type for size change?? */ /* pins, vias, lines, and arcs can. Text can't but it has it's own mechanism */ swap = ((pcb_pin_t *) ptr2)->Thickness; - RestoreToPolygon(PCB->Data, type, ptr1, ptr2); + pcb_poly_restore_to_poly(PCB->Data, type, ptr1, ptr2); if ((andDraw) && (ptr1e != NULL)) pcb_erase_obj(type, ptr1e, ptr2); ((pcb_pin_t *) ptr2)->Thickness = Entry->Data.Size; Entry->Data.Size = swap; - ClearFromPolygon(PCB->Data, type, ptr1, ptr2); + pcb_poly_clear_from_poly(PCB->Data, type, ptr1, ptr2); if (andDraw) pcb_draw_obj(type, ptr1, ptr2); return (pcb_true); @@ -782,7 +782,7 @@ obj = (pcb_any_obj_t *) pcb_move_obj_to_buffer(PCB->Data, RemoveList, type, ptr1, ptr2, ptr3); if (Entry->Kind == PCB_TYPE_POLYGON) - InitClip(PCB->Data, (pcb_layer_t *) ptr1b, (pcb_polygon_t *) obj); + pcb_poly_init_clip(PCB->Data, (pcb_layer_t *) ptr1b, (pcb_polygon_t *) obj); return (pcb_true); } @@ -1377,7 +1377,7 @@ { if (!Locked) GetUndoSlot(UNDO_CREATE, PCB_OBJECT_ID(Ptr3), Type); - ClearFromPolygon(PCB->Data, Type, Ptr1, Ptr2); + pcb_poly_clear_from_poly(PCB->Data, Type, Ptr1, Ptr2); } /* --------------------------------------------------------------------------- Index: trunk/src_plugins/autocrop/autocrop.c =================================================================== --- trunk/src_plugins/autocrop/autocrop.c (revision 4991) +++ trunk/src_plugins/autocrop/autocrop.c (revision 4992) @@ -64,13 +64,13 @@ static void *MyMoveViaLowLevel(pcb_data_t * Data, pcb_pin_t * Via, pcb_coord_t dx, pcb_coord_t dy) { if (Data) { - RestoreToPolygon(Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_restore_to_poly(Data, PCB_TYPE_VIA, Via, Via); r_delete_entry(Data->via_tree, (pcb_box_t *) Via); } pcb_via_move(Via, dx, dy); if (Data) { r_insert_entry(Data->via_tree, (pcb_box_t *) Via, 0); - ClearFromPolygon(Data, PCB_TYPE_VIA, Via, Via); + pcb_poly_clear_from_poly(Data, PCB_TYPE_VIA, Via, Via); } return Via; } @@ -78,13 +78,13 @@ static void *MyMoveLineLowLevel(pcb_data_t * Data, pcb_layer_t * Layer, pcb_line_t * Line, pcb_coord_t dx, pcb_coord_t dy) { if (Data) { - RestoreToPolygon(Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_restore_to_poly(Data, PCB_TYPE_LINE, Layer, Line); r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); } pcb_line_move(Line, dx, dy); if (Data) { r_insert_entry(Layer->line_tree, (pcb_box_t *) Line, 0); - ClearFromPolygon(Data, PCB_TYPE_LINE, Layer, Line); + pcb_poly_clear_from_poly(Data, PCB_TYPE_LINE, Layer, Line); } return Line; } @@ -92,13 +92,13 @@ static void *MyMoveArcLowLevel(pcb_data_t * Data, pcb_layer_t * Layer, pcb_arc_t * Arc, pcb_coord_t dx, pcb_coord_t dy) { if (Data) { - RestoreToPolygon(Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_restore_to_poly(Data, PCB_TYPE_ARC, Layer, Arc); r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); } pcb_arc_move(Arc, dx, dy); if (Data) { r_insert_entry(Layer->arc_tree, (pcb_box_t *) Arc, 0); - ClearFromPolygon(Data, PCB_TYPE_ARC, Layer, Arc); + pcb_poly_clear_from_poly(Data, PCB_TYPE_ARC, Layer, Arc); } return Arc; } @@ -112,7 +112,7 @@ pcb_poly_move(Polygon, dx, dy); if (Data) { r_insert_entry(Layer->polygon_tree, (pcb_box_t *) Polygon, 0); - InitClip(Data, Layer, Polygon); + pcb_poly_init_clip(Data, Layer, Polygon); } return Polygon; } Index: trunk/src_plugins/autoroute/autoroute.c =================================================================== --- trunk/src_plugins/autoroute/autoroute.c (revision 4991) +++ trunk/src_plugins/autoroute/autoroute.c (revision 4992) @@ -4520,11 +4520,11 @@ int type = FindPin(&p->box, &pin); if (pin) { AddObjectToClearPolyUndoList(type, pin->Element ? pin->Element : pin, pin, pin, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, LAYER_PTR(p->layer), pin); + pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, LAYER_PTR(p->layer), pin); AddObjectToFlagUndoList(type, pin->Element ? pin->Element : pin, pin, pin); PCB_FLAG_THERM_ASSIGN(p->layer, PCB->ThermStyle, pin); AddObjectToClearPolyUndoList(type, pin->Element ? pin->Element : pin, pin, pin, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, LAYER_PTR(p->layer), pin); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, LAYER_PTR(p->layer), pin); changed = pcb_true; } } Index: trunk/src_plugins/boardflip/boardflip.c =================================================================== --- trunk/src_plugins/boardflip/boardflip.c (revision 4991) +++ trunk/src_plugins/boardflip/boardflip.c (revision 4992) @@ -97,7 +97,7 @@ i++; j--; } - InitClip(PCB->Data, layer, polygon); + pcb_poly_init_clip(PCB->Data, layer, polygon); } END_LOOP; PCB_ARC_LOOP(layer); Index: trunk/src_plugins/hid_gtk/ghid-propedit.c =================================================================== --- trunk/src_plugins/hid_gtk/ghid-propedit.c (revision 4991) +++ trunk/src_plugins/hid_gtk/ghid-propedit.c (revision 4992) @@ -354,7 +354,7 @@ PCB_MIL_TO_COORD(10), PCB_MIL_TO_COORD(10), PCB_MIL_TO_COORD(1200), PCB_MIL_TO_COORD(1200), pcb_flag_make(PCB_FLAG_CLEARPOLY)); - InitClip(preview_pcb.Data, preview_pcb.Data->Layer, v); + pcb_poly_init_clip(preview_pcb.Data, preview_pcb.Data->Layer, v); } old_pcb = PCB; Index: trunk/src_plugins/import_dsn/dsn.c =================================================================== --- trunk/src_plugins/import_dsn/dsn.c (revision 4991) +++ trunk/src_plugins/import_dsn/dsn.c (revision 4992) @@ -145,7 +145,7 @@ if (x0 != 0 || y0 != 0) { line = pcb_line_new_merge(rlayer, x0, PCB->MaxHeight - y0, x1, PCB->MaxHeight - y1, linethick, lineclear, pcb_flag_make(PCB_FLAG_AUTO | PCB_FLAG_CLEARLINE)); - ClearFromPolygon(PCB->Data, PCB_TYPE_LINE, rlayer, line); + pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, rlayer, line); } x0 = x1; y0 = y1; Index: trunk/src_plugins/io_kicad/read.c =================================================================== --- trunk/src_plugins/io_kicad/read.c (revision 4991) +++ trunk/src_plugins/io_kicad/read.c (revision 4992) @@ -1985,7 +1985,7 @@ if ((tally & required) == required) { /* has location, layer, size and stroke thickness at a minimum */ if (polygon != NULL) { pcb_add_polygon_on_layer(&st->PCB->Data->Layer[PCBLayer], polygon); - InitClip(st->PCB->Data, &st->PCB->Data->Layer[PCBLayer], polygon); + pcb_poly_init_clip(st->PCB->Data, &st->PCB->Data->Layer[PCBLayer], polygon); } return 0; } Index: trunk/src_plugins/io_lihata/read.c =================================================================== --- trunk/src_plugins/io_lihata/read.c (revision 4991) +++ trunk/src_plugins/io_lihata/read.c (revision 4992) @@ -985,7 +985,7 @@ announce the clipping (it's slow, we may need a progress bar) */ PCB_POLY_ALL_LOOP(pcb->Data); { - InitClip(pcb->Data, layer, polygon); + pcb_poly_init_clip(pcb->Data, layer, polygon); } ENDALL_LOOP; Index: trunk/src_plugins/io_pcb/parse_y.c =================================================================== --- trunk/src_plugins/io_pcb/parse_y.c (revision 4991) +++ trunk/src_plugins/io_pcb/parse_y.c (revision 4992) @@ -1829,7 +1829,7 @@ PCB = yyPCB; PCB_POLY_ALL_LOOP(yyData); { - InitClip (yyData, layer, polygon); + pcb_poly_init_clip(yyData, layer, polygon); } ENDALL_LOOP; PCB = pcb_save; Index: trunk/src_plugins/io_pcb/parse_y.y =================================================================== --- trunk/src_plugins/io_pcb/parse_y.y (revision 4991) +++ trunk/src_plugins/io_pcb/parse_y.y (revision 4992) @@ -212,7 +212,7 @@ PCB = yyPCB; PCB_POLY_ALL_LOOP(yyData); { - InitClip (yyData, layer, polygon); + pcb_poly_init_clip(yyData, layer, polygon); } ENDALL_LOOP; PCB = pcb_save; Index: trunk/src_plugins/polycombine/polycombine.c =================================================================== --- trunk/src_plugins/polycombine/polycombine.c (revision 4991) +++ trunk/src_plugins/polycombine/polycombine.c (revision 4992) @@ -331,7 +331,7 @@ ENDALL_LOOP; /* Now de-construct the resulting polygon into raw PCB polygons */ - PolyToPolygonsOnLayer(PCB->Data, Layer, res, pcb_strflg_board_s2f("clearpoly", NULL)); + pcb_poly_to_polygons_on_layer(PCB->Data, Layer, res, pcb_strflg_board_s2f("clearpoly", NULL)); RestoreUndoSerialNumber(); IncrementUndoSerialNumber(); pcb_draw(); Index: trunk/src_plugins/polystitch/polystitch.c =================================================================== --- trunk/src_plugins/polystitch/polystitch.c (revision 4991) +++ trunk/src_plugins/polystitch/polystitch.c (revision 4992) @@ -220,7 +220,7 @@ pcb_poly_bbox(outer_poly); r_insert_entry(poly_layer->polygon_tree, (pcb_box_t *) outer_poly, 0); pcb_poly_remove_excess_points(poly_layer, outer_poly); - InitClip(PCB->Data, poly_layer, outer_poly); + pcb_poly_init_clip(PCB->Data, poly_layer, outer_poly); DrawPolygon(poly_layer, outer_poly); pcb_draw();