kicad/pcbnew
Seth Hillbrand 51dc2b109e Handle fully-nested zones
The logic to handle divots needs to account for fully nested, same net
zones.  The process of subtracting led to us considering the inner zone
to be a zone knock-out (negative polygon).  To avoid this, we need to
check if the inner, higher priority zone has any connection to the outer
zone.  If it does not, then we can treat it as an isolated zone without
worrying about divots to the outer zone.

(cherry picked from commit 9146e38af4)
2023-03-09 09:25:20 -08:00
..
autorouter Fail-safety in spreadRectangles. 2023-02-11 16:42:27 +03: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 Fix the CONNECTIVITY_DATA::GetNetItems Python API 2023-03-01 18:49:12 +00:00
dialogs Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
drc Edge connectors shouldn't trigger edge clearance violations. 2023-03-07 12:23:56 +00:00
exporters plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings 2023-03-01 10:45:23 +01:00
import_gfx pcbnew: Fix strokeWidth truncation to integer mm in SVG polygons import 2023-01-31 20:34:25 +00:00
microwave Fix static event table derived object definitions. 2023-01-28 14:10:06 -05: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 Print original netnames properly when reconnecting zones/vias. 2023-02-23 20:30:39 +00:00
plugins Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
python Helper function to allow net.GetNetClassName() 2023-03-09 14:03:02 +00:00
ratsnest Reduce static ratsnest opacity when moving items; tweak colors. 2022-12-07 21:01:56 +03:00
router Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
specctra_import_export specctra export: fix handling of multi-layer zones. 2023-03-07 15:45:28 +01:00
teardrop TEARDROP_MANAGER: fix a corner case that generate a invalid teardrop polygon. 2022-11-26 14:37:20 +01:00
tools Bitmaps are not actually copper 2023-03-06 16:20:44 -08:00
widgets Improve HiDPI handling of appearance/layer controls 2023-03-07 08:49:06 -05:00
CMakeLists.txt pcbnew: move DIALOG_PAD_PROPERTIES_BASE from dialog_pad_properties to its own files. 2023-01-17 09:44:28 +01:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp
action_plugin.h
array_creator.cpp array_creator: Transform item before adding, modify only the first one. 2022-11-19 04:07:35 +05: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 Fixes in build board outlines as polygon and convert_shape_list_to_polygon: 2023-02-28 17:26:28 +01:00
board.h Fixes in build board outlines as polygon and convert_shape_list_to_polygon: 2023-02-28 17:26:28 +01:00
board_commit.cpp Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
board_commit.h Propagate nets within non-conflicting clusters immediately. 2023-01-23 16:25:29 +00:00
board_connected_item.cpp 15% rendering optimization in PCB_TRACK::ViewGetLOD. 2023-01-27 18:37:43 +03:00
board_connected_item.h 15% rendering optimization in PCB_TRACK::ViewGetLOD. 2023-01-27 18:37:43 +03:00
board_design_settings.cpp Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
board_item.cpp AllCuMask() and AllTechMask() are static, they do NOT modify "this". 2023-02-03 15:08:31 +00: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 Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
collectors.h Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
convert_shape_list_to_polygon.cpp Fixes in build board outlines as polygon and convert_shape_list_to_polygon: 2023-02-28 17:26:28 +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 PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
edit.cpp PCB Editor: Add User Background Images 2022-07-14 11:23:23 +00:00
edit_track_width.cpp PCB Editor: prevent scroll wheel on track size opening board settings 2023-01-20 12:13:16 -05:00
edit_zone_helpers.cpp More safety around ratsnest state. 2022-11-30 13:00:21 +00:00
files.cpp Convert additional sprintf to snprintf 2023-01-30 16:22:03 +00:00
footprint.cpp Treat dimensions in fp as text for bbox calculations 2023-02-26 17:59:22 +00:00
footprint.h Allow commas, spaces in pad names for net-ties 2023-01-18 14:45:52 -08:00
footprint_edit_frame.cpp PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05: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 PCB Editor: Locked filter unchecked by default 2023-01-23 11:36:06 +00:00
footprint_editor_utils.cpp PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05: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 FP editor: fix crash when trying to save a footprint after removing its library 2023-01-21 18:18:38 +01:00
footprint_preview_panel.cpp Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
footprint_preview_panel.h Units for footprint preview widgets. 2023-01-02 22:12:26 +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 PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05: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
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
fp_shape.cpp Add support for non-cardianlly-rotated text boxes. 2023-03-02 14:58:44 +00:00
fp_shape.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
fp_text.cpp Pay attention to knockout text when adding to DRC Rtrees. 2023-01-25 18:34:03 +00:00
fp_text.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
fp_text_grid_table.cpp Add unit and eval support to WX_GRIDs. 2022-10-11 23:40:58 +01:00
fp_text_grid_table.h Add unit and eval support to WX_GRIDs. 2022-10-11 23:40:58 +01:00
fp_textbox.cpp Add support for non-cardianlly-rotated text boxes. 2023-03-02 14:58:44 +00:00
fp_textbox.h Add support for non-cardianlly-rotated text boxes. 2023-03-02 14:58:44 +00: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-28 16:48:28 -05:00
fp_tree_synchronizing_adapter.h PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05: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 GRAPHICS_CLEANER: fix bad detection of short Bezier curves that can be cleaned 2022-12-10 18:19:09 +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 Don't leave temp footprints attached to a board. 2023-01-18 00:46:59 +00:00
kicad_clipboard.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
load_select_footprint.cpp Move saving preferences out of the destructor. 2022-11-14 20:01:37 +00:00
menubar_footprint_editor.cpp Never call ReCreateMenuBar inside a menu event handler 2022-12-16 16:37:51 -05:00
menubar_pcb_editor.cpp Small order change for three View menu items 2023-01-22 01:04:17 +00:00
netinfo.h Expose shared_ptr to swig 2023-03-09 14:02:48 +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-04 13:14:59 -05:00
pad.cpp Properties: add some validators for PAD 2023-02-14 21:10:42 -05:00
pad.h Don't write outside of overrides array on pad zone_layer_connections. 2023-02-08 01:32:52 +03:00
pad_custom_shape_functions.cpp Name shortening and line-break reduction. 2022-10-21 18:41:39 +01:00
pcb_base_edit_frame.cpp Move updateUnits functionality to where it can be shared. 2023-01-02 22:12:26 +00:00
pcb_base_edit_frame.h Tighten lifecycle management of parent group pointers. 2022-11-11 17:27:28 +00:00
pcb_base_frame.cpp Nullptr safety. 2023-01-18 01:30:40 +00:00
pcb_bitmap.cpp Bitmaps are not actually copper 2023-03-06 16:20:44 -08:00
pcb_bitmap.h Fix handling of PPI when loading embedded images 2023-02-15 00:42:30 +00:00
pcb_dimension.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_dimension.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05: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 Remove DRC exclusions that no longer have items. 2023-02-13 10:55:07 +00:00
pcb_edit_frame.h Correctly refresh the board after action plugin run and maintain 2023-01-05 14:05:15 -08: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 PNS: Safety for evaluating item nets for rules 2023-02-26 17:57:33 +00:00
pcb_group.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_item_containers.h
pcb_layer_box_selector.cpp Improve HiDPI handling of appearance/layer controls 2023-03-07 08:49:06 -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 Pcbnew: optimize netname and num text size and position display on pad. 2023-02-25 11:08:29 +01:00
pcb_painter.h Dim other pads when in pad edit mode. 2023-01-06 11:13:57 +00: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
pcb_shape.cpp Fix some PCB_SHAPE properties 2023-02-24 01:24:41 +00:00
pcb_shape.h Add support for non-cardianlly-rotated text boxes. 2023-03-02 14:58:44 +00: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 Pay attention to knockout text when adding to DRC Rtrees. 2023-01-25 18:34:03 +00:00
pcb_text.h Pay attention to knockout text when adding to DRC Rtrees. 2023-01-25 18:34:03 +00:00
pcb_textbox.cpp Account for border when calculating text margin for text boxes. 2023-02-13 17:07:42 +00:00
pcb_textbox.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_track.cpp Don't write outside of overrides array on pad zone_layer_connections. 2023-02-08 01:32:52 +03:00
pcb_track.h Don't write outside of overrides array on pad zone_layer_connections. 2023-02-08 01:32:52 +03:00
pcb_view.cpp
pcb_view.h
pcbnew.cpp PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05: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 Store netclass visibility separately from nets 2022-10-01 19:54:13 -04: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 kicad-cli, pcbnew pàlot: honor the color options when ploting pdf files 2023-02-07 20:20:45 +01:00
pcbnew_jobs_handler.h Hotglue footprint to svg export 2022-12-13 22:50:15 -05:00
pcbnew_printout.cpp Print hole walls if in colour (and printing real drill sizes). 2022-11-13 13:18:42 +00:00
pcbnew_printout.h PCBNEW_PRINTOUT: fix incorrect size of holes printed with the "small drill" option 2022-11-12 16:02:24 +01:00
pcbnew_settings.cpp Disable auto-refill zones 2023-02-23 01:16:21 +00:00
pcbnew_settings.h Properties: save and restore splitter position 2022-12-07 21:38:33 -05:00
pcbplot.cpp Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:53:16 -05:00
pcbplot.h Property popups for symbols, labels, sheets, and footprints in PDF. 2022-09-06 13:59:52 +01:00
plot_board_layers.cpp Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
plot_brditems_plotter.cpp plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings 2023-03-01 10:45:23 +01:00
plotcontroller.h Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:53:16 -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
toolbars_footprint_editor.cpp Expose changing arc edit mode in arc button context menu and Preferences 2022-12-05 21:28:16 +03:00
toolbars_footprint_viewer.cpp Never call ReCreateMenuBar inside a menu event handler 2022-12-16 16:37:51 -05:00
toolbars_pcb_editor.cpp Properties: enable in PCB editor for everyone 2022-12-08 17:38:36 -05:00
tracks_cleaner.cpp Handle cleanup safely 2023-01-23 15:56:46 -08: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 Handle fully-nested zones 2023-03-09 09:25:20 -08:00
zone.h Properties: introduce validators; re-enable zone hatch settings 2023-02-14 21:10:42 -05:00
zone_filler.cpp Use Chamfer lines when deflating 2023-03-06 16:18:51 -08: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