kicad/pcbnew
Jon Evans 9a2950cca1 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

(cherry picked from commit 2a91ba35c1)
2022-06-04 00:04:03 -04:00
..
autorouter Rotate fp zones before comparing with library versions. 2022-03-14 15:53:24 +00:00
board_stackup_manager pcbnew: fix incorrect calculation of the board thickness from board stackup. 2022-02-18 18:09:16 +01:00
connectivity Don't return false when a particular item doesn't connect. 2022-05-23 10:26:18 +01:00
dialogs Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
drc We only want "actual" shapes, not anything derived from SHAPE. 2022-06-04 00:24:27 +01:00
exporters Add arc support to HyperLynx export. 2022-06-01 12:47:37 +01:00
import_gfx Free memory in dxf import sooner on bad_alloc 2022-04-02 09:57:30 -04:00
microwave More wide-string declarations. 2022-02-05 22:26:31 +00:00
navlib Add support for using a SpaceMouse to pan & zoom in the schematic editor. 2022-03-31 19:03:41 +00:00
netlist_reader Replace inserts/push_backs with emplace in some spots 2022-02-05 19:53:31 -05:00
plugins Fix PCAD silk layer for solder-side fp 2022-05-31 13:03:32 -07:00
python Fix swig wrapper for footprint 3d models 2022-06-03 17:35:40 +00:00
ratsnest pcbnew: check for null SETTINGS in RATSNEST_VIEW_ITEM (prevents crash in the P&S debug tool) 2022-03-03 01:02:00 +01:00
router PNS: Use exact hulls for walkaround path generation 2022-06-04 00:04:03 -04:00
specctra_import_export Specctra import/export: fix some issues (tested only with FreeRouter): 2022-03-16 12:31:45 +01:00
teardrop Fix some Coverity issues. 2022-03-25 15:51:05 -04:00
tools Use default text properties for textboxes. 2022-06-03 18:48:09 +01:00
widgets Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards 2022-05-20 12:58:05 +02:00
CMakeLists.txt Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards 2022-05-20 12:58:05 +02:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
action_plugin.h Pcbnew header housekeeping round 1. 2021-06-04 09:08:38 -04:00
array_creator.cpp TextBoxes for PCBNew. 2022-01-31 20:00:47 +00: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 the open array in favor of std containers 2022-03-03 16:03:26 -08:00
board.h Remove broken call to normalize outlines 2022-02-18 09:31:52 -08:00
board_commit.cpp Try Coverity fixes that don't break unit tests. 2022-03-25 16:49:29 -04:00
board_commit.h Make sure Cleanup handles shapes other than segments. 2022-03-02 18:28:39 +00:00
board_connected_item.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
board_connected_item.h More NULL expunging. 2021-07-20 07:27:18 -04:00
board_design_settings.cpp Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
board_item.cpp Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
board_item_container.h Pcbnew: fix missing connectivity update when adding an item. 2022-02-18 13:24:14 +01: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 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
cleanup_item.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
collectors.cpp Fix logic error. Footprint is sometimes the item and sometimes its parent. 2022-03-01 21:18:01 +00:00
collectors.h Add asserts to flush out incorrect uses of GetLayer(). 2022-02-18 12:14:38 +00:00
convert_shape_list_to_polygon.cpp Rotate fp zones before comparing with library versions. 2022-03-14 15:53:24 +00:00
convert_shape_list_to_polygon.h Neurotically update position wxPoint usages 2022-01-01 11:55:51 -05:00
cross-probing.cpp Fix cross-probing in complex hierarchies, remove unused code. 2022-05-09 23:22:03 +03:00
edit.cpp TextBoxes for PCBNew. 2022-01-31 20:00:47 +00:00
edit_track_width.cpp Pcbnew: fix lost of focus after clicking on a wxChoice in toolbar. 2022-03-21 18:10:07 +01:00
edit_zone_helpers.cpp Fix some layer handling issues. 2022-04-23 21:29:46 +01:00
files.cpp Release file before re-loading it for Revert. 2022-04-26 22:28:35 +01:00
footprint.cpp Expose footprint ID, description and keywords to property system. 2022-06-01 12:47:37 +01:00
footprint.h Expose footprint ID, description and keywords to property system. 2022-06-01 12:47:37 +01:00
footprint_edit_frame.cpp Hierarchy: turn into a left side pane 2022-06-02 21:56:17 +00:00
footprint_edit_frame.h ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
footprint_editor_settings.cpp Fix initialisation of default line width settings 2022-04-20 15:57:55 +00:00
footprint_editor_utils.cpp ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
footprint_info_impl.cpp Infobar warning if symbol loading was cancelled. 2022-02-27 17:06:08 +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 ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
footprint_preview_panel.cpp Remove some more duplicated preferences. 2021-12-26 13:37:28 +00:00
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 Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint 2022-04-18 11:15:14 +02:00
footprint_viewer_frame.h Handle list double-click without shortcuts 2022-02-25 16:53:27 -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-05 21:29:34 +00:00
footprint_wizard_frame.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
footprint_wizard_frame.h Flatten out some more preferences. 2021-12-24 15:43:20 +00:00
footprint_wizard_frame_functions.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
fp_shape.cpp Cache read arc data for stability 2022-03-04 15:20:31 -08:00
fp_shape.h Cache read arc data for stability 2022-03-04 15:20:31 -08:00
fp_text.cpp Add font to status bar for text objects. 2022-04-26 18:52:53 +01:00
fp_text.h Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
fp_text_grid_table.cpp Excise deci-degrees from UNIT_BINDER. 2022-01-19 00:10:32 +00:00
fp_text_grid_table.h Add hot-updating of units in common wxGrids. 2021-12-23 16:54:03 +00:00
fp_textbox.cpp Repair point editing of rotated text boxes. 2022-06-02 10:42:57 +01:00
fp_textbox.h Repair point editing of rotated text boxes. 2022-06-02 10:42:57 +01:00
fp_tree_model_adapter.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
fp_tree_model_adapter.h
fp_tree_synchronizing_adapter.cpp ADDED Duplicate Footprint, Rename Symbol and Rename Footprint. 2022-04-22 22:06:51 +01:00
fp_tree_synchronizing_adapter.h
generate_footprint_info.cpp Handle updated document description format 2022-04-15 11:17:01 -07:00
generate_footprint_info.h
graphics_cleaner.cpp Fix some Coverity warnings. 2022-03-06 09:48:33 +01:00
graphics_cleaner.h Make sure Cleanup handles shapes other than segments. 2022-03-02 18:28:39 +00:00
grid_layer_box_helpers.cpp All the preferences, all the time. 2021-12-24 13:08:44 +00:00
grid_layer_box_helpers.h Cleanup. 2021-12-23 20:36:18 +00:00
initpcb.cpp More NULL expunging. 2021-07-20 07:27:18 -04:00
invoke_pcb_dialog.h
io_mgr.cpp altium: Allow extraction of names of footprints stored in *.PcbLib file 2022-01-17 19:51:51 +01:00
io_mgr.h Move GUI queries in PLUGIN to a callback. 2022-02-11 22:09:22 +00:00
kicad_clipboard.cpp Move GUI queries in PLUGIN to a callback. 2022-02-11 22:09:22 +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 ADDED New Library functionality to Footprint/Symbol Save As. 2022-04-19 19:55:30 +01:00
menubar_footprint_editor.cpp Revert "Stop leaking submenu items" 2022-04-10 22:33:43 -04:00
menubar_pcb_editor.cpp REMOVED: PCB Editor Layer Alignment Target 2022-05-26 08:47:02 -04:00
netinfo.h pcbnew: search for nets 2022-03-10 23:12:30 +00:00
netinfo_item.cpp Cleanup. 2022-04-04 20:43:08 +01:00
netinfo_list.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
pad.cpp Fix some issue with NPTH pads with holes same size as pad. 2022-05-06 00:06:00 +01:00
pad.h Show hole clearance lines around NPTH pads. 2022-04-04 10:28:33 +01:00
pad_custom_shape_functions.cpp Handle invalid pads more gracefully 2022-02-02 13:40:07 -08:00
pcb_base_edit_frame.cpp Add automatic precision choices for dimensions. 2022-04-17 20:02:58 +01:00
pcb_base_edit_frame.h Reconcile zone-auto-fill with undo. 2022-02-25 13:05:49 +00:00
pcb_base_frame.cpp Better error reporting for DP uncoupled length. 2022-04-08 11:40:53 +01:00
pcb_dimension.cpp Fix duplicate spaces before units. 2022-05-26 10:54:08 +01:00
pcb_dimension.h Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_draw_panel_gal.cpp Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards 2022-05-20 12:58:05 +02: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 Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
pcb_edit_frame.h Fix code style. 2022-01-28 12:21:42 +00:00
pcb_expr_evaluator.cpp Don't try and use zone fill before it's been calculated. 2022-05-16 15:20:01 +01:00
pcb_expr_evaluator.h Apply a more sophisticated test for ignoring isInCoupledDiffPair. 2022-04-02 15:12:42 +01:00
pcb_group.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
pcb_item_containers.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pcb_layer_box_selector.cpp All the preferences, all the time. 2021-12-24 13:08:44 +00:00
pcb_layer_box_selector.h Cleanup. 2021-12-23 20:36:18 +00:00
pcb_marker.cpp Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_marker.h Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_origin_transforms.cpp Remove some more duplicated preferences. 2021-12-26 13:37:28 +00:00
pcb_origin_transforms.h Remove some more duplicated preferences. 2021-12-26 13:37:28 +00:00
pcb_painter.cpp Take text height into account as well as thickness for knockout margin. 2022-05-20 12:29:01 +01:00
pcb_painter.h Improve SNR. 2022-02-12 18:38:11 +00:00
pcb_plot_params.cpp Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pcb_plot_params.h Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pcb_plot_params_parser.h Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pcb_screen.cpp Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcb_shape.cpp We only want "actual" shapes, not anything derived from SHAPE. 2022-06-04 00:24:27 +01:00
pcb_shape.h Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_target.cpp Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_target.h Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_text.cpp Add font to status bar for text objects. 2022-04-26 18:52:53 +01:00
pcb_text.h Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_textbox.cpp Repair point editing of rotated text boxes. 2022-06-02 10:42:57 +01:00
pcb_textbox.h Repair point editing of rotated text boxes. 2022-06-02 10:42:57 +01:00
pcb_track.cpp Don't use zone connections to control optional via flashing. 2022-05-23 10:26:52 +01:00
pcb_track.h Separate flashing check for connectivity 2022-03-16 17:30:01 -07:00
pcb_view.cpp Flatten out some more preferences. 2021-12-24 15:43:20 +00:00
pcb_view.h Rename layer ids file. 2021-07-29 16:03:25 +01:00
pcbnew.cpp More wxString wide literals. 2022-02-05 21:29:34 +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 Remove some more duplicated preferences. 2021-12-26 13:37:28 +00:00
pcbnew_config.h
pcbnew_doc.icns Add drop shadows to MacOS icons 2021-07-30 20:55:34 -07:00
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_printout.cpp All via pad layers need checking for copper. 2022-04-26 20:54:31 +01:00
pcbnew_printout.h Prefix TRACK, ARC and VIA. 2021-06-11 22:07:02 +01:00
pcbnew_settings.cpp Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint 2022-04-18 11:15:14 +02:00
pcbnew_settings.h Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint 2022-04-18 11:15:14 +02:00
pcbplot.cpp ${SHEETNAME} represents the sheet name + introduce ${SHEETPATH} 2022-04-09 15:45:58 +01:00
pcbplot.h ${SHEETNAME} represents the sheet name + introduce ${SHEETPATH} 2022-04-09 15:45:58 +01:00
plot_board_layers.cpp ${SHEETNAME} represents the sheet name + introduce ${SHEETPATH} 2022-04-09 15:45:58 +01:00
plot_brditems_plotter.cpp Take text height into account as well as thickness for knockout margin. 2022-05-20 12:29:01 +01:00
plotcontroller.h ${SHEETNAME} represents the sheet name + introduce ${SHEETPATH} 2022-04-09 15:45:58 +01:00
plugin.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
sel_layer.cpp More wxString wide literals. 2022-02-05 21:29:34 +00:00
toolbars_footprint_editor.cpp Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
toolbars_footprint_viewer.cpp Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint 2022-04-18 11:15:14 +02:00
toolbars_pcb_editor.cpp Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
tracks_cleaner.cpp Improve Cleanup Tracks and Vias messages. 2022-04-23 21:04:43 +01: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 Remove TEDIT 2022-03-01 00:25:44 +00:00
zone.cpp Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
zone.h Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
zone_filler.cpp Take text height into account as well as thickness for knockout margin. 2022-05-20 12:29:01 +01:00
zone_filler.h Support text knockouts in non-copper zones. 2022-03-08 18:06:41 +00:00
zone_settings.cpp Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
zone_settings.h Move H/V/45 mode from zone properties to toolbar. 2022-05-29 21:30:15 +01:00
zones.h DIALOG_COPPER_ZONE: add option to set the pitch of hatches around the zone outlines 2022-02-12 18:57:02 +01:00
zones_functions_for_undo_redo.cpp Implement two-staged zone priority: assigned priority followed by UUID. 2022-03-01 14:53:35 +00:00
zones_functions_for_undo_redo.h Cleanup. 2021-12-23 20:36:18 +00:00