kicad/pcbnew
Jon Evans 2a91ba35c1 PNS: Use exact hulls for walkaround path generation
When we generate hulls, by default we subtract the clearance epsilon
to prevent false collisions in the router that wouldn't be flagged
by DRC.  However, we need to use the actual hull with no epsilon
when generating hulls for pathfinding in the walkaround system.

Without this change, it is possible for the walkaround to generate
a valid-seeming path that results in a DRC violation, for example
when dragging a drag against a board edge.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10536
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11365
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
2022-06-03 17:39:22 -04:00
..
autorouter Avoid potential divide by zero in footprint spreading PVS V609 2022-02-05 18:31:00 +00:00
board_stackup_manager pcbnew: fix incorrect calculation of the board thickness from board stackup. 2022-02-18 18:10:49 +01:00
connectivity Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
dialogs Remove special-case processing of ${REFERENCE} and ${VALUE}. 2022-05-09 12:05:51 +01:00
drc DP tolerance needs to be 1IU on each axis 2022-04-11 16:55:54 -07:00
exporters Make use of board stackup data when exporting VRML. 2022-05-31 23:21:43 +01:00
import_gfx Free memory in dxf import sooner on bad_alloc 2022-04-02 13:58:35 +00:00
microwave More wide-string declarations. 2022-02-05 13:29:00 +00:00
netlist_reader Use wxEmptyString instead of wxT( "" ) 2022-02-09 10:33:52 -08:00
plugins Eagle octagonal pads are regular (~29% chamfered). 2022-05-31 23:21:43 +01:00
python Python, board.i: fix incorrect order of an include. 2022-03-20 18:47:14 +01:00
ratsnest Fix broken refactor from 0e65fe5 2021-12-07 12:38:05 -08:00
router PNS: Use exact hulls for walkaround path generation 2022-06-03 17:39:22 -04:00
specctra_import_export Specctra import/export: fix some issues (tested only with FreeRouter): 2022-03-20 19:05:23 +01:00
tools Fix zone merge intersection algorithm. 2022-05-31 23:21:43 +01:00
widgets Make sure that we have a visible layer 2022-05-16 15:24:22 -07:00
CMakeLists.txt Make use of board stackup data when exporting VRML. 2022-05-31 23:21:43 +01:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
action_plugin.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
array_creator.cpp Array creator tool: Add option to assign unique reference designators 2021-10-25 22:38:49 +01:00
array_creator.h Array creator tool: Add option to assign unique reference designators 2021-10-25 22:38:49 +01:00
array_pad_number_provider.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
array_pad_number_provider.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
board.cpp Remove broken call to normalize outlines 2022-02-18 09:30:26 -08:00
board.h Remove broken call to normalize outlines 2022-02-18 09:30:26 -08:00
board_commit.cpp Make sure Cleanup handles shapes other than segments. 2022-03-02 15:26:02 +00:00
board_commit.h Make sure Cleanup handles shapes other than segments. 2022-03-02 15:26:02 +00:00
board_connected_item.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
board_connected_item.h More NULL expunging. 2021-07-20 07:27:18 -04:00
board_design_settings.cpp Copy Pad_Master when copying BOARD_DESIGN_SETTINGS. 2022-02-25 10:40:05 +00:00
board_item.cpp Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
board_item_container.h
build_BOM_from_board.cpp Pcbnew: honor footprint exclude from BOM setting. 2022-01-09 11:30:06 -05:00
cleanup_item.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
cleanup_item.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
collectors.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
collectors.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
convert_shape_list_to_polygon.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
convert_shape_list_to_polygon.h Push most of PCB_SHAPE impl down in to EDA_SHAPE. 2021-10-15 12:45:43 +01:00
cross-probing.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
edit.cpp Update call signature for SwitchLayer 2021-12-09 10:14:11 -08:00
edit_track_width.cpp Pcbnew: fix lost of focus after clicking on a wxChoice in toolbar. 2022-05-05 11:54:47 +02:00
edit_zone_helpers.cpp Connectivity rebuild must be done after commit push. 2022-02-25 23:15:44 +00:00
files.cpp Move temp save files to temporary directory 2022-03-08 10:05:04 -08:00
footprint.cpp Clean up pad handling in 3D viewer. 2022-04-03 15:51:33 +01:00
footprint.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
footprint_edit_frame.cpp Update Selection Filter title bar with language changes. 2022-05-09 00:36:27 +01:00
footprint_edit_frame.h Use wxEmptyString instead of wxT( "" ) 2022-02-09 10:33:52 -08:00
footprint_editor_settings.cpp Use wxEmptyString instead of wxT( "" ) 2022-02-09 10:33:52 -08:00
footprint_editor_utils.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
footprint_info_impl.cpp Infobar warning if symbol loading was cancelled. 2022-02-27 18:20:25 +00:00
footprint_info_impl.h Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
footprint_libraries_utils.cpp Freeze TEDIT in place 2022-03-01 15:53:07 -08:00
footprint_preview_panel.cpp
footprint_preview_panel.h Kill the last of wx/wx.h in headers 2021-06-07 17:59:20 -04:00
footprint_tree_pane.cpp Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
footprint_tree_pane.h
footprint_viewer_frame.cpp Handle list double-click without shortcuts 2022-02-25 16:53:03 -08:00
footprint_viewer_frame.h Handle list double-click without shortcuts 2022-02-25 16:53:03 -08:00
footprint_wizard.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
footprint_wizard.h More wxString wide literals. 2022-02-04 23:12:09 +00:00
footprint_wizard_frame.cpp Use wxEmptyString instead of wxT( "" ) 2022-02-09 10:33:52 -08:00
footprint_wizard_frame.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
footprint_wizard_frame_functions.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
fp_shape.cpp Cache read arc data for stability 2022-03-08 10:33:49 -08:00
fp_shape.h Cache read arc data for stability 2022-03-08 10:33:49 -08:00
fp_text.cpp Text BB is already rotated, don't re-do 2022-05-31 13:46:16 -07:00
fp_text.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
fp_text_grid_table.cpp Add hot-updating of units in common wxGrids. 2021-12-23 17:01:34 +00:00
fp_text_grid_table.h Add hot-updating of units in common wxGrids. 2021-12-23 17:01:34 +00:00
fp_tree_model_adapter.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
fp_tree_model_adapter.h
fp_tree_synchronizing_adapter.cpp Infobar warning if symbol loading was cancelled. 2022-02-27 18:20:25 +00:00
fp_tree_synchronizing_adapter.h
generate_footprint_info.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
generate_footprint_info.h
graphics_cleaner.cpp Make sure Cleanup handles shapes other than segments. 2022-03-02 15:26:02 +00:00
graphics_cleaner.h Make sure Cleanup handles shapes other than segments. 2022-03-02 15:26:02 +00:00
grid_layer_box_helpers.cpp Typo fix: Correct 'allow to' -> 'allows one to' 2021-04-03 13:39:50 +00:00
grid_layer_box_helpers.h
initpcb.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
invoke_pcb_dialog.h
io_mgr.cpp Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
io_mgr.h Formatting and include cleanup. 2021-06-25 17:48:15 +01:00
kicad_clipboard.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
kicad_clipboard.h Kicad has many plugins. This one is for the pcb. 2021-11-25 12:56:46 +00:00
load_select_footprint.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
menubar_footprint_editor.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
menubar_pcb_editor.cpp Ensure "Open Recent" and "Clear files" menu titles are updated after language change. 2022-04-14 15:06:17 +02:00
netinfo.h More wxString wide literals. 2022-02-04 23:12:09 +00:00
netinfo_item.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
netinfo_list.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
pad.cpp UNDEFINED_LAYER is always flashed 2022-04-04 12:25:55 -07:00
pad.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pad_custom_shape_functions.cpp Handle invalid pads more gracefully 2022-02-02 13:36:24 -08:00
pcb_base_edit_frame.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
pcb_base_edit_frame.h Use progress reporting in more places when loading a board 2021-11-25 11:19:03 -05:00
pcb_base_frame.cpp Hand cherry-pick of fix from master. 2022-05-09 00:36:27 +01:00
pcb_dimension.cpp Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_dimension.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_display_options.cpp Impleent persistence for no-connect pad setting. 2021-09-01 00:00:12 +01:00
pcb_draw_panel_gal.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
pcb_draw_panel_gal.h Use progress reporting in more places when loading a board 2021-11-25 11:19:03 -05:00
pcb_edit_frame.cpp Update Selection Filter title bar with language changes. 2022-05-09 00:36:27 +01:00
pcb_edit_frame.h Update call signature for SwitchLayer 2021-12-09 10:14:11 -08:00
pcb_expr_evaluator.cpp Apply a more sophisticated test for ignoring isInCoupledDiffPair. 2022-04-03 18:23:41 +01:00
pcb_expr_evaluator.h Apply a more sophisticated test for ignoring isInCoupledDiffPair. 2022-04-03 18:23:41 +01:00
pcb_group.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
pcb_item_containers.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pcb_layer_box_selector.cpp Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcb_layer_box_selector.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
pcb_marker.cpp Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_marker.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_origin_transforms.cpp
pcb_origin_transforms.h
pcb_painter.cpp Reimplementation of 513486b0ec. 2022-03-03 23:29:22 +00:00
pcb_painter.h Use board's maxError value when possible. 2021-09-07 00:14:18 +01:00
pcb_plot_params.cpp Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
pcb_plot_params.h Move plotter headers into include folder. 2021-08-18 16:38:31 -04:00
pcb_plot_params_parser.h
pcb_screen.cpp Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcb_shape.cpp Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_shape.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_target.cpp Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_target.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_text.cpp Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_text.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_track.cpp Sync via/pad flashing for null boards 2022-04-15 11:39:18 -07:00
pcb_track.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
pcb_view.cpp
pcb_view.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcbnew.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
pcbnew.h Add Python Tool to pcbnew 2021-06-01 20:18:24 +00:00
pcbnew.icns Add drop shadows to MacOS icons 2021-07-30 20:55:34 -07:00
pcbnew_config.cpp Normalize drawing sheet path to env vars & prj, not just prj. 2021-10-02 23:39:45 +01:00
pcbnew_config.h
pcbnew_doc.icns Add drop shadows to MacOS icons 2021-07-30 20:55:34 -07:00
pcbnew_id.h Add Python Tool to pcbnew 2021-06-01 20:18:24 +00:00
pcbnew_printout.cpp All via pad layers need checking for copper. 2022-05-09 00:36:27 +01:00
pcbnew_printout.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pcbnew_settings.cpp pcbnew print: minor fix: option edge.cut on all layers not stored. Fixes #10046 https://gitlab.com/kicad/code/kicad/issues/10046 2021-12-23 18:36:42 +01:00
pcbnew_settings.h pcbnew print: minor fix: option edge.cut on all layers not stored. Fixes #10046 https://gitlab.com/kicad/code/kicad/issues/10046 2021-12-23 18:36:42 +01:00
pcbplot.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
pcbplot.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
plot_board_layers.cpp plot_board_layers.cpp: Add missing layers (USer_x) in list 2022-03-08 14:44:53 +01:00
plot_brditems_plotter.cpp Gerber plotter: fix broken plot of SHAPE_LINE_CHAIN with arcs. 2022-02-28 18:26:26 +01:00
plotcontroller.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
plugin.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
sel_layer.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
toolbars_footprint_editor.cpp Add missing view controls for FP Editor Appearance Manager. 2021-10-31 16:33:03 +00:00
toolbars_footprint_viewer.cpp Remove vestiges of old zoom-auto architecture. 2021-09-19 18:32:15 +01:00
toolbars_pcb_editor.cpp More wxString wide literals. 2022-02-04 23:12:09 +00:00
tracks_cleaner.cpp Improved performance for Cleanup Tracks & Vias. 2022-03-18 12:50:09 -07:00
tracks_cleaner.h Improved performance for Cleanup Tracks & Vias. 2022-03-18 12:50:09 -07:00
undo_redo.cpp Freeze TEDIT in place 2022-03-01 15:53:07 -08:00
zone.cpp Finally found the intermittant QA crash 2022-05-06 11:53:49 -07:00
zone.h Separate flashing check for connectivity 2022-03-21 08:37:53 -07:00
zone_filler.cpp A better blob vs web detector. 2022-04-12 13:24:34 +01:00
zone_filler.h Decouple PROGRESS_REPORTER interface from implementations. 2021-08-14 21:05:49 +01:00
zone_settings.cpp Allow Rule Areas on all physical layers. 2022-02-20 01:03:08 +00:00
zone_settings.h Allow Rule Areas on all physical layers. 2022-02-20 01:03:08 +00:00
zones.h
zones_functions_for_undo_redo.cpp Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
zones_functions_for_undo_redo.h