kicad/common
Seth Hillbrand 27add591ec Add Clipper2
Currently this lives behind the advanced config flag `UseClipper2`.
Enabling this flag will route all Clipper-based calls through the
Clipper2 library instead of the older Clipper.  The changes should be
mostly transparent.

Of note, Clipper2 does not utilize the `STRICTLY_SIMPLE` flag because
clipper1 did not actually guarantee a strictly simple polygon.
Currently we ignore this flag but we may decide to run strictly-simple
operations through a second NULL union to simplify the results as much
as possible.

Additionally, the inflation options are slightly different.  We cannot
choose the fallback miter.  The fallback miter is always square.  This
only affects the CHAMFER_ACUTE_CORNERS option in inflate, which does not
appear to be used.

Lastly, we currently utilize the 64-bit integer coordinates for
calculations.  This appears to still be faster than 32-bit calculations
in Clipper1 on a modern x86 system.  This may not be the case for older
systems, particularly 32-bit systems.
2022-10-19 16:25:45 -07:00
..
cli Coverity fixes. 2022-10-17 15:30:20 -04:00
database Remove call that crashes MySQL connector sometimes 2022-09-23 19:28:04 -04:00
dialog_about Update contributions 2022-09-28 13:49:30 -07:00
dialogs Pcbnew, Print preview frame: remember last size & pos during a session. 2022-10-17 16:57:19 +02:00
drawing_sheet Allow text variable resolution through properties in drawing sheet text. 2022-09-20 15:28:05 +01:00
font Add/fix some variable initializations 2022-09-25 00:48:38 +01:00
gal Work around more instances of the wxWidgets color string locale bug. 2022-09-30 20:56:25 +01:00
jobs Fix some issues in STEP exporter 2022-10-07 18:53:31 +02:00
kicad_curl Fix various typos 2022-07-21 16:31:41 +00:00
libeval Formatting. (No functional changes.) 2022-10-13 13:05:51 +01:00
libeval_compiler Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
plotters Coverity fixes. 2022-10-17 15:30:20 -04:00
plugins Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
preview_items Make arc endpoint theta consistent with polar coordinate system. 2022-10-07 08:35:14 +03:00
project Store netclass visibility separately from nets 2022-10-01 19:54:13 -04:00
settings Add Clipper2 2022-10-19 16:25:45 -07:00
swig Minor fixes. 2022-10-01 18:42:02 +02:00
tool Text size sanity checking for TEXT_ITEMS_GRID. 2022-10-06 13:19:08 +01:00
view ADDED: Focus follows mouse between SCH and PCB editors (option). 2022-09-30 18:32:06 +00:00
widgets Add unit and eval support to WX_GRIDs. 2022-10-11 23:40:58 +01:00
CMakeLists.txt Patch out the install for argparse 2022-10-12 23:17:05 -04:00
advanced_config.cpp Add Clipper2 2022-10-19 16:25:45 -07:00
array_axis.cpp Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
array_options.cpp More EDA_ANGLE changes. 2022-01-14 16:08:19 +00:00
asset_archive.cpp Cleanup memory in the asset archive reader 2021-03-19 21:23:35 +00:00
base64.cpp Plot SVG embedded 2019-12-08 08:57:33 -08:00
base_screen.cpp Remove unused m_crossHairPosition 2021-06-15 21:25:27 -04:00
bin_mod.cpp Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
bitmap.cpp Add a quantized scaling mode for bitmaps. 2021-09-11 23:40:31 +01:00
bitmap_base.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
bitmap_info.cpp ADDED: Pack and Move Footprints, improved footprint spread algorithm. 2022-09-28 13:37:23 +00:00
bitmap_store.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
board_printout.cpp Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
build_version.cpp Remove KICAD_OCC build option 2022-08-18 17:06:29 -07:00
callback_gal.cpp Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
commit.cpp Cleanup compile warnings 2022-06-21 17:04:56 -07:00
common.cpp Remove tilde expansion 2021-09-27 16:10:36 +00:00
config_params.cpp Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
confirm.cpp Move IsOK() to wxRichMessageDialog so it handles <ESC> properly. 2022-09-11 12:21:16 +01:00
dialog_shim.cpp ADDED: Focus follows mouse between SCH and PCB editors (option). 2022-09-30 18:32:06 +00:00
draw_panel_gal.cpp Ensure dtor throws into catch block 2022-09-29 15:26:39 -07:00
drc_rules.keywords Move connection width testing to rule system. 2022-08-01 13:09:51 +01:00
dsnlexer.cpp Handle leading whitespace with std::from_chars 2022-08-15 19:30:43 -04:00
eda_base_frame.cpp Formatting. 2022-10-16 18:39:37 +01:00
eda_dde.cpp Fix comment placement 2022-09-28 21:19:19 -04:00
eda_doc.cpp Fix eda_doc not looking for schematic locally 2022-05-10 21:28:48 -04:00
eda_draw_frame.cpp Formatting. 2022-10-16 18:39:37 +01:00
eda_item.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
eda_pattern_match.cpp Formatting. 2022-10-16 18:39:37 +01:00
eda_shape.cpp Eeschema: edit arc: keep arc angle <= 180 degrees when moving a arc end. 2022-10-06 09:22:59 +02:00
eda_text.cpp Split up Double2Str to a format function to make its use case clear 2022-09-17 00:10:22 -04:00
eda_tools.cpp Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.cpp Formatting and commenting. 2022-10-06 13:19:08 +01:00
env_paths.cpp Cleanup & performance enhancements. 2022-08-01 13:09:51 +01:00
env_vars.cpp Replace boost::optional with std::optional 2022-08-25 15:50:47 -07:00
exceptions.cpp Refuse to load schematics from the future. 2021-06-30 18:32:07 +01:00
executable_names.cpp Clean up some TODOs. 2021-12-24 21:10:28 +00:00
filehistory.cpp Ensure "Open Recent" and "Clear files" menu titles are updated after language change. 2022-04-11 11:09:05 +02:00
filename_resolver.cpp Don't use the 3d resolver config anymore 2022-10-08 14:27:10 -04:00
filter_reader.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
footprint_filter.cpp Formatting. 2022-10-16 18:39:37 +01:00
footprint_info.cpp ADDED: Threadpool 2022-06-24 22:59:24 +00:00
fp_lib_table.cpp fix a few compil warnings 2022-09-23 18:30:42 +02:00
gbr_metadata.cpp Other -> Unspecified and a couple of other terminology improvements. 2022-09-27 12:15:18 +01:00
gestfich.cpp Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option" 2022-01-31 15:57:56 -08:00
getrunningmicrosecs.cpp Cleanup: Replace C-only deprecated headers 2019-12-05 11:03:15 -08:00
gl_context_mgr.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
gr_basic.cpp Bug fixes in arc & textbox printing. 2022-01-31 20:00:47 +00:00
gr_text.cpp Separate text-thickness clamping into strict and lenient modes. 2022-09-08 00:28:30 +01:00
grid_tricks.cpp Implement add-new-on-return for some of our grids. 2022-09-09 13:41:13 +01:00
hash_eda.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
hotkey_store.cpp Gerber Viewer: gerbview -> Gerber Viewer in Settings 2022-07-26 18:42:55 +00:00
hotkeys_basic.cpp Hotkeys: show user config for unloaded KiFACEs 2022-07-05 13:37:45 +00:00
html_window.cpp Formatting. 2021-10-15 12:45:43 +01:00
kiface_base.cpp Update default paths for symbols/footprints 2021-10-17 16:07:46 -07:00
kiid.cpp Fix broken constructor 2022-08-14 12:57:22 -04:00
kiway.cpp Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
kiway_express.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_holder.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_player.cpp Ensure the socket server is killed during destruction of the kiway player 2022-09-28 21:37:19 -04:00
languages_menu.cpp Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
launch_ext.cpp Fix opening files with spaces on Linux 2021-11-07 14:31:14 +00:00
layer_id.cpp Move courtyard collision setting to preferences. 2022-10-19 11:33:11 +01:00
lib_id.cpp Add support for sub-libraries concept 2022-08-27 18:47:39 -04:00
lib_table.keywords Allow hiding symbol library tables from symbol chooser 2022-08-26 20:18:40 -04:00
lib_table_base.cpp PCM: autoload libs from installed packages to global lib tables 2022-09-23 16:16:13 +00:00
lib_table_grid_tricks.cpp Add Make selected active/inactive actions to the symbol libraries 2022-06-21 23:32:02 +00:00
lib_tree_model.cpp Add support for symbol unit display names in eeschema and symbol editor 2022-09-14 22:11:37 +00:00
lib_tree_model_adapter.cpp Formatting. 2022-10-16 18:39:37 +01:00
locale_io.cpp Fix various typos 2022-07-21 16:31:41 +00:00
lockfile.cpp Formatting. 2022-10-16 18:39:37 +01:00
lset.cpp Remove atrophied PCB NO_CONNECTS layer and its colour. 2022-09-08 00:28:31 +01:00
marker_base.cpp Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
markup_parser.cpp Remove unused vars 2022-09-18 08:49:07 -04:00
netclass.cpp Remove some more 2022-09-16 21:09:26 -04:00
netlist.keywords Transmit pin electrical types through to pads. 2021-01-23 00:10:01 +00:00
newstroke_font.cpp Add "Letter-like character" Omega for Unicode x2126 2022-10-01 16:39:00 -07:00
observable.cpp Add const specifiers 2020-11-18 19:50:36 +00:00
origin_transforms.cpp Add more consts all over the place 2020-10-27 11:03:35 +00:00
origin_viewitem.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
page_info.cpp Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific 2022-08-29 20:11:03 -04:00
painter.cpp Only apply B&W printer fixes when printing. 2021-02-02 15:37:30 +00:00
paths.cpp Get 3d plugins working for running from build dir 2022-09-08 21:49:10 -04:00
pcb.keywords Overhaul of remove-unconnected's zone filling and drawing strategies. 2022-10-18 13:05:42 +01:00
pcb_plot_params.keywords Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pg_properties.cpp Formatting. 2022-10-16 18:39:37 +01:00
pgm_base.cpp Hotglue the unit tests to work for now 2022-10-05 17:12:32 -04:00
printout.cpp Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
project.cpp fix a few compil warnings 2022-09-23 18:30:42 +02:00
properties.cpp
property_mgr.cpp Hook libeval compiler up to rule parser 2020-07-20 22:11:53 +01:00
ptree.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
rc_item.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
refdes_utils.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
render_settings.cpp Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
reporter.cpp Add RPT_SEVERITY_DEBUG for developer-type messages 2022-09-09 17:21:47 -07:00
richio.cpp Use fgetc directly under msvc in richio 2022-08-14 16:19:24 +00:00
scintilla_tricks.cpp Fix typo. 2022-09-22 10:53:42 +01:00
search_stack.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
searchhelpfilefullpath.cpp Respect KICAD_DOCS when searching for help files 2021-04-21 19:19:25 +00:00
single_top.cpp New kicad-cli will now be the cli interface 2022-10-04 22:24:13 -04:00
status_popup.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
streamwrapper.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
string_utils.cpp Split up Double2Str to a format function to make its use case clear 2022-09-17 00:10:22 -04:00
stroke_params.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
stroke_params.keywords Shapes for schematic. 2021-12-23 20:36:07 +00:00
strtok_r.c
systemdirsappend.cpp Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option" 2022-01-31 15:57:56 -08:00
template_fieldnames.cpp Remove ID from property fields 2022-09-30 17:19:53 -07:00
template_fieldnames.keywords Variable substitution framework. 2020-03-30 14:15:59 +01:00
textentry_tricks.cpp Evict the last bits of wx.h 2021-06-07 20:23:27 -04:00
thread_pool.cpp tread_pool: create it on the heap, because creating it static generate a DTOR issue on mingw. 2022-07-08 19:07:21 +02:00
title_block.cpp Allow recursion up the sheet hierarchy for text variable resolution. 2022-09-10 00:04:20 +01:00
trace_helpers.cpp Add debugging support for KiCad2Step command line generation. 2022-09-12 14:30:07 -04:00
transform.cpp Fix TRANSFORM::MapAngles (Third time lucky?) 2022-09-04 23:21:29 +02:00
undo_redo_container.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
utf8.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
validators.cpp Fix kicad_string.h / string.cpp mismatch. 2021-07-29 16:03:25 +01:00
wildcards_and_files_ext.cpp Formatting. 2022-10-16 18:39:37 +01:00
wx_filename.cpp Add utility method to resolve symlinks 2021-06-07 20:59:59 +00:00
wx_stl_compat.cpp Blacklist hashes for 2d integer elements 2022-08-26 08:43:37 -07:00
wxdataviewctrl_helpers.cpp Formatting. 2022-10-16 18:39:37 +01:00
xnode.cpp