kicad/pcbnew
Seth Hillbrand 40309a17ef pcbnew: Check exact overlapping polygons
Checks for polygon collisions in the outline when the polygon contains
two or more segments that exactly overlap.  This also places the DRC
marker at the location where the collision happens.

Fixes: lp:1818163
* https://bugs.launchpad.net/kicad/+bug/1818163

Fixes: lp:1818218
* https://bugs.launchpad.net/kicad/+bug/1818218
2019-03-01 09:38:33 -08:00
..
autorouter Fix a few coverity errors 2019-02-16 14:09:21 +01:00
connectivity Build: libpolygon provides its own includes 2019-02-04 19:29:31 -08:00
dialogs DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS_BASE: fix minor wxWidgets alerts. 2019-02-28 18:56:48 +01:00
drc pcbnew: Check exact overlapping polygons 2019-03-01 09:38:33 -08:00
exporters Pcbnew, Excellon drill file creation: for oval holes allows selection of an alternate command, when the normal command is not accepted. 2019-02-09 14:56:02 +01:00
github Handle separate parsing rules for ID_SCH and ID_PCB. 2018-07-26 15:43:53 +01:00
import_gfx Minor fixes in code: remove dead code. 2019-01-24 18:23:57 +01:00
microwave Pcbnew: Disallow invalid mwwave inductor lengths 2019-01-24 21:23:43 -08:00
pcad2kicadpcb_plugin Bitmaps: move bitmap defs to bitmaps library 2019-02-04 19:29:31 -08:00
python Fix not working sdip_wizard.py 2019-01-29 08:42:28 +01:00
router pcbnew: Enforce router settings 2019-02-23 08:19:50 -08:00
specctra_import_export pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
swig pcbnew: Re-add missing user units python 2019-02-19 10:52:39 -08:00
tools pcbnew: Force rotation to grid 2019-02-23 14:48:12 -08:00
CMakeLists.txt Build: libpolygon provides its own includes 2019-02-04 19:29:31 -08:00
Doxyfile_python Doxyfiles: Remove local debug lines 2019-02-13 17:22:07 -08:00
Doxyfile_xml Doxyfiles: Remove local debug lines 2019-02-13 17:22:07 -08:00
Info.plist Fix for dark mode on macOS Mojave 2018-12-07 09:03:56 +01:00
action_plugin.cpp pcbnew: Add toolbar buttons for action plugins 2018-08-26 19:39:27 -07:00
action_plugin.h pcbnew: Add toolbar buttons for action plugins 2018-08-26 19:39:27 -07:00
append_board_to_current.cpp
array_creator.cpp Pcbnew: Also transform and number the original item 2019-01-30 15:41:35 -08:00
array_creator.h
array_pad_name_provider.cpp Pcbnew: ignore start values in "first available" grid numbering 2019-02-08 12:15:02 +00:00
array_pad_name_provider.h Pcbnew: arrays skip existing names 2019-01-30 15:41:35 -08:00
attribut.cpp pcbnew: Rename PCB_ZONE_T and remove from connectivity 2018-09-29 15:09:15 -07:00
block.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
block_footprint_editor.cpp Set modify flag for immediate block commands. 2019-02-08 19:15:16 +00:00
board_commit.cpp pcbnew: Fix ratsnest display 2019-01-02 11:56:23 -08:00
board_commit.h
board_connected_item.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
board_connected_item.h Rationalize select menu texts. 2018-07-17 15:09:48 +01:00
board_design_settings.cpp pcbnew: Fix missing board settings class 2018-10-07 08:31:49 -07:00
board_item_container.h
board_items_to_polygon_shape_transform.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
board_netlist_updater.cpp Fix a few minor I18n issues. 2018-11-16 18:12:01 +01:00
board_netlist_updater.h Improve Update PCB from Schematic. 2018-08-21 19:46:29 +01:00
build_BOM_from_board.cpp
class_board.cpp pcbnew: Check exact overlapping polygons 2019-03-01 09:38:33 -08:00
class_board.h Remove useless includes 2018-12-12 15:28:59 +01:00
class_board_item.cpp Break out getTrailingInt from MODULE 2019-01-30 15:41:36 -08:00
class_dimension.cpp Allow user-specification of dimension units. 2018-07-21 13:50:21 +01:00
class_dimension.h pcbnew: Adding some missing TypeOf() functions 2018-08-28 13:19:29 -07:00
class_drawsegment.cpp pcbnew: Fix polygon hittest 2018-12-12 17:23:40 -08:00
class_drawsegment.h Remove useless includes 2018-12-12 15:28:59 +01:00
class_edge_mod.cpp Don't display all the footprint info when an edge is selected. 2018-10-30 11:33:49 +00:00
class_edge_mod.h Add Bezier curve (S_CURVE shape) support in DIALOG_GRAPHIC_ITEM_PROPERTIES. 2018-07-22 18:39:48 +02:00
class_marker_pcb.cpp classes MARKER rework: remove duplicate code. Better HitTest code (HitTest takes in account the actual shape) 2018-12-19 19:53:27 +01:00
class_marker_pcb.h class MARKER rework: fix a few minor issues, remove duplicate code and add comments. 2018-12-19 15:13:31 +01:00
class_module.cpp Break out ref-des-centric functions to own header 2019-01-30 15:41:36 -08:00
class_module.h pcbnew: Fix incorrect Type settings 2019-02-17 07:46:47 -08:00
class_pad.cpp pcbnew: Check GetBoard() before using 2019-01-19 19:32:50 -08:00
class_pad.h modedit: Mirror custom pads 2019-01-17 08:55:59 -08:00
class_pcb_target.cpp pcbnew: Use Default width define instead of nums 2018-10-08 09:17:40 -07:00
class_pcb_target.h pcbnew: Adding some missing TypeOf() functions 2018-08-28 13:19:29 -07:00
class_pcb_text.cpp Remove global units usage from GetSelectionText... 2018-07-17 15:11:09 +01:00
class_pcb_text.h Remove useless includes 2018-12-12 15:28:59 +01:00
class_text_mod.cpp pcbnew: Use Default width define instead of nums 2018-10-08 09:17:40 -07:00
class_text_mod.h Add comments 2019-02-28 13:35:37 +01:00
class_track.cpp Minor fixes. 2018-11-03 14:30:34 +01:00
class_track.h Remove on-kill-focus-validation. 2018-11-29 19:00:21 +00:00
class_zone.cpp pcbnew: Update multiple zone segments 2019-01-03 17:34:59 -08:00
class_zone.h Zones: wxPoint/VECTOR2I warnings no longer needed 2019-01-23 10:39:03 -08:00
collectors.cpp Fix incorrect behavior when collection footprint items in collectors.cpp. 2018-11-18 10:08:12 +01:00
collectors.h Scale zone hit area by zoom. 2018-11-17 00:35:07 +00:00
connect.cpp
controle.cpp Scale zone hit area by zoom. 2018-11-17 00:35:07 +00:00
convert_drawsegment_list_to_polygon.cpp pcbnew: Check exact overlapping polygons 2019-03-01 09:38:33 -08:00
cross-probing.cpp Fix cross-probing issue when a net or pin name contains a space. 2019-01-23 11:30:10 +01:00
deltrack.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
dimension.cpp Allow user-specification of dimension units. 2018-07-21 13:50:21 +01:00
drag.h
dragsegm.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
drc.cpp drc: Allow graphical items to connect pads 2019-02-15 11:22:55 -08:00
drc.h DRC: Break out courtyard overlap function 2019-01-23 13:27:52 -05:00
drc_clearance_test_functions.cpp DRC: Make the marker factory a separate class 2019-01-23 13:27:52 -05:00
drc_item.cpp drc: Add board outline and edge crossing 2018-12-02 07:54:52 -08:00
eagle_plugin.cpp eagle: Handle DRC rule-based pad shapes 2019-02-04 07:06:49 +01:00
eagle_plugin.h eagle: Handle DRC rule-based pad shapes 2019-02-04 07:06:49 +01:00
edgemod.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
edit.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
edit_pcb_text.cpp Don't assume GetFlags() != 0 means it's being edited. 2018-09-27 22:18:13 +01:00
edit_track_width.cpp pcbnew: Change track width should allow no changes 2019-02-08 10:49:00 -08:00
editedge.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
editrack-part2.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
editrack.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
edtxtmod.cpp Consolidate design rules UI. 2018-07-17 15:12:34 +01:00
event_handlers_tracks_vias_sizes.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
files.cpp Initialize grid visibility correctly when opening project files. 2019-02-26 18:24:07 +00:00
footprint_edit_frame.cpp Pcbnew: fix 2 minor issues 2019-02-25 11:34:32 +01:00
footprint_edit_frame.h libtree: Remember pane width 2019-02-12 10:06:36 -08:00
footprint_editor_onclick.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
footprint_editor_options.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
footprint_editor_utils.cpp Toolbars with wxComboboxes: Fix incorrect ReCreate Toolbar methods: they recreated these wxComboboxes without deleting the previously created. 2019-01-18 17:24:40 +01:00
footprint_info_impl.cpp Escape/unescape footprint descriptions and keywords when writing/reading cache file. 2018-11-20 21:44:04 +00:00
footprint_info_impl.h Use binary search on Footprint Info list. 2018-08-04 10:29:17 +01:00
footprint_libraries_utils.cpp modedit: Allow name input for new footprint library 2019-01-22 15:40:10 -08:00
footprint_preview_panel.cpp Improve default canvas handling. 2019-01-31 19:43:31 +00:00
footprint_preview_panel.h
footprint_tree_pane.cpp Fix copy/paste errors with wrong icons. 2018-11-26 23:57:08 +00:00
footprint_tree_pane.h Convert Footprint Editor to component tree. 2018-08-01 09:35:46 +01:00
footprint_viewer_frame.cpp Improve default canvas handling. 2019-01-31 19:43:31 +00:00
footprint_viewer_frame.h Standardize Footprint Viewer and Footprint Browser. 2018-09-12 14:01:35 +01:00
footprint_wizard.cpp
footprint_wizard.h
footprint_wizard_frame.cpp Activate the footprint wizard correctly 2018-12-11 13:11:56 -08:00
footprint_wizard_frame.h Activate the footprint wizard correctly 2018-12-11 13:11:56 -08:00
footprint_wizard_frame_functions.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
fp_tree_model_adapter.cpp More performance enhancements. 2018-08-06 13:49:27 +01:00
fp_tree_model_adapter.h Convert Footprint Editor to component tree. 2018-08-01 09:35:46 +01:00
fp_tree_synchronizing_adapter.cpp Don't save footprint when it's renamed; wait for the user to save. 2018-09-14 10:21:45 +01:00
fp_tree_synchronizing_adapter.h Convert Footprint Editor to component tree. 2018-08-01 09:35:46 +01:00
generate_footprint_info.cpp More performance enhancements. 2018-08-06 13:49:27 +01:00
generate_footprint_info.h Convert Place Footprint to component tree. 2018-08-01 09:35:45 +01:00
gpcb_plugin.cpp pcbnew: Don't update coords on add 2019-01-15 12:14:02 -08:00
gpcb_plugin.h Performance enhancements in fp loading, string cmp, etc. 2018-08-01 09:35:46 +01:00
grid_layer_box_helpers.cpp Fix a few coverity errors 2019-02-16 14:09:21 +01:00
grid_layer_box_helpers.h In-place editing for footprint TEXTE_MODULEs. 2018-07-17 15:11:04 +01:00
help_common_strings.h Fix occurrences of "edition" which should be "editing" 2018-07-17 15:12:39 +01:00
highlight.cpp pcbnew: Adjust selection behavior in highlight net 2018-10-05 21:20:26 -07:00
hotkeys.cpp Fix footprint editor library tree filter text control issue. 2019-02-19 12:52:38 -05:00
hotkeys.h Add hotkey (Insert) for zone create corner 2018-08-07 09:19:18 -07:00
hotkeys_board_editor.cpp Fix occurrences of "edition" which should be "editing" 2018-07-17 15:12:39 +01:00
hotkeys_footprint_editor.cpp More g_UserUnit erradication. 2018-07-17 15:12:31 +01:00
initpcb.cpp Regularize save-changes dialogs. 2018-08-12 00:02:37 +01:00
invoke_pcb_dialog.h Gfx import: fix many issues, and add many enhancements. 2018-12-03 15:25:44 +01:00
io_mgr.cpp pcbnew: Prevent GITHUB plugin from being registered 2019-01-15 12:14:02 -08:00
io_mgr.h pcbnew: Fix missing config.h from 9458ae8221 2019-01-15 14:17:56 -08:00
kicad_clipboard.cpp pcbnew: Don't update coords on add 2019-01-15 12:14:02 -08:00
kicad_clipboard.h
kicad_netlist_reader.cpp Handle separate parsing rules for ID_SCH and ID_PCB. 2018-07-26 15:43:53 +01:00
kicad_plugin.cpp units: Move common units and add tests 2019-01-08 09:29:32 -08:00
kicad_plugin.h Performance enhancements in fp loading, string cmp, etc. 2018-08-01 09:35:46 +01:00
layer_widget.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
layer_widget.h Clean up file locations and names. 2018-09-22 16:23:13 +01:00
legacy_netlist_reader.cpp
legacy_plugin.cpp Pcbnew: legacy plugin: avoid crash when reading malformed files (old .brd kicad files). 2019-02-09 18:12:42 +01:00
legacy_plugin.h pcbnew: Rename PCB_ZONE_T and remove from connectivity 2018-09-29 15:09:15 -07:00
load_select_footprint.cpp pcbnew: Handle cancel action in fp load 2019-02-01 15:48:36 +01:00
magnetic_tracks_functions.cpp pcbnew: Move measure tool to common GRID_HELPER 2018-10-04 21:31:57 -07:00
menubar_footprint_editor.cpp Unify library browser terminology. 2019-01-30 19:52:15 +00:00
menubar_pcb_editor.cpp Unify library browser terminology. 2019-01-30 19:52:15 +00:00
microwave.cpp Tooltip and error message improvements. 2019-02-17 10:20:29 +00:00
minimun_spanning_tree.cpp
minimun_spanning_tree.h
move-drag_pads.cpp
move_or_drag_track.cpp
muwave_command.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
netclass.cpp units: Move common units and add tests 2019-01-08 09:29:32 -08:00
netclass.h Consolidate design rules UI. 2018-07-17 15:12:34 +01:00
netinfo.h pcbnew: Fix incorrect Type settings 2019-02-17 07:46:47 -08:00
netinfo_item.cpp Keep track of which nets are currently in use. 2018-10-18 12:14:23 +01:00
netinfo_list.cpp
netlist.cpp Fix ReadNetList and UpdatePCB issues with new footprints. 2018-12-10 19:48:58 +00:00
netlist_reader.cpp Handle separate parsing rules for ID_SCH and ID_PCB. 2018-07-26 15:43:53 +01:00
netlist_reader.h
onleftclick.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
onrightclick.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
pad_custom_shape_functions.cpp pcbnew: Update multiple zone segments 2019-01-03 17:34:59 -08:00
pad_draw_functions.cpp pcbnew: Replace magic number segment counts 2019-01-03 17:21:10 -08:00
pad_edit_functions.cpp Simplify copy/paste of pad settings. 2018-07-17 15:13:39 +01:00
pad_naming.cpp Pcbnew: Array tool should not number NPTHs 2019-01-06 07:55:49 -08:00
pad_naming.h Pcbnew: Array tool should not number NPTHs 2019-01-06 07:55:49 -08:00
pcb_base_edit_frame.cpp Another go at fixing units changes for rulers. 2018-10-10 10:59:50 +01:00
pcb_base_edit_frame.h Add shortcuts to setting dialogs for track widths, via sizes and grid sizes. 2018-11-17 00:35:06 +00:00
pcb_base_frame.cpp Pcbnew: avoid integer overflow when displaying local coordinates. 2019-02-14 10:57:22 +01:00
pcb_display_options.cpp
pcb_draw_panel_gal.cpp cairo: Ensure Courtyard drawing order 2019-02-03 11:27:31 +01:00
pcb_draw_panel_gal.h Remove global units usage from GetSelectionText... 2018-07-17 15:11:09 +01:00
pcb_edit_frame.cpp Revert "Change top selection drop-down to combobox" 2019-01-28 10:15:32 -08:00
pcb_edit_frame.h pcbnew: Change track width should allow no changes 2019-02-08 10:49:00 -08:00
pcb_footprint_edit_utils.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
pcb_general_settings.cpp pcbnew: Re-attach snap options 2019-01-29 13:36:17 -08:00
pcb_general_settings.h pcbnew: Re-attach snap options 2019-01-29 13:36:17 -08:00
pcb_layer_box_selector.cpp In-place editing for footprint TEXTE_MODULEs. 2018-07-17 15:11:04 +01:00
pcb_layer_box_selector.h Make esc dismiss net and layer selector popups. 2018-09-22 16:23:13 +01:00
pcb_layer_widget.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
pcb_layer_widget.h
pcb_legacy_draw_utils.cpp Print PCB objects before zones. 2018-08-29 20:08:01 +01:00
pcb_netlist.cpp Break out ref-des-centric functions to own header 2019-01-30 15:41:36 -08:00
pcb_netlist.h
pcb_painter.cpp gal: re-enable arc outline mode 2019-02-21 10:52:54 -08:00
pcb_painter.h Disable zone outlines and hatched lines rendering in printouts 2018-10-31 19:17:30 +01:00
pcb_parser.cpp pcbnew: Set default missing soldermask min width 2019-01-22 17:01:32 -08:00
pcb_parser.h Fix a compil issue with some compilers. 2019-02-15 08:47:03 +01:00
pcb_plot_params.cpp Pcbnew, Plot dialog, Gerber format: Enable or disable adding net metadata both in X1 and X2 format. Previously, this option was existing only in X2 format. Should be existing in both formats. 2018-12-09 08:38:23 +01:00
pcb_plot_params.h Pcbnew, Plot dialog, Gerber format: Enable or disable adding net metadata both in X1 and X2 format. Previously, this option was existing only in X2 format. Should be existing in both formats. 2018-12-09 08:38:23 +01:00
pcb_plot_params_parser.h
pcb_screen.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
pcb_view.cpp fix incorrect initialization of VIEW::m_boundary. 2018-11-18 20:04:17 +01:00
pcb_view.h
pcbnew.cpp Fix some issues in I10n strings 2019-01-26 09:25:12 +01:00
pcbnew.h Spelling fix HIGHT->HIGH 2019-01-03 17:10:27 -08:00
pcbnew.icns
pcbnew.rc
pcbnew_config.cpp pcbnew: Add toolbar buttons for action plugins 2018-08-26 19:39:27 -07:00
pcbnew_config.h
pcbnew_doc.icns
pcbnew_id.h Import svg import code from experimental trunk: convert dxf importer 2018-12-03 13:42:23 +01:00
pcbnew_printout.cpp Disable zone outlines and hatched lines rendering in printouts 2018-10-31 19:17:30 +01:00
pcbnew_printout.h Disable zone outlines and hatched lines rendering in printouts 2018-10-31 19:17:30 +01:00
pcbplot.cpp Plot filenames automatically generated: change the point ('.') find in layer names to '_' 2019-01-05 12:44:38 +01:00
pcbplot.h Store line width setting for printouts 2018-10-31 19:17:30 +01:00
plot_board_layers.cpp pcbnew: Allow an epsilon in the inflate before join 2019-01-22 19:54:03 -08:00
plot_brditems_plotter.cpp plot: Correct a couple SVG output errors 2019-01-30 15:41:36 -08:00
plotcontroller.h
plugin.cpp Performance enhancements in fp loading, string cmp, etc. 2018-08-01 09:35:46 +01:00
protos.h
ratsnest.cpp ratsnest: Calculate ratsnest per pad 2019-01-08 17:19:30 -08:00
ratsnest_data.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
ratsnest_data.h pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
ratsnest_viewitem.cpp pcbnew: locking connectivity using RAII 2018-12-20 11:04:08 -08:00
ratsnest_viewitem.h
sel_layer.cpp Make esc dismiss net and layer selector popups. 2018-09-22 16:23:13 +01:00
target_edit.cpp Remove on-kill-focus-validation. 2018-11-29 19:00:21 +00:00
text_mod_grid_table.cpp Re-enable text layers now that DRC & zone fills are fixed. 2018-08-24 10:56:13 +01:00
text_mod_grid_table.h Consolidate design rules UI. 2018-07-17 15:12:34 +01:00
tool_footprint_editor.cpp Revert "Change top selection drop-down to combobox" 2019-01-28 10:15:32 -08:00
tool_footprint_viewer.cpp Revert "Change top selection drop-down to combobox" 2019-01-28 10:15:32 -08:00
tool_onrightclick.cpp Consolidate design rules UI. 2018-07-17 15:12:34 +01:00
tool_pcb_editor.cpp pcbnew: Prevent using "edit width" in dialogs 2019-02-08 09:50:20 -08:00
toolbars_update_user_interface.cpp Overhaul border drawing in all the Kicad frames. 2018-08-11 17:25:38 +01:00
tracks_cleaner.cpp Pcbnew: fix delete dangling tracks only removes the last segment of tracks. 2019-02-16 16:05:29 +01:00
undo_redo.cpp pcbnew: Update strings 2019-01-02 14:43:55 -08:00
zone_filler.cpp Pcbnew: fix check zone fills before plotting doesn't test no net zones. 2019-02-27 11:27:18 +01:00
zone_filler.h pcbnew: Standardize zone fills threading 2018-09-21 12:44:20 -07:00
zone_settings.cpp Spelling fix HIGHT->HIGH 2019-01-03 17:10:27 -08:00
zone_settings.h pcbnew: Remove maximum zone corner radius 2018-10-06 22:01:39 -07:00
zones.h UNIT_BINDERize zone dialogs. 2018-07-17 15:11:32 +01:00
zones_by_polygon.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
zones_by_polygon_fill_functions.cpp pcbnew: Separating connectivity to subdir 2018-10-12 16:31:09 -07:00
zones_functions_for_undo_redo.cpp Fix occurrences of "edition" which should be "editing" 2018-07-17 15:12:39 +01:00
zones_functions_for_undo_redo.h Fix occurrences of "edition" which should be "editing" 2018-07-17 15:12:39 +01:00
zones_test_and_combine_areas.cpp pcbnew: Don't merge zones with different params 2018-09-17 12:17:22 -07:00