pcb 4.1.1
An interactive printed circuit board layout editor.
|
Functions for handling the teardrop property of pins and vias. More...
#include <stdio.h>
#include <math.h>
#include "config.h"
#include "global.h"
#include "data.h"
#include "hid.h"
#include "misc.h"
#include "create.h"
#include "rtree.h"
#include "undo.h"
Go to the source code of this file.
Defines | |
#define | MIN_LINE_LENGTH 700 |
#define | MAX_DISTANCE 700 |
Functions | |
int | distance_between_points (int x1, int y1, int x2, int y2) |
static int | check_line_callback (const BoxType *box, void *cl) |
static void | check_pin (PinType *_pin) |
static int | teardrops (int argc, char **argv, Coord x, Coord y) |
void | hid_teardrops_init () |
Variables | |
static PinType * | pin |
static int | layer |
static int | px |
static int | py |
static LayerType * | silk |
static int | new_arcs = 0 |
static HID_Action | teardrops_action_list [] |
Functions for handling the teardrop property of pins and vias.
PCB, interactive printed circuit board design
Copyright (C) 2006 DJ Delorie <dj@delorie.com>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Definition in file teardrops.c.
#define MAX_DISTANCE 700 |
Definition at line 42 of file teardrops.c.
Referenced by check_line_callback().
#define MIN_LINE_LENGTH 700 |
Definition at line 41 of file teardrops.c.
Referenced by check_line_callback().
static int check_line_callback | ( | const BoxType * | box, |
void * | cl | ||
) | [static] |
Definition at line 64 of file teardrops.c.
References AddObjectToCreateUndoList(), c, CreateNewArcOnLayer(), PCBType::Data, distance_between_points(), layer, DataType::Layer, len, M_PI, MAX_DISTANCE, MIN_LINE_LENGTH, new_arcs, PCB, px, py, pin_st::Thickness, vx, vy, and x.
Referenced by check_pin().
static void check_pin | ( | PinType * | _pin | ) | [static] |
Definition at line 192 of file teardrops.c.
References check_line_callback(), PCBType::Data, DataType::Layer, layer, LayerType::line_tree, max_copper_layer, PCB, px, py, r_search(), pin_st::X, BoxType::X1, BoxType::X2, pin_st::Y, BoxType::Y1, and BoxType::Y2.
Referenced by teardrops().
int distance_between_points | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2 | ||
) |
Definition at line 52 of file teardrops.c.
Referenced by check_line_callback().
void hid_teardrops_init | ( | ) |
Definition at line 290 of file teardrops.c.
Definition at line 256 of file teardrops.c.
References ALLPIN_LOOP, check_pin(), PCBType::Data, END_LOOP, ENDALL_LOOP, gui, IncrementUndoSerialNumber(), hid_st::invalidate_all, new_arcs, PCB, and VIA_LOOP.
int layer [static] |
Definition at line 45 of file teardrops.c.
Referenced by ActionAttributes(), ActionDJopt(), ActionMinClearGap(), ActionMorphPolygon(), ActionRipUp(), ActionSetSame(), AddArcToBuffer(), AddLineToBuffer(), AddPolygon(), AddPolygonToBuffer(), AddTextToBuffer(), arc_callback(), AssignDefaultLayerTypes(), ChangeGroupVisibility(), check_line_callback(), check_pin(), CheckArcPointForRubberbandConnection(), CheckLinePointForRubberbandConnection(), CheckPadForRubberbandConnection(), CheckPolygonForRubberbandConnection(), choose_example_line(), ClearFlagOnLinesAndPolygons(), clearPoly(), config_layer_groups_radio_button_cb(), config_layers_apply(), connect_corners(), ConvertBufferToElement(), CreateRouteData(), DrawNewConnections(), DrawRecoveredObject(), DrawSilk(), drc_lines(), DRCAll(), eps_hid_export_to_file(), export_oproutes(), FitCrosshairIntoGrid(), FreeDataMemory(), FreeRotateBuffer(), GatherSubnets(), gcode_choose_groups(), gerber_do_export(), ghid_config_groups_changed(), ghid_layer_buttons_update(), gsvit_choose_groups(), gsvit_lookup_net_from_arc(), gsvit_lookup_net_from_line(), gsvit_lookup_net_from_polygon(), identify_layer(), import_geometry(), InitLayoutLookup(), IronDownAllUnfixedPaths(), layer_button_callback(), layer_name_entry_cb(), layer_selector_rename_callback(), LayerGroupsToString(), layerpick_button_callback(), lgbutton_cb(), lgbutton_input(), line_callback(), ListStart(), LookupLOConnectionsToArc(), LookupLOConnectionsToLine(), LookupLOConnectionsToLOList(), LookupLOConnectionsToPad(), LookupLOConnectionsToPolygon(), LookupLOConnectionsToPVList(), LookupLOConnectionsToRatEnd(), LookupPVConnectionsToLOList(), LookupRatLines(), LookupRubberbandLines(), make_layer_group_string(), MirrorBuffer(), move_line_to_layer(), MoveLayerToGroup(), nbcb_ripup(), nelma_choose_groups(), netlist_rip_up_cb(), new_line(), orthopull_1(), parse_arguments(), ParseGroupString(), PlowsPolygon(), png_hid_export_to_file(), PrepareNextLoop(), PrintElementConnections(), PrintFab(), ps_hid_export_to_file(), RD_DrawLine(), RD_DrawThermal(), reassign_no_drc_flags(), remove_line(), ReportDialog(), ripout_livedraw_obj(), RotateBuffer(), SearchLayerByName(), SearchObjectByID(), SelectBlock(), SelectByFlag(), SelectedOperation(), SelectObject(), set_layer_list(), SwapBuffer(), text_callback(), toporouter_bbox_create(), toporouter_bbox_create_from_points(), UndoInsertPoint(), UndoRemovePoint(), ViaIsOnAnyVisibleLayer(), ViaIsOnLayerGroup(), and XORDrawBuffer().
int new_arcs = 0 [static] |
Definition at line 49 of file teardrops.c.
Referenced by check_line_callback(), and teardrops().
Definition at line 44 of file teardrops.c.
Referenced by ActionChangePinName(), ActionDisplay(), ActionDJopt(), ActionMinClearGap(), ActionMinMaskGap(), ActionRenumber(), AddPin(), apply_vendor_map(), ChangeElement2ndSize(), ChangeElementOctagon(), ChangeElementSquare(), check_point_in_pin(), CheckShorts(), ClearFlagOnPinsViasAndPads(), clearPin_callback(), ClearWarnings(), ClrElementOctagon(), ClrElementSquare(), ComputeCost(), CopyElementLowLevel(), CreateNewPin(), CreateRouteData(), DestroyElement(), draw_element_pins_and_pads(), DrawElementPinsAndPads(), drc_callback(), DRCAll(), element_name_for(), ElementOrientation(), EraseElementPinsAndPads(), FillDrill(), find_pair_pinarc_callback(), find_pair_pinline_callback(), find_pairs(), FindPad(), FitCrosshairIntoGrid(), fpin_rect(), FreeElementMemory(), FreeRotateElementLowLevel(), GetDrillInfo(), GetDrillPinMemory(), gsvit_build_net_from_selected(), gsvit_lookup_net_from_pv(), gsvit_write_xcentroids(), gsvit_write_xnets(), hole_counting_callback(), import_clusters(), InitializeDrill(), IPCD356_Netlist(), IPCD356_WriteNet(), IronDownAllUnfixedPaths(), LocateError(), LookupRatLines(), LookupRubberbandLines(), MirrorElementCoordinates(), move_all_thermals(), MoveElementLowLevel(), MoveElementToBuffer(), mptl_pin_callback(), nelma_write_layer(), nelma_write_nets(), nelma_write_objects(), Netlist(), netlist_add(), netnode_browse(), node_selection_changed_cb(), NotifyMode(), pin_sub_callback(), pinorvia_callback(), pinout_set_data(), pinsnap(), PlowsPolygon(), PrintAndSelectUnusedPinsAndPadsOfElement(), PrintBOM(), PrintElementConnections(), ProcNetlist(), pv_pv_callback(), r_delete_element(), read_points(), ReportAllNetLengths(), ReportDialog(), ReportFoundPins(), ReportNetLength(), ResetVisitPinsViasAndPads(), RotateElementLowLevel(), RouteOne(), SearchObjectByID(), SelectBlock(), SelectByFlag(), SelectedOperation(), SelectObject(), SetElementBoundingBox(), SetElementOctagon(), SetElementSquare(), SmashBufferElement(), SwapBuffer(), toporouter_draw_vertex(), UndoFlag(), vertex_net_thickness(), WriteElementData(), and XORDrawElement().
int px [static] |
Definition at line 46 of file teardrops.c.
Referenced by check_line_callback(), check_pin(), free_rotate(), nelma_write_object(), oproute_rubberband_segment(), and penalty3().
int py |
Definition at line 46 of file teardrops.c.
Referenced by check_line_callback(), check_pin(), free_rotate(), nelma_write_object(), oproute_rubberband_segment(), and penalty3().
Definition at line 47 of file teardrops.c.
Referenced by png_do_export().
HID_Action teardrops_action_list[] [static] |
{ {"Teardrops", NULL, teardrops, NULL, NULL} }
Definition at line 282 of file teardrops.c.