kicad/include
Céleste Wouters e98c9f283f Improve SHAPE_POLY_SET fracture performance
Refactors `SHAPE_POLY_SET::fractureSingle()` to be more efficient, while
not changing the actual algorithm:

* increase cache locality by using contiguous arrays instead of what was
effectively a linked list
* reduce latency and jitter by replacing per-edge allocator calls with
ahead-of-time std::vector reserves
* increase cache efficiency by making the vertex struct smaller
* replace O(n^2) leftmost edge search with O(n log n) std::sort
* sort the polygons instead of the edges
* cut iteration count in half in the remaining O(polygons * edges) part
2024-03-27 21:19:02 +00:00
..
bitmaps Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
cli Remove unused header 2023-09-07 20:46:08 -04:00
core ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
database Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
dialogs Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
drawing_sheet Add prettification to pl_editor; bump version 2023-11-29 16:17:41 +00:00
font Don't assume all glyphs are outline with an outline font. 2024-03-18 22:21:01 +00:00
gal ADDED: PCB 3D image raytracing rendering from CLI. 2024-03-08 14:38:18 +00:00
http_lib HTTP LIB - Fine tuning 2024-02-05 12:11:01 +00:00
io Introduce base IO_MGR class and unify RELEASER objects 2023-12-29 00:37:38 +00:00
kicad_curl ADDED: KiCad update check 2023-12-13 20:47:40 -05:00
libeval Add um support to the unit binder 2023-11-26 00:03:09 +00:00
libeval_compiler Handle backslash-escaped quotes in libeval. 2023-09-30 17:38:44 +01:00
plotters ADDED: optional PDF metadata from AUTHOR and SUBJECT variables. 2024-03-14 17:40:04 +00:00
plugins Initial rename of file plugin infrastructure components to IO 2023-12-24 01:22:21 +00:00
preview_items Add dashed lines and circles to preview draw context. 2023-10-06 15:56:20 +03:00
project Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
properties wxWidgets 3.3 compatibility: properties API 2024-03-20 22:02:40 -04:00
settings Fix msys2 build 2024-03-21 19:52:18 -04:00
tool Clear flags before depending on them. 2024-03-20 17:55:58 +00:00
view Disable infinite panning when using XWayland. 2024-03-12 10:31:23 +03:00
widgets Better locality-of-reference for footprint chooser filters. 2024-03-23 12:48:52 +00:00
3d_enums.h ADDED: PCB 3D image raytracing rendering from CLI. 2024-03-08 14:38:18 +00:00
advanced_config.h Improve SHAPE_POLY_SET fracture performance 2024-03-27 21:19:02 +00:00
array_axis.h Low hanging fruit to kicommon 2023-09-11 21:52:10 -04:00
array_options.h Low hanging fruit to kicommon 2023-09-11 21:52:10 -04:00
asset_archive.h Low hanging fruit to kicommon 2023-09-11 21:52:10 -04:00
background_jobs_monitor.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
base_screen.h Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
base_units.h Make sure users don't run into min text size. 2024-03-23 15:50:45 +00:00
bin_mod.h Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
bitmap_base.h Allow multiple format image saving 2023-09-06 12:12:32 -07:00
bitmap_store.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
bitmaps.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
board_design_settings.h pcbnew: Added default master pad properties 2024-03-02 00:13:39 +00:00
board_item.h Make sure group items get added to commit. 2024-01-22 23:34:34 +00:00
board_printout.h More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
build_version.h Use a version string without the extra packaging info in drawing sheets. 2024-02-29 01:24:39 +00:00
callback_gal.h performance efficiencies 2023-12-18 17:20:34 +00:00
class_draw_panel_gal.h Evict the Pgm() dependency in GAL 2023-09-06 20:13:46 -04:00
cli_progress_reporter.h ADDED: ERC over cli....mostly 2023-08-13 20:31:19 -04:00
collector.h Remove a bunch of blind (and a few redundant) static_casts. 2023-07-13 14:14:45 +01:00
commit.h Move group/ungroup to COMMIT infrastructure. 2023-12-16 14:17:25 +00:00
common.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
config_map.h
config_params.h Move configparams to kicommon 2023-09-23 20:06:58 -04:00
confirm.h Do not parent dialogs to non top level windows in panels or widgets. 2024-02-03 10:40:28 -05:00
dialog_shim.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
dpi_scaling_common.h Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
dsnlexer.h dsnlexer can live in kicommon 2024-01-03 23:18:31 -05:00
eda_base_frame.h Create a singular point for events like EDA_EVT_UNITS_CHANGED to be exported out of kicommon 2024-03-02 16:29:08 -05:00
eda_dde.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
eda_doc.h Fix eda_doc not looking for schematic locally 2022-05-10 21:28:48 -04:00
eda_draw_frame.h Move Net Inspector dialog to a widget panel in pcbnew 2024-03-19 01:02:01 +00:00
eda_item.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
eda_item_flags.h More undo cleanup. 2023-07-16 14:43:29 +01:00
eda_list_dialog.h Validate new symbol / save as symbol info before exiting dialog. 2023-09-05 22:07:58 +01:00
eda_pattern_match.h Move EDA_PATTERN_MATCH to kicommon 2023-12-27 22:08:11 -05:00
eda_search_data.h Allow EDA_COMBINED_MATCHER use in KiCad find architecture. 2023-06-10 14:50:06 +01:00
eda_shape.h Fix property editor for graphic circles 2024-01-30 22:00:09 -05:00
eda_text.h Make sure users don't run into min text size. 2024-03-23 15:50:45 +00:00
eda_tools.h Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.h Clamp ratio properties 2023-11-25 18:40:14 -05:00
enum_vector.h Make comparison operators const. 2023-06-21 08:49:26 +00:00
env_paths.h Normalize drawing sheet path to env vars & prj, not just prj. 2021-10-02 23:39:45 +01:00
env_vars.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
executable_names.h
file_history.h Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
filename_resolver.h Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
filter_reader.h Cleanup wx includes in the filter reader 2021-06-04 01:26:58 +01:00
fmt.h database_connection.cpp: Fix compil issues on msys2. these issues are 2022-08-26 18:15:57 +02:00
footprint_editor_settings.h ADDED: Selection filter for schematic editor 2024-02-25 17:44:10 -05:00
footprint_filter.h Dont leak richio into everything 2023-09-07 22:29:40 -04:00
footprint_info.h ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER. 2023-09-29 17:03:50 +01:00
fp_lib_table.h Clear text before replacing in ImportSettingsFrom. 2024-02-24 20:05:51 +00:00
frame_type.h Grid properties for GerbView. 2024-03-10 18:21:50 +00:00
gal_display_options_common.h Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
gbr_metadata.h Cleanup. No (intentional) functional changes. 2023-06-06 12:30:35 +01:00
gbr_netlist_metadata.h More wxT-ification. 2022-02-09 17:04:32 +00:00
gestfich.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
gr_basic.h RIP EDA_RECT. 2022-08-31 23:57:24 +01:00
gr_text.h ADDED: parameterize font metrics and allow customization of overbar height. 2023-08-06 20:57:41 +01:00
grid_tricks.h Respect readOnly cells in GRID_TRICKS. 2023-02-25 11:02:12 +00:00
hash_eda.h Added IPC2581 support 2023-11-26 15:30:58 -08:00
hashtables.h RIP EDA_RECT. 2022-08-31 23:57:24 +01:00
hotkey_store.h Minor Coverity and compil warnings fixes. 2023-07-17 16:19:22 +02:00
hotkeys_basic.h Hotkeys: add support for alternate hotkeys 2023-07-13 10:11:46 -04:00
i18n_utility.h
id.h Move grid definitions to Prefs and grid origin to a separate dlg. 2023-08-26 13:32:24 +01:00
import_export.h Move JSON_SETTINGS and PARAMS to kicommon 2024-03-20 23:29:42 -04:00
inspectable.h Add system for property change notifications 2023-12-02 19:22:59 -05:00
json_common.h Move JSON_SETTINGS and PARAMS to kicommon 2024-03-20 23:29:42 -04:00
ki_exception.h Parse generator_version and improve error output on mismatch 2023-11-29 16:17:41 +00:00
kicommon.h Start a kicommon shared lib 2023-09-09 18:04:50 -04:00
kiface_base.h Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
kiface_ids.h Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
kiid.h Add a cache for looking up board items by ID 2024-03-26 18:36:23 -04:00
kiway.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
kiway_express.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
kiway_holder.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
kiway_mgr.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_player.h Clean up autosave files when reverting. 2023-11-05 12:20:31 +00:00
launch_ext.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
layer_ids.h Improve rendering of tuning status popup 2023-12-19 22:38:21 -05:00
lib_id.h Remove atrophied terminology (logical -> nickname) 2024-02-05 15:49:57 +00:00
lib_table_base.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
lib_table_grid.h Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID 2023-05-28 23:56:41 +02:00
lib_table_grid_tricks.h Add batch edit for visible flag. 2023-09-26 00:31:37 +01:00
lib_tree_item.h ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER. 2023-09-29 17:03:50 +01:00
lib_tree_model.h Clearer naming. 2023-11-17 18:36:33 +00:00
lib_tree_model_adapter.h Try reusing the TOOL_DISPATCHER menu hack for libtree previews. 2024-01-05 14:20:33 +00:00
locale_io.h Move locale_io to kicommon 2023-09-11 21:51:58 -04:00
lockfile.h Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
logging.h Header clean up round 3. 2020-12-19 18:29:10 -05:00
macros.h Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
macros_swig.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
mail_type.h ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER. 2023-09-29 17:03:50 +01:00
marker_base.h ADDED: ERC/DRC exclusion comments. 2024-02-24 20:05:51 +00:00
markup_parser.h MARKUP_PARSER kicommon 2023-09-13 21:37:35 -04:00
netclass.h netclass can be in kicommon 2023-12-27 17:57:02 -05:00
newstroke_font.h newstroke_font can live in kicommon 2023-09-18 07:40:02 -04:00
notifications_manager.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
origin_transforms.h Header clean up round 3. 2020-12-19 18:29:10 -05:00
origin_viewitem.h Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
outline_mode.h python wrap: fix undefined FILLED/SKETCH constants in pcbnew.py 2020-10-21 13:23:06 +02:00
pad_shapes.h wxWidgets 3.3 compatibility: explicit wxString conversion 2024-03-20 22:02:41 -04:00
page_info.h Move PAGE_INFO to kicommon 2024-01-09 07:26:04 -05:00
panel_hotkeys_editor.h Add more missing destructor event cleanups 2023-10-02 07:22:00 -04:00
panel_text_variables.h Implement changed notifiers for textvar, netclasses and severities. 2023-09-17 17:35:15 +01:00
paths.h Use a more specific path for instance checker 2024-02-06 21:33:44 -05:00
pcb_base_frame.h Improve clarity of default zone settings. 2024-02-03 13:22:16 +00:00
pcb_display_options.h PCB: Add bitmap layer per board layer 2022-07-14 11:23:23 +00:00
pcb_screen.h Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
pgm_base.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
policy_keys.h Add policy to alter curl revoke settings on windows 2023-07-13 19:01:04 -04:00
printout.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
progress_reporter.h kicommon PROGRESS_REPORTER 2023-12-25 23:22:39 -05:00
project.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
project_pcb.h Clear text before replacing in ImportSettingsFrom. 2024-02-24 20:05:51 +00:00
ptree.h Rename PCB IO classes/files 2023-12-24 01:22:21 +00:00
rc_item.h ADDED: ERC/DRC exclusion comments. 2024-02-24 20:05:51 +00:00
rc_json_schema.h Add $schema prop to drc/erc 2024-02-13 19:08:55 -05:00
refdes_utils.h We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
render_settings.h Eeschema: Add Cairo printing to the Eeschema print engine. The current print engine (using wxDC draw engine) has frequently issues with each new wxWidgets version. Cairo printing engine, used for Pcbnew and Gerbview has less issues. On Eeschema, the cairo print is enabled only if the advanced config has the option "EnableEeschemaPrintCairo = 1" 2023-11-23 16:11:09 +01:00
reporter.h Use external REPORTER for EESCHEMA_JOBS_HANDLER / PCB_JOBS_HANDLER 2023-06-10 23:35:32 +02:00
richio.h Automatic whitespace and indentation prettification for sexpr formats 2023-11-29 16:17:41 +00:00
scintilla_tricks.h Performance improvements for multi-page dialogs. 2024-03-10 12:18:50 +00:00
scoped_set_reset.h ADDED: Git integration support 2023-10-20 12:51:47 +00:00
search_stack.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
status_popup.h Use preview items instead of highlightNets & status popup 2023-12-02 16:15:43 +00:00
streamwrapper.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
string_any_map.h Add STRING_ANY_MAP. 2023-10-08 02:41:17 +00:00
string_utf8_map.h Fix wrong path slash 2023-09-07 22:09:26 -04:00
string_utils.h Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
stroke_params.h Implement STROKE_PARAMS::Stroke() for SH_RECT. 2024-03-22 12:22:30 +00:00
systemdirsappend.h Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
template_fieldnames.h Readability. 2023-10-03 17:14:03 +01:00
textentry_tricks.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
title_block.h Fix issue with predefined variable texts ${COMMENT0} to ${COMMENT9} 2021-02-21 18:29:14 +01:00
trace_helpers.h Move trace_helpers to kicommon 2023-09-23 09:37:47 -04:00
ui_events.h Move some language changes to a event on the frame 2024-03-03 11:02:26 -05:00
undo_redo_container.h Store group id rather than group 2024-02-28 13:27:38 -08:00
units_provider.h Centralize min/opt/max printing. 2023-10-15 22:46:23 +01:00
validators.h Validators: drop unused is m_isLibEditor 2023-06-20 18:34:52 +00:00
wildcards_and_files_ext.h Add PADS netlist format export 2024-03-09 10:00:46 -05:00
wx_filename.h wx_filename to kicommon 2023-09-13 21:16:27 -04:00
wx_fstream_progress.h Coverity fixes 2023-11-27 11:57:31 -08:00
wxstream_helper.h Use heap instead of stack for CopyStreamData 2021-11-10 22:05:44 -05:00
xnode.h Header clean up round 4. 2020-12-21 10:18:10 -05:00
zoom_defines.h Add a "hyperzoom" mode for debugging "up close". 2023-06-20 14:19:21 +01:00