7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2024-12-21 16:49:33 +00:00
kicad/pcbnew
Seth Hillbrand 5e7b44938f Speed up merge collinear segments routine
Recalculating the update on each change is expensive.  Instead, we can
check to see which tracks might be involved first and then just run the
expensive check on the potentials.  This also allows us to parallelize
the non-changing check

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19340
2024-12-20 23:16:47 -08:00
..
api API: refactor handlers to be slightly less verbose 2024-12-08 20:23:11 -05:00
autorouter Phase 2 of padstack support 2024-10-01 19:55:03 -04:00
board_stackup_manager Remove (somewhat atrophied) manual pretty printing. 2024-11-28 11:08:16 +00:00
connectivity Remove whitespace 2024-11-03 18:02:26 +00:00
dialogs API: Add a mechanism to recreate Python environments 2024-12-20 17:07:09 -05:00
drc Don't assume all things with mask layers are in a footprint. 2024-12-20 22:21:54 +00:00
exporters Allow to control via hole cutting in board body/copper. 2024-12-20 23:28:46 +03:00
generators Fix tuning pattern start layer 2024-12-02 13:51:07 -05:00
git Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
import_gfx Handle DXF files with out of bounds values 2024-08-14 13:06:18 -07:00
microwave Unify Trace/Track usage 2024-12-19 15:55:26 -08:00
navlib 3DConnexion navlibs need kiplatform 2024-10-01 17:11:01 +01:00
netlist_reader REMOVED: Footprint field from footprints 2024-12-01 15:50:40 -05:00
pcb_io Unify Trace/Track usage 2024-12-19 15:55:26 -08:00
python API: Show API actions alongside SWIG action plugins in preferences 2024-12-14 18:00:07 -05:00
ratsnest Ratsnest: account for coincident anchors on different layers 2024-12-08 11:09:40 -05:00
router Unify Trace/Track usage 2024-12-19 15:55:26 -08:00
specctra_import_export Some DisplayError -> DisplayErrorMessage 2024-12-20 19:28:30 -05:00
teardrop Teardrops: Improve support for padstacks 2024-11-06 19:49:37 -05:00
tools Some DisplayError -> DisplayErrorMessage 2024-12-20 19:28:30 -05:00
widgets Minor layout fixes. 2024-12-19 12:29:43 +00:00
zone_manager Some DisplayError -> DisplayErrorMessage 2024-12-20 19:28:30 -05:00
action_plugin.cpp
action_plugin.h API: Show API actions alongside SWIG action plugins in preferences 2024-12-14 18:00:07 -05:00
array_pad_number_provider.cpp
array_pad_number_provider.h Pcbnew array: allow selecting the center point interactively 2024-10-28 22:01:14 +08:00
board_commit.cpp BOARD_COMMIT::Revert(): protect against null pointer. 2024-10-30 17:50:23 +01:00
board_commit.h pcbnew: fix rebase issue in BOARD_COMMIT 2024-08-13 22:50:26 +02:00
board_connected_item.cpp Multi-netclass support 2024-07-26 20:49:29 +00:00
board_connected_item.h Multi-netclass support 2024-07-26 20:49:29 +00:00
board_design_settings.cpp Add DRC warning for incorrectly mirrored text 2024-12-08 05:00:38 +00:00
board_item_container.h Improve clarity of default zone settings. 2024-02-03 13:22:16 +00:00
board_item.cpp Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
board.cpp Bug fixes for rotated tables. 2024-12-16 13:26:48 +00:00
board.h Move more elements from fixed size arrays 2024-12-03 13:25:11 -08:00
build_BOM_from_board.cpp Build time optimizations. 2024-04-27 23:49:13 +03:00
cleanup_item.cpp
cleanup_item.h
CMakeLists.txt Add DRC warning for incorrectly mirrored text 2024-12-08 05:00:38 +00:00
collectors.cpp feature removal: remove Show Hidden Text 2024-09-19 15:41:44 -04:00
collectors.h feature removal: remove Show Hidden Text 2024-09-19 15:41:44 -04:00
component_class_manager.cpp Clean up redundant component classes on netlist update 2024-10-07 22:24:03 +01:00
component_class_manager.h Allow pcb rule areas to handle keepout and placement concurrently 2024-10-10 23:29:02 +01:00
convert_shape_list_to_polygon.cpp Phase 2 of padstack support 2024-10-01 19:55:03 -04:00
convert_shape_list_to_polygon.h
cross-probing.cpp Strip richio.h from headers that don't need them 2024-10-04 18:06:18 +01:00
Doxyfile_python
Doxyfile_xml
edit_track_width.cpp
edit_zone_helpers.cpp Allow pcb rule areas to handle keepout and placement concurrently 2024-10-10 23:29:02 +01:00
edit.cpp BOARD: add helper function GetCopperLayerStackMaxId() and remove dead code 2024-10-06 09:37:04 +02:00
files.cpp ODB++: Add to CLI and jobs system 2024-12-02 10:53:01 -05:00
fix_board_shape.cpp
fix_board_shape.h
footprint_chooser_frame.cpp Fix double-click in footprint chooser. 2024-12-20 11:25:31 +00:00
footprint_chooser_frame.h Better locality-of-reference for footprint chooser filters. 2024-03-23 12:48:52 +00:00
footprint_edit_frame.cpp Reduce dependency on dynamic_cast. 2024-12-08 21:46:54 +00:00
footprint_edit_frame.h Make arrow keys respect grid overrides. 2024-08-28 19:54:23 +01:00
footprint_editor_settings.cpp Remove unused pad layers and simplify pad colors 2024-11-16 11:27:20 -05:00
footprint_editor_utils.cpp PCB_POINT_EDITOR: support padstacks 2024-11-06 20:38:01 -05:00
footprint_info_impl.cpp Pcbnew: fp load: tidy up FOOTPRINT_SELECT_WIDGET::Load 2024-11-11 23:44:27 +08:00
footprint_info_impl.h Clear timestamp when clearing cache. 2024-06-16 10:46:36 +01:00
footprint_libraries_utils.cpp REMOVED new footprint dialog. 2024-05-31 10:36:51 +01:00
footprint_preview_panel.cpp Standardise clamp function 2024-10-09 21:27:58 -06:00
footprint_preview_panel.h Pass symbol's netlist to footprint preview widget. 2024-03-09 15:01:59 +00:00
footprint_tree_pane.cpp
footprint_tree_pane.h
footprint_viewer_frame.cpp Reduce dependency on dynamic_cast. 2024-12-08 21:46:54 +00:00
footprint_viewer_frame.h Hookup footprint reload to redraw icon 2024-05-10 08:42:28 -07:00
footprint_wizard_frame_functions.cpp
footprint_wizard_frame.cpp Multi-netclass support 2024-07-26 20:49:29 +00:00
footprint_wizard_frame.h
footprint_wizard.cpp
footprint_wizard.h
footprint.cpp Fix misplaced continue statement 2024-12-20 09:11:00 -05:00
footprint.h Adjust DRC clearance for net ties 2024-12-10 15:54:47 -08:00
fp_tree_model_adapter.cpp Make sure symbol editor prefs go in symbol_editor file. 2024-10-13 20:14:14 +01:00
fp_tree_model_adapter.h Make sure symbol editor prefs go in symbol_editor file. 2024-10-13 20:14:14 +01:00
fp_tree_synchronizing_adapter.cpp Fix shadowed/conflicting enum values. 2024-06-21 16:16:29 +03:00
fp_tree_synchronizing_adapter.h
fpedit_doc.icns Add document type icons 2024-02-09 15:55:57 -08:00
fpedit.icns
generate_footprint_info.cpp FP edit: add 'show datasheet' action that acts on the documentation link 2024-10-14 23:20:19 +08:00
generate_footprint_info.h FP edit: add 'show datasheet' action that acts on the documentation link 2024-10-14 23:20:19 +08:00
generators_mgr.cpp
generators_mgr.h
graphics_cleaner.cpp Large rework of BEZIER_POLY 2024-06-18 17:55:41 -07:00
graphics_cleaner.h Remove non-const access to board-owned items 2024-03-26 18:36:23 -04:00
grid_layer_box_helpers.cpp Fix typo. 2024-09-10 11:27:32 +01:00
grid_layer_box_helpers.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
initpcb.cpp Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
invoke_pcb_dialog.h
kicad_clipboard.cpp API: Implement saving selection and board as string 2024-12-01 21:37:31 -05:00
kicad_clipboard.h API: Implement saving selection and board as string 2024-12-01 21:37:31 -05:00
layer_pairs.cpp Add layer pair cycle action 2024-08-06 23:45:55 +08:00
layer_pairs.h Add layer pair cycle action 2024-08-06 23:45:55 +08:00
load_select_footprint.cpp Some DisplayError -> DisplayErrorMessage 2024-12-20 19:28:30 -05:00
menubar_footprint_editor.cpp View menus: fix show/hide panel inconsistencies in FP and Symbol editors 2024-11-18 15:37:30 +01:00
menubar_pcb_editor.cpp Promote ODB++ export out of advanced config 2024-11-20 18:51:24 -05:00
netinfo_item.cpp Even the orphaned net must obey the min board clearance. 2024-08-23 21:24:54 -06:00
netinfo_list.cpp Elide common prefixes of displayed netnames. 2024-08-11 12:45:36 -06:00
netinfo.h Cache display netnames. 2024-06-11 16:30:52 +01:00
pad_custom_shape_functions.cpp Phase 2 of padstack support 2024-10-01 19:55:03 -04:00
pad.cpp Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pad.h Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
padstack.cpp API: Move graphic shapes to common 2024-11-26 18:55:20 -05:00
padstack.h Support padstacks in annular width and edge clearance DRC 2024-11-09 10:33:23 -05:00
pcb_base_edit_frame.cpp Add a layer pair preset list 2024-08-06 23:45:55 +08:00
pcb_base_edit_frame.h Add a layer pair preset list 2024-08-06 23:45:55 +08:00
pcb_base_frame.cpp Remove unused pad layers and simplify pad colors 2024-11-16 11:27:20 -05:00
pcb_dimension.cpp API: Implement dimension serialization 2024-11-30 17:22:15 -05:00
pcb_dimension.h API: Implement dimension serialization 2024-11-30 17:22:15 -05:00
pcb_draw_panel_gal.cpp Allow DRC markers to be selected with area selection 2024-12-08 14:10:07 +00:00
pcb_draw_panel_gal.h
pcb_edit_frame.cpp Some DisplayError -> DisplayErrorMessage 2024-12-20 19:28:30 -05:00
pcb_edit_frame.h Variant requires explicit include on non-macOS 2024-12-14 19:00:10 -05:00
pcb_field.cpp REMOVED: Footprint field from footprints 2024-12-01 15:50:40 -05:00
pcb_field.h REMOVED: Footprint field from footprints 2024-12-01 15:50:40 -05:00
pcb_fields_grid_table.cpp REMOVED: Footprint field from footprints 2024-12-01 15:50:40 -05:00
pcb_fields_grid_table.h REMOVED: Footprint field from footprints 2024-12-01 15:50:40 -05:00
pcb_generator.cpp Pcbnew: point editor: use behavior class for generators 2024-11-03 06:00:39 +08:00
pcb_generator.h Pcbnew: point editor: use behavior class for generators 2024-11-03 06:00:39 +08:00
pcb_group.cpp Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pcb_group.h Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pcb_item_containers.h
pcb_layer_box_selector.cpp Move layer presentation logic to a separate class 2024-08-06 23:45:55 +08:00
pcb_layer_box_selector.h Move layer presentation logic to a separate class 2024-08-06 23:45:55 +08:00
pcb_layer_presentation.h Move LAYER_PRESENTATION to widgets/ 2024-08-07 06:49:53 +08:00
pcb_marker.cpp Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pcb_marker.h Allow DRC markers to be selected with area selection 2024-12-08 14:10:07 +00:00
pcb_origin_transforms.cpp
pcb_origin_transforms.h
pcb_painter.cpp Bug fixes for rotated tables. 2024-12-16 13:26:48 +00:00
pcb_painter.h Move more elements from fixed size arrays 2024-12-03 13:25:11 -08:00
pcb_plot_params_parser.h
pcb_plot_params.cpp Remove (somewhat atrophied) manual pretty printing. 2024-11-28 11:08:16 +00:00
pcb_plot_params.h Remove (somewhat atrophied) manual pretty printing. 2024-11-28 11:08:16 +00:00
pcb_reference_image.cpp Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pcb_reference_image.h Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pcb_screen.cpp
pcb_shape.cpp API: Move graphics and text handling to common 2024-11-28 11:28:06 -05:00
pcb_shape.h Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pcb_table.cpp Bug fixes for rotated tables. 2024-12-16 13:26:48 +00:00
pcb_table.h Bug fixes for rotated tables. 2024-12-16 13:26:48 +00:00
pcb_tablecell.cpp Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
pcb_tablecell.h Support both short and long item descriptions. 2024-06-28 22:10:22 +01:00
pcb_target.cpp Unify flip direction handling 2024-09-27 17:13:13 +01:00
pcb_target.h Unify flip direction handling 2024-09-27 17:13:13 +01:00
pcb_text.cpp API: Move locking to the PCB text objects 2024-11-28 11:48:01 -05:00
pcb_text.h Cleanup ViewGetLayers() 2024-11-21 13:18:36 -08:00
pcb_textbox.cpp Bug fixes for rotated tables. 2024-12-16 13:26:48 +00:00
pcb_textbox.h API: Serialize PCB_TEXTBOX 2024-11-24 17:25:56 -05:00
pcb_track.cpp Pcbnew: fix track start property display 2024-11-28 05:56:40 +08:00
pcb_track.h Pcbnew: fix track start property display 2024-11-28 05:56:40 +08:00
pcb_view.cpp Cleanup VIEW class 2024-11-21 18:59:48 -08:00
pcb_view.h Cleanup VIEW class 2024-11-21 18:59:48 -08:00
pcbexpr_evaluator.cpp Add a null type for libeval / std::optional support 2024-12-02 21:21:18 -05:00
pcbexpr_evaluator.h Add a null type for libeval / std::optional support 2024-12-02 21:21:18 -05:00
pcbexpr_functions.cpp Fix enclosedByArea for footprints. 2024-12-03 12:43:59 +00:00
pcbnew_config.cpp Pcbnew: ensure all local settings are saved on close the board editor. 2024-10-10 17:36:06 +02:00
pcbnew_config.h
pcbnew_doc.icns Add document type icons 2024-02-09 15:55:57 -08:00
pcbnew_id.h
pcbnew_jobs_handler.cpp Let gui jobs actually load the sch/pcb from frame 2024-12-17 10:08:48 -05:00
pcbnew_jobs_handler.h ODB++: Add to CLI and jobs system 2024-12-02 10:53:01 -05:00
pcbnew_printout.cpp Reduce dependency on dynamic_cast. 2024-12-08 21:46:54 +00:00
pcbnew_printout.h Split out LSEQ/LSET from LAYER_ID 2024-07-08 20:59:46 -07:00
pcbnew_settings.cpp Reduce dependency on dynamic_cast. 2024-12-08 21:46:54 +00:00
pcbnew_settings.h Pcbnew: add way to re-enable locking prompts 2024-10-05 22:26:18 +01:00
pcbnew.cpp Reduce dependency on dynamic_cast. 2024-12-08 21:46:54 +00:00
pcbnew.icns Add document type icons 2024-02-09 15:55:57 -08:00
pcbplot.cpp Gerber and drl files (& drl filenames): fix issues due to layer renumbering. 2024-10-14 18:46:18 +02:00
pcbplot.h Support custom padstacks in plotter 2024-10-02 18:07:09 -04:00
plot_board_layers.cpp REMOVED: Footprint field from footprints 2024-12-01 15:50:40 -05:00
plot_brditems_plotter.cpp Pcbnew, plot: plot table only on the right layer. 2024-12-09 15:59:55 +01:00
plotcontroller.h Further cleanup of LSET 2024-07-08 22:00:53 -07:00
plotprint_opts.h
project_pcb.cpp Reduce dependency on dynamic_cast. 2024-12-08 21:46:54 +00:00
sel_layer.cpp Reduce dependency on dynamic_cast. 2024-12-08 21:46:54 +00:00
toolbars_footprint_editor.cpp Pcbnew: add bezier editing tool 2024-09-25 21:41:32 +01:00
toolbars_footprint_viewer.cpp
toolbars_pcb_editor.cpp Fix Focus Issue in Parent Window After Hiding the Search Panel 2024-10-21 20:32:53 +00:00
tracks_cleaner.cpp Speed up merge collinear segments routine 2024-12-20 23:16:47 -08:00
tracks_cleaner.h Speed up merge collinear segments routine 2024-12-20 23:16:47 -08:00
undo_redo.cpp Reduce dependency on dynamic_cast. 2024-09-04 17:24:49 +01:00
zone_filler.cpp Add safety case to prevent arcs in outlines 2024-11-15 22:05:09 -06:00
zone_filler.h ADDED: pcbnew fill avoids kissing fills 2024-07-10 18:34:41 -07:00
zone_settings.cpp Allow pcb rule areas to handle keepout and placement concurrently 2024-10-10 23:29:02 +01:00
zone_settings.h Allow pcb rule areas to handle keepout and placement concurrently 2024-10-10 23:29:02 +01:00
zone.cpp Use old algorithm when allow-external-fillets is on. 2024-12-03 16:55:59 +00:00
zone.h API: Add initial spec for ZONE serialization 2024-11-21 22:09:14 -05:00
zones_functions_for_undo_redo.cpp Allow pcb rule areas to handle keepout and placement concurrently 2024-10-10 23:29:02 +01:00
zones.h Allow pcb rule areas to handle keepout and placement concurrently 2024-10-10 23:29:02 +01:00