Index: obj_arc.c =================================================================== --- obj_arc.c (revision 30969) +++ obj_arc.c (revision 30970) @@ -100,13 +100,13 @@ } /* computes the bounding box of an arc */ -static rnd_box_t pcb_arc_bbox_(const pcb_arc_t *Arc, int mini) +static rnd_rnd_box_t pcb_arc_bbox_(const pcb_arc_t *Arc, int mini) { double ca1, ca2, sa1, sa2; double minx, maxx, miny, maxy, delta; - pcb_angle_t ang1, ang2; + rnd_angle_t ang1, ang2; rnd_coord_t width; - rnd_box_t res; + rnd_rnd_box_t res; /* first put angles into standard form: * ang1 < ang2, both angles between 0 and 720 */ @@ -182,7 +182,7 @@ } -void pcb_arc_set_angles(pcb_layer_t *Layer, pcb_arc_t *a, pcb_angle_t new_sa, pcb_angle_t new_da) +void pcb_arc_set_angles(pcb_layer_t *Layer, pcb_arc_t *a, rnd_angle_t new_sa, rnd_angle_t new_da) { if (new_da >= 360) { new_da = 360; @@ -189,12 +189,12 @@ new_sa = 0; } pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, a); - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) a); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) a); pcb_undo_add_obj_to_change_angles(PCB_OBJ_ARC, a, a, a); a->StartAngle = new_sa; a->Delta = new_da; pcb_arc_bbox(a); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) a); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) a); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, a); } @@ -202,25 +202,25 @@ void pcb_arc_set_radii(pcb_layer_t *Layer, pcb_arc_t *a, rnd_coord_t new_width, rnd_coord_t new_height) { pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, a); - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) a); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) a); pcb_undo_add_obj_to_change_radii(PCB_OBJ_ARC, a, a, a); a->Width = new_width; a->Height = new_height; pcb_arc_bbox(a); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) a); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) a); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, a); } /* creates a new arc on a layer */ -pcb_arc_t *pcb_arc_new(pcb_layer_t *Layer, rnd_coord_t X1, rnd_coord_t Y1, rnd_coord_t width, rnd_coord_t height, pcb_angle_t sa, pcb_angle_t dir, rnd_coord_t Thickness, rnd_coord_t Clearance, pcb_flag_t Flags, rnd_bool prevent_dups) +pcb_arc_t *pcb_arc_new(pcb_layer_t *Layer, rnd_coord_t X1, rnd_coord_t Y1, rnd_coord_t width, rnd_coord_t height, rnd_angle_t sa, rnd_angle_t dir, rnd_coord_t Thickness, rnd_coord_t Clearance, pcb_flag_t Flags, rnd_bool prevent_dups) { pcb_arc_t *Arc; if ((prevent_dups) && (Layer->arc_tree != NULL)) { - pcb_rtree_it_t it; + rnd_rtree_it_t it; pcb_any_obj_t *o; - rnd_box_t b; + rnd_rnd_box_t b; b.X1 = X1 - width; b.Y1 = Y1 - height; @@ -227,7 +227,7 @@ b.X2 = X1 + width; b.Y2 = Y1 + height; - for(o = pcb_rtree_first(&it, Layer->arc_tree, (pcb_rtree_box_t *)&b); o != NULL; o = pcb_rtree_next(&it)) { + for(o = rnd_rtree_first(&it, Layer->arc_tree, (rnd_rtree_box_t *)&b); o != NULL; o = rnd_rtree_next(&it)) { pcb_arc_t *arc = (pcb_arc_t *)o; TODO(": this does not catch all cases; there are more ways two arcs can be the same because of the angles") if (arc->X == X1 && arc->Y == Y1 && arc->Width == width && pcb_normalize_angle(arc->StartAngle) == pcb_normalize_angle(sa) && arc->Delta == dir) @@ -281,7 +281,7 @@ pcb_arc_bbox(Arc); if (!Layer->arc_tree) Layer->arc_tree = pcb_r_create_tree(); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); Arc->type = PCB_OBJ_ARC; PCB_SET_PARENT(Arc, layer, Layer); } @@ -291,7 +291,7 @@ void pcb_arc_free(pcb_arc_t *arc) { if ((arc->parent.layer != NULL) && (arc->parent.layer->arc_tree != NULL)) - pcb_r_delete_entry(arc->parent.layer->arc_tree, (rnd_box_t *)arc); + pcb_r_delete_entry(arc->parent.layer->arc_tree, (rnd_rnd_box_t *)arc); rnd_attribute_free(&arc->Attributes); pcb_arc_unreg(arc); pcb_obj_common_free((pcb_any_obj_t *)arc); @@ -351,7 +351,7 @@ + (double)arc->Thickness * (double)arc->Thickness * (double)M_PI); /* cap circles */ } -rnd_box_t pcb_arc_mini_bbox(const pcb_arc_t *arc) +rnd_rnd_box_t pcb_arc_mini_bbox(const pcb_arc_t *arc) { return pcb_arc_bbox_(arc, 1); } @@ -362,7 +362,7 @@ if (ly == NULL) return; if (ly->arc_tree != NULL) - pcb_r_delete_entry(ly->arc_tree, (rnd_box_t *)arc); + pcb_r_delete_entry(ly->arc_tree, (rnd_rnd_box_t *)arc); pcb_poly_restore_to_poly(ly->parent.data, PCB_OBJ_ARC, ly, arc); } @@ -372,7 +372,7 @@ if (ly == NULL) return; if (ly->arc_tree != NULL) - pcb_r_insert_entry(ly->arc_tree, (rnd_box_t *)arc); + pcb_r_insert_entry(ly->arc_tree, (rnd_rnd_box_t *)arc); pcb_poly_clear_from_poly(ly->parent.data, PCB_OBJ_ARC, ly, arc); } @@ -386,7 +386,7 @@ rnd_coord_t Thickness, Clearance; rnd_coord_t Width, Height; rnd_coord_t X, Y; - pcb_angle_t StartAngle, Delta; + rnd_angle_t StartAngle, Delta; } undo_arc_geo_t; @@ -396,7 +396,7 @@ pcb_layer_t *layer = g->arc->parent.layer; if (layer->arc_tree != NULL) - pcb_r_delete_entry(layer->arc_tree, (rnd_box_t *)g->arc); + pcb_r_delete_entry(layer->arc_tree, (rnd_rnd_box_t *)g->arc); pcb_poly_restore_to_poly(layer->parent.data, PCB_OBJ_ARC, layer, g->arc); rnd_swap(rnd_coord_t, g->Thickness, g->arc->Thickness); @@ -405,12 +405,12 @@ rnd_swap(rnd_coord_t, g->Height, g->arc->Height); rnd_swap(rnd_coord_t, g->X, g->arc->X); rnd_swap(rnd_coord_t, g->Y, g->arc->Y); - rnd_swap(pcb_angle_t, g->StartAngle, g->arc->StartAngle); - rnd_swap(pcb_angle_t, g->Delta, g->arc->Delta); + rnd_swap(rnd_angle_t, g->StartAngle, g->arc->StartAngle); + rnd_swap(rnd_angle_t, g->Delta, g->arc->Delta); pcb_arc_bbox(g->arc); if (layer->arc_tree != NULL) - pcb_r_insert_entry(layer->arc_tree, (rnd_box_t *)g->arc); + pcb_r_insert_entry(layer->arc_tree, (rnd_rnd_box_t *)g->arc); pcb_poly_clear_from_poly(layer->parent.data, PCB_OBJ_ARC, layer, g->arc); return 0; @@ -466,7 +466,7 @@ } pcb_poly_restore_to_poly(ctx->buffer.src, PCB_OBJ_ARC, srcly, arc); - pcb_r_delete_entry(srcly->arc_tree, (rnd_box_t *) arc); + pcb_r_delete_entry(srcly->arc_tree, (rnd_rnd_box_t *) arc); pcb_arc_unreg(arc); pcb_arc_reg(dstly, arc); @@ -475,7 +475,7 @@ if (!dstly->arc_tree) dstly->arc_tree = pcb_r_create_tree(); - pcb_r_insert_entry(dstly->arc_tree, (rnd_box_t *) arc); + pcb_r_insert_entry(dstly->arc_tree, (rnd_rnd_box_t *) arc); pcb_poly_clear_from_poly(ctx->buffer.dst, PCB_OBJ_ARC, dstly, arc); return arc; @@ -491,11 +491,11 @@ if (value <= PCB_MAX_THICKNESS && value >= PCB_MIN_THICKNESS && value != Arc->Thickness) { pcb_undo_add_obj_to_size(PCB_OBJ_ARC, Layer, Arc, Arc); pcb_arc_invalidate_erase(Arc); - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); Arc->Thickness = value; pcb_arc_bbox(Arc); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); pcb_arc_invalidate_draw(Layer, Arc); return Arc; @@ -518,11 +518,11 @@ if (value != Arc->Clearance) { pcb_undo_add_obj_to_clear_size(PCB_OBJ_ARC, Layer, Arc, Arc); pcb_arc_invalidate_erase(Arc); - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); Arc->Clearance = value; pcb_arc_bbox(Arc); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); pcb_arc_invalidate_draw(Layer, Arc); return Arc; @@ -555,11 +555,11 @@ if (value != *dst) { pcb_undo_add_obj_to_change_radii(PCB_OBJ_ARC, Layer, Arc, Arc); pcb_arc_invalidate_erase(Arc); - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); *dst = value; pcb_arc_bbox(Arc); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); pcb_arc_invalidate_draw(Layer, Arc); return Arc; @@ -570,7 +570,7 @@ /* changes the angle of an arc (is_primary 0=start or 1=end) */ void *pcb_arcop_change_angle(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_arc_t *Arc) { - pcb_angle_t value, *dst; + rnd_angle_t value, *dst; void *a0, *a1; if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Arc)) @@ -594,11 +594,11 @@ if (value != *dst) { pcb_undo_add_obj_to_change_angles(PCB_OBJ_ARC, Layer, Arc, Arc); pcb_arc_invalidate_erase(Arc); - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); *dst = value; pcb_arc_bbox(Arc); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); pcb_arc_invalidate_draw(Layer, Arc); return Arc; @@ -677,10 +677,10 @@ void *pcb_arcop_move(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_arc_t *Arc) { - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); pcb_arcop_move_noclip(ctx, Layer, Arc); - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); return Arc; } @@ -688,11 +688,11 @@ void *pcb_arcop_clip(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_arc_t *Arc) { if (ctx->clip.restore) { - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); } if (ctx->clip.clear) { - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); } return Arc; @@ -701,7 +701,7 @@ /* moves an arc between layers; lowlevel routines */ void *pcb_arcop_move_to_layer_low(pcb_opctx_t *ctx, pcb_layer_t * Source, pcb_arc_t * arc, pcb_layer_t * Destination) { - pcb_r_delete_entry(Source->arc_tree, (rnd_box_t *) arc); + pcb_r_delete_entry(Source->arc_tree, (rnd_rnd_box_t *) arc); pcb_arc_unreg(arc); pcb_arc_reg(Destination, arc); @@ -708,7 +708,7 @@ if (!Destination->arc_tree) Destination->arc_tree = pcb_r_create_tree(); - pcb_r_insert_entry(Destination->arc_tree, (rnd_box_t *) arc); + pcb_r_insert_entry(Destination->arc_tree, (rnd_rnd_box_t *) arc); return arc; } @@ -741,7 +741,7 @@ /* destroys an arc from a layer */ void *pcb_arcop_destroy(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_arc_t *Arc) { - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_arc_free(Arc); return NULL; @@ -795,14 +795,14 @@ pcb_arc_bbox(Arc); } -void pcb_arc_rotate(pcb_layer_t *layer, pcb_arc_t *arc, rnd_coord_t X, rnd_coord_t Y, double cosa, double sina, pcb_angle_t angle) +void pcb_arc_rotate(pcb_layer_t *layer, pcb_arc_t *arc, rnd_coord_t X, rnd_coord_t Y, double cosa, double sina, rnd_angle_t angle) { if (layer->arc_tree != NULL) - pcb_r_delete_entry(layer->arc_tree, (rnd_box_t *) arc); + pcb_r_delete_entry(layer->arc_tree, (rnd_rnd_box_t *) arc); pcb_rotate(&arc->X, &arc->Y, X, Y, cosa, sina); arc->StartAngle = pcb_normalize_angle(arc->StartAngle + angle); if (layer->arc_tree != NULL) - pcb_r_insert_entry(layer->arc_tree, (rnd_box_t *) arc); + pcb_r_insert_entry(layer->arc_tree, (rnd_rnd_box_t *) arc); } void pcb_arc_mirror(pcb_arc_t *arc, rnd_coord_t y_offs, rnd_bool undoable) @@ -827,13 +827,13 @@ void pcb_arc_flip_side(pcb_layer_t *layer, pcb_arc_t *arc) { - pcb_r_delete_entry(layer->arc_tree, (rnd_box_t *) arc); + pcb_r_delete_entry(layer->arc_tree, (rnd_rnd_box_t *) arc); arc->X = PCB_SWAP_X(arc->X); arc->Y = PCB_SWAP_Y(arc->Y); arc->StartAngle = PCB_SWAP_ANGLE(arc->StartAngle); arc->Delta = PCB_SWAP_DELTA(arc->Delta); pcb_arc_bbox(arc); - pcb_r_insert_entry(layer->arc_tree, (rnd_box_t *) arc); + pcb_r_insert_entry(layer->arc_tree, (rnd_rnd_box_t *) arc); } void pcb_arc_scale(pcb_arc_t *arc, double sx, double sy, double sth) @@ -867,10 +867,10 @@ pcb_arc_invalidate_erase(Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); if (Layer->arc_tree != NULL) - pcb_r_delete_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_delete_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_arc_rotate90(Arc, ctx->rotate.center_x, ctx->rotate.center_y, ctx->rotate.number); if (Layer->arc_tree != NULL) - pcb_r_insert_entry(Layer->arc_tree, (rnd_box_t *) Arc); + pcb_r_insert_entry(Layer->arc_tree, (rnd_rnd_box_t *) Arc); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_ARC, Layer, Arc); pcb_arc_invalidate_draw(Layer, Arc); return Arc; @@ -888,9 +888,9 @@ void *pcb_arc_insert_point(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_arc_t *arc) { - pcb_angle_t end_ang = arc->StartAngle + arc->Delta; + rnd_angle_t end_ang = arc->StartAngle + arc->Delta; rnd_coord_t x = pcb_crosshair.X, y = pcb_crosshair.Y; - pcb_angle_t angle = atan2(-(y - arc->Y), (x - arc->X)) * 180.0 / M_PI + 180.0; + rnd_angle_t angle = atan2(-(y - arc->Y), (x - arc->X)) * 180.0 / M_PI + 180.0; pcb_arc_t *new_arc; if (end_ang > 360.0) @@ -1132,7 +1132,7 @@ pcb_arc_draw_(info, arc, allow_term_gfx); } -pcb_r_dir_t pcb_arc_draw_callback(const rnd_box_t * b, void *cl) +pcb_r_dir_t pcb_arc_draw_callback(const rnd_rnd_box_t * b, void *cl) { pcb_arc_t *arc = (pcb_arc_t *)b; pcb_draw_info_t *info = cl; @@ -1147,7 +1147,7 @@ return PCB_R_DIR_FOUND_CONTINUE; } -pcb_r_dir_t pcb_arc_draw_term_callback(const rnd_box_t * b, void *cl) +pcb_r_dir_t pcb_arc_draw_term_callback(const rnd_rnd_box_t * b, void *cl) { pcb_arc_t *arc = (pcb_arc_t *)b; pcb_draw_info_t *info = cl;