kicad/pcbnew
Jeff Young 8a0c225efa Unify most special-case processing to the clearance if-then-else.
This also allows us to support hole-to-hole clearance when dragging
a via near another via on the same net.

Fixes https://gitlab.com/kicad/code/kicad/issues/12781
2023-04-11 15:51:00 +01:00
..
autorouter Turn on and fix MSVC compliance mode issues 2023-02-12 16:30:37 -05:00
board_stackup_manager PANEL_BOARD_STACKUP: Ensure UI is re-linked to storage when importing 2023-02-10 12:58:04 -05:00
connectivity Remove unused container header 2023-04-06 15:01:18 +01:00
dialogs Sch->PCB: propagate DNP from symbols to footprints attributes 2023-04-10 13:11:21 -04:00
drc drc_test_provider_library_parity: fix false positive. 2023-04-05 18:25:19 +02:00
exporters Retire Local/Draw coords distinction from PAD (the last object to have it). 2023-04-02 18:02:41 +01:00
import_gfx Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
microwave Retire Local/Draw coords distinction from PAD (the last object to have it). 2023-04-02 18:02:41 +01:00
navlib Move Spacemouse to advanced config 2023-04-07 10:08:43 -07:00
netlist_reader Sch->PCB: propagate DNP from symbols to footprints attributes 2023-04-10 13:11:21 -04:00
plugins Sch->PCB: propagate DNP from symbols to footprints attributes 2023-04-10 13:11:21 -04:00
python Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
ratsnest Defenses in depth for ratsnest drawing. 2023-03-14 11:53:16 +00:00
router Unify most special-case processing to the clearance if-then-else. 2023-04-11 15:51:00 +01:00
specctra_import_export Retire Local/Draw coords distinction from PAD (the last object to have it). 2023-04-02 18:02:41 +01:00
teardrop Footprint viewer: ensure the footprint is updated after new library selection 2023-03-29 16:53:49 +02:00
tools Use a softer Reset for grid settings. 2023-04-04 17:05:21 +01:00
widgets Retire Local/Draw coords distinction from PAD (the last object to have it). 2023-04-02 18:02:41 +01:00
CMakeLists.txt Revert "Reintroduce constexpr to COLOR4D" 2023-04-06 20:18:31 +01:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
action_plugin.h
array_creator.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h Fix typos in pcbnew sub-directory 2022-06-30 09:39:45 -04:00
board.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
board.h Keep track of single-pad-islands so we can discount spokes to them. 2023-03-25 10:44:46 +00:00
board_commit.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
board_commit.h Propagate nets within non-conflicting clusters immediately. 2023-01-23 16:25:29 +00:00
board_connected_item.cpp Properties: Hide Net Class from GUI 2023-03-26 19:46:00 -04:00
board_connected_item.h 15% rendering optimization in PCB_TRACK::ViewGetLOD. 2023-01-27 18:37:43 +03:00
board_design_settings.cpp Move automatic dimension processing inside PCB_DIMENSION_BASE. 2023-03-05 15:19:06 +00:00
board_item.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
board_item_container.h Fix typos in pcbnew sub-directory 2022-06-30 09:39:45 -04:00
build_BOM_from_board.cpp Schematic: Add CSV export to Symbol Fields Table 2022-05-09 12:02:12 -04:00
cleanup_item.cpp Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
cleanup_item.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
collectors.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
collectors.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
convert_shape_list_to_polygon.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
convert_shape_list_to_polygon.h Refactor poly outline generator to handle multiple outlines. 2022-10-14 20:32:04 +01:00
cross-probing.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
edit.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
edit_track_width.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
edit_zone_helpers.cpp More safety around ratsnest state. 2022-11-30 13:00:21 +00:00
files.cpp Exercise more caution with user filenames. 2023-03-12 15:52:45 +00:00
footprint.cpp Sch->PCB: propagate DNP from symbols to footprints attributes 2023-04-10 13:11:21 -04:00
footprint.h Sch->PCB: propagate DNP from symbols to footprints attributes 2023-04-10 13:11:21 -04:00
footprint_edit_frame.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
footprint_edit_frame.h Fp editor and Fp viewer: fix missing info on msg panel after loading a fp 2023-01-25 17:47:04 +01:00
footprint_editor_settings.cpp Enable properties panel in footprint editor 2023-02-17 20:35:56 -05:00
footprint_editor_utils.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
footprint_info_impl.cpp Catch IO_ERROR thrown in timestamp gen 2022-11-29 14:09:22 -08:00
footprint_info_impl.h ADDED: Threadpool 2022-06-24 22:59:24 +00:00
footprint_libraries_utils.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
footprint_preview_panel.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
footprint_preview_panel.h Graphical diff for board vs library footprints. 2023-03-10 17:16:40 +00:00
footprint_tree_pane.cpp Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_tree_pane.h Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_viewer_frame.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
footprint_viewer_frame.h Fp editor and Fp viewer: fix missing info on msg panel after loading a fp 2023-01-25 17:47:04 +01:00
footprint_wizard.cpp
footprint_wizard.h More wxString wide literals. 2022-02-05 21:29:34 +00:00
footprint_wizard_frame.cpp Fix static event table derived object definitions. 2023-01-28 14:10:06 -05:00
footprint_wizard_frame.h
footprint_wizard_frame_functions.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
fp_text_grid_table.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
fp_text_grid_table.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
fp_tree_model_adapter.cpp Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
fp_tree_model_adapter.h Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
fp_tree_synchronizing_adapter.cpp PCM: auto reload global libs after dialog is run 2023-02-17 17:24:32 +00:00
fp_tree_synchronizing_adapter.h PCM: auto reload global libs after dialog is run 2023-02-17 17:24:32 +00:00
generate_footprint_info.cpp Handle updated document description format 2022-04-15 11:17:01 -07:00
generate_footprint_info.h
graphics_cleaner.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
graphics_cleaner.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
grid_layer_box_helpers.cpp
grid_layer_box_helpers.h
initpcb.cpp Re-resolve netclasses after assigning netclass to pattern. 2022-11-22 14:54:08 +00:00
invoke_pcb_dialog.h
io_mgr.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
io_mgr.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
kicad_clipboard.cpp Retire Local/Draw coords distinction from PAD (the last object to have it). 2023-04-02 18:02:41 +01:00
kicad_clipboard.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
load_select_footprint.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
menubar_footprint_editor.cpp Add grid reset to place menubar. 2023-02-11 13:20:35 -05:00
menubar_pcb_editor.cpp Graphical diff for schematic vs library symbols. 2023-03-09 18:04:52 +00:00
netinfo.h Fix Doxygen directives in numerous headers 2023-03-24 13:02:13 +00:00
netinfo_item.cpp Fix netnames. 2023-01-27 19:35:41 +03:00
netinfo_list.cpp Coverity fixes and code cleaning. 2023-03-02 09:04:47 -05:00
pad.cpp Centralize NPTH has-annulus processing. 2023-04-08 15:06:49 +01:00
pad.h Centralize NPTH has-annulus processing. 2023-04-08 15:06:49 +01:00
pad_custom_shape_functions.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_base_edit_frame.cpp Update dimension units when opening PCBs in CLI. 2023-03-13 20:26:11 +00:00
pcb_base_edit_frame.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_base_frame.cpp Move Spacemouse to advanced config 2023-04-07 10:08:43 -07:00
pcb_bitmap.cpp Remove superfluous m_status variable 2023-03-24 09:38:39 -07:00
pcb_bitmap.h Fix handling of PPI when loading embedded images 2023-02-14 19:42:06 -05:00
pcb_dimension.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_dimension.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_draw_panel_gal.cpp Locked shadows should not be on overlay 2023-01-27 22:09:42 -05:00
pcb_draw_panel_gal.h
pcb_edit_frame.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
pcb_edit_frame.h Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
pcb_expr_evaluator.cpp Add support for unitless values to PCB_EXPR_EVALUATOR. 2022-11-29 14:24:20 +00:00
pcb_expr_evaluator.h Add support for unitless values to PCB_EXPR_EVALUATOR. 2022-11-29 14:24:20 +00:00
pcb_expr_functions.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_group.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_item_containers.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_layer_box_selector.cpp Improve HiDPI handling of appearance/layer controls 2023-02-22 09:20:36 -05:00
pcb_layer_box_selector.h
pcb_marker.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_marker.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_origin_transforms.cpp Remove bad static_cast. 2022-07-24 23:41:41 +01:00
pcb_origin_transforms.h
pcb_painter.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_painter.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_plot_params.cpp Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
pcb_plot_params.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
pcb_plot_params_parser.h Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pcb_plot_svg.cpp Fix compile warning 2023-01-25 13:53:13 -08:00
pcb_plot_svg.h Hotglue footprint to svg export 2022-12-13 22:50:15 -05:00
pcb_screen.cpp Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pcb_shape.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_shape.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_target.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_target.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_text.cpp Add Keep Upright to properties inspector. 2023-04-10 00:00:54 +01:00
pcb_text.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_textbox.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
pcb_textbox.h Fix Doxygen directives in numerous headers 2023-03-24 13:02:13 +00:00
pcb_track.cpp Coverity fixes and code cleaning. 2023-03-06 07:12:18 -05:00
pcb_track.h Coverity fixes and code cleaning. 2023-03-06 07:12:18 -05:00
pcb_view.cpp
pcb_view.h
pcbnew.cpp Don't pass a FRAME-based UNITS_PROVIDER to a modeless dialog. 2023-04-03 17:18:33 +01:00
pcbnew.h Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
pcbnew.icns
pcbnew_config.cpp Move to requiring explicit action to save project settings 2023-03-04 14:25:07 -05:00
pcbnew_config.h
pcbnew_doc.icns
pcbnew_id.h Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint 2022-04-18 11:15:14 +02:00
pcbnew_jobs_handler.cpp Add option to use drill/place file origin for kicad-cli gerber export 2023-03-21 12:18:14 +00:00
pcbnew_jobs_handler.h Hotglue footprint to svg export 2022-12-13 22:50:15 -05:00
pcbnew_printout.cpp Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
pcbnew_printout.h Commenting and formatting. No functional changes. 2023-03-13 18:29:55 +00:00
pcbnew_settings.cpp Disable auto-refill zones 2023-02-22 20:13:55 -05:00
pcbnew_settings.h ADDED: user-specified gap and linewidth for bounding hull creation. 2023-02-12 23:16:45 +00:00
pcbplot.cpp Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:49:20 -05:00
pcbplot.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
plot_board_layers.cpp Centralize NPTH has-annulus processing. 2023-04-08 15:06:49 +01:00
plot_brditems_plotter.cpp Centralize NPTH has-annulus processing. 2023-04-08 15:06:49 +01:00
plotcontroller.h Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:49:20 -05:00
plotprint_opts.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
plugin.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
sel_layer.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
toolbars_footprint_editor.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
toolbars_footprint_viewer.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
toolbars_pcb_editor.cpp Rollback wxChoice -> wxComboBox changes for now. 2023-04-09 23:00:33 +01:00
tracks_cleaner.cpp Remove superfluous m_status variable 2023-03-24 09:38:39 -07:00
tracks_cleaner.h Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias. 2022-03-18 11:04:53 +00:00
undo_redo.cpp Clear caches before undo operation. 2022-12-02 10:59:48 +00:00
zone.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
zone.h Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
zone_filler.cpp Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
zone_filler.h Fix an edge-case in the spoke genration logic for non-cardinal spokes. 2022-10-01 19:31:47 +01:00
zone_settings.cpp Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zone_settings.h Set new zone priority to unique number 2022-08-24 16:37:57 -07:00
zones.h Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zones_functions_for_undo_redo.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
zones_functions_for_undo_redo.h Formatting and a bit of cleanup. 2022-10-21 18:41:39 +01:00