kicad/common
Jeff Young 16f9e697ab Allow edits to self-intersecting polygons.
1) Intermediate states might be self-intersecting, and we shouldn't
be policing our users on what order to do things in
2) The polygon might already be self-intersecting, at which point we're
preventing the user from fixing it.

Also includes better const management for SHAPE_POLY_SET API.

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

(cherry picked from commit a3c74051c2)
2019-07-14 18:36:47 +01:00
..
dialog_about Fix frame name capitalization in all about dialogs. 2019-05-13 16:22:52 -04:00
dialogs CvPcb: fix save changes dialog layout issue. 2019-06-16 12:28:35 -04:00
gal Fix issue in cairo_gal when drawing a 360 deg arc (in fact a circle). It was due to a angle normalization between -360 and 360 degrees. So, in arcs, if the start angle and end angle diff is n*360 deg, this normalization gives start angle = end angle. The fix forces end angle = start angle+360deg in this case. 2019-06-09 11:09:43 +02:00
geometry Allow edits to self-intersecting polygons. 2019-07-14 18:36:47 +01:00
kicad_curl Remove useless includes and more fixes to avoid including curl.h in files, when not mandatory. 2017-09-05 08:07:31 +02:00
legacy_gal Fix bugs in keyboard cursor movement. 2019-07-05 01:32:15 +01:00
legacy_wx Show the current grid setting. 2019-06-13 12:14:41 -04:00
libeval Libeval: consistent formatting for NaN 2019-04-08 16:29:24 +01:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout DC printing: Place worksheet behind schematic 2019-06-17 13:03:00 -07:00
plotters pcbnew: Clean up warnings with unit handling in the DXF export 2019-07-10 12:42:54 -04:00
preview_items Pcbnew, Ruler tool: protect unit display against erroneous translation of \" 2019-02-22 20:47:55 +01:00
swig swig: clear up some warnings 2018-12-20 11:04:55 -08:00
system Fix compilation issue on PPC64 2019-02-20 09:44:03 -05:00
tool Fix bugs in keyboard cursor movement. 2019-07-05 01:32:15 +01:00
view All: fix horizontal touchpad panning 2019-05-08 11:07:45 +01:00
widgets Fix invalid wxImageList build. 2019-06-15 16:08:07 +02:00
CMakeLists.txt CvPcb: fix save changes dialog layout issue. 2019-06-16 12:28:35 -04:00
advanced_config.cpp Disable legacy canvas on GTK3 2018-12-28 11:36:09 -05:00
array_options.cpp Separate ARRAY_OPTIONS to own class in common 2019-01-30 15:41:35 -08:00
base_screen.cpp Libedit: transfer current screen settings on part load 2019-02-08 22:56:05 +00:00
base_struct.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
base_units.cpp Enforcing rational limits on length tuner 2019-06-29 09:37:47 -07:00
basic_gal.cpp DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list. 2018-04-07 19:57:26 +02:00
bezier_curves.cpp DXF import: add import of DXF splines that are converted to Bezier curves. 2018-07-22 18:39:47 +02:00
bin_mod.cpp Fix incorrect initialization of some menuitems IDs. 2019-06-06 08:01:24 +02:00
bitmap.cpp Footprint editor: add save view to PNG file. 2018-11-09 08:32:36 -05:00
bitmap_base.cpp DC printing: Place worksheet behind schematic 2019-06-17 13:03:00 -07:00
board_printout.cpp When printing, pads are not always printed (especially on tech layers) 2018-12-22 13:44:49 +01:00
build_version.cpp Version string improvements. 2016-11-25 09:09:10 -05:00
colors.cpp Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
colors_design_settings.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
commit.cpp commit: protect against un-copyable error 2019-02-16 13:28:45 -08:00
common.cpp Replace isdigit() with wxIsdigit() when testing wxString characters. 2019-03-15 15:54:49 -04:00
config_params.cpp Implementation of ERC markers. 2018-10-09 11:08:55 +01:00
confirm.cpp CvPcb: fix save changes dialog layout issue. 2019-06-16 12:28:35 -04:00
convert_basic_shapes_to_polygon.cpp Custom pads: fix incorrect shape of masks when the shape is a polygon with holes and the mask margin is < 0. This is mainly the solder paste layer that shows this issue. This is due to the fact SHAPE_POLY_SET::Inflate does not work fine with polygons with linked holes. SHAPE_POLY_SET::InflateWithLinkedHoles it added to fix this issue. 2019-05-09 16:24:39 +02:00
cursor_store.cpp Eeschema: construct simulator cursors on demand 2019-04-02 19:08:26 +01:00
dialog_shim.cpp Allow dialogs to veto mouse-warping when called from context menu. 2019-04-13 11:30:09 -04:00
displlst.cpp Fix potential string iterator issue. 2019-03-02 08:20:53 -05:00
dlist.cpp Fixed an assert in DHEAD::append() 2018-05-11 10:23:40 +02:00
dpi_scaling.cpp Add configuration of Hi-DPI canvas scaling in OpenGL 2019-03-25 15:16:18 +00:00
draw_graphic_text.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
draw_panel_gal.cpp GTK3: Force scrollbars visible 2019-02-19 10:52:39 -08:00
dsnlexer.cpp Revert "Don't be pedantic about the file format." 2018-03-16 18:11:36 +00:00
eagle_parser.cpp Eagle: Fix crash when importing Eagle V6 2019-05-26 20:34:05 -07:00
eda_base_frame.cpp Unify and correct Autosave functions 2019-03-18 10:27:09 -07:00
eda_dde.cpp Keep track of open sockets and dispose of them in d'tor. 2018-04-04 12:02:40 +01:00
eda_doc.cpp Move env var substitution into GetAssociatedDocument 2019-03-10 10:44:23 -07:00
eda_dockart.cpp eeschema-gal: temporarily disable scrollbar code (causes crashes after Jeff's changes) 2018-10-09 11:08:55 +01:00
eda_pattern_match.cpp Prevent implicit * from wildcard match in footprint 2018-05-01 16:49:20 -07:00
eda_size_ctrl.cpp Clean up units infrastructure after g_UserUnit removal. 2018-07-17 15:12:36 +01:00
eda_text.cpp units: Move common units and add tests 2019-01-08 09:29:32 -08:00
env_paths.cpp Fixed normalizeAbsolutePaths() condition 2018-05-25 11:07:51 +02:00
env_vars.cpp Add configuration of Hi-DPI canvas scaling in OpenGL 2019-03-25 15:16:18 +00:00
exceptions.cpp Fix quotes in UI messages 2017-12-15 07:33:07 -05:00
executable_names.cpp Move executable name constants to own file 2017-03-23 09:23:45 -04:00
filename_resolver.cpp Fold 3D Search Paths dialog into Configure Paths. 2018-07-17 15:11:01 +01:00
filter_reader.cpp richio.h, class LINE_READER: prefix variable member names by "m_", like in other classes in Kicad. 2017-11-12 18:29:56 +01:00
footprint_filter.cpp Performance enhancements in fp loading, string cmp, etc. 2018-08-01 09:35:46 +01:00
footprint_info.cpp Null pointer check in FOOTPRINT_LIST::GetInstance() 2018-10-12 23:51:31 +02:00
fp_lib_table.cpp Add FootprintExists() which can be more careful about FS differences. 2019-07-11 23:01:25 +01:00
gbr_metadata.cpp Gerber drill file: Modify a aperture attribute for oblong holes (slots). 2019-06-26 17:53:09 +02:00
gestfich.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
getrunningmicrosecs.cpp Performance counter rework: More comments, code cleaning, and move GetRunningMicroSecs() prototype from common.h to profile.h. 2017-01-02 13:49:36 +01:00
gl_context_mgr.cpp Dealing with inconsistent wxGLCanvas::IsDisplaySupported() 2018-06-11 12:26:59 +02:00
gr_basic.cpp Add line style drawing. 2018-10-09 11:08:56 +01:00
grid_tricks.cpp Fix compile issue on Linux 2019-03-04 06:11:44 -08:00
hash_eda.cpp Hash functions for BOARD_ITEMs 2017-10-24 23:10:40 +02:00
hotkey_store.cpp Added hotkey validity checking to the preferences menu 2019-06-13 13:53:04 -04:00
hotkeys_basic.cpp Add read-only option for hotkey list, use for list dialog 2018-10-04 07:47:21 -04:00
html_messagebox.cpp Release mouse before closing HTML_MESSAGE_BOX. 2018-05-21 13:18:41 +01:00
kiface_i.cpp Removed old debug output 2017-12-17 18:43:43 +01:00
kiway.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
kiway_express.cpp Teach cvpcb about new KIWAY based cross-probing, factor out MAIL_T into mail_type.h 2014-04-22 10:16:19 -05:00
kiway_holder.cpp Allow dialogs to veto mouse-warping when called from context menu. 2019-04-13 11:30:09 -04:00
kiway_player.cpp Unified preferences dialog framework. 2018-07-17 15:11:17 +01:00
lib_id.cpp Fix LIB_ID illegal character tests. 2018-10-07 09:09:27 -04:00
lib_table.keywords Added "enabled" parameter for LIB_TABLE_ROW 2017-11-21 08:18:06 -05:00
lib_table_base.cpp QA: LIB_TABLE tests 2019-02-04 19:44:54 -08:00
lib_tree_model.cpp Fix potential string iterator issue. 2019-03-02 08:20:53 -05:00
lib_tree_model.h libtree: Update width automatically 2019-02-12 21:56:47 -08:00
lib_tree_model_adapter.cpp Eeschema: Fix/circumvert GTK3 tree view bug 2019-04-28 17:18:09 +01:00
lib_tree_model_adapter.h libtree: Update width automatically 2019-02-12 21:56:47 -08:00
lockfile.cpp Move file locking utilities to a separate file 2017-03-23 09:23:45 -04:00
lset.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
marker_base.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
md5_hash.cpp fix minor compil warnings 2017-12-05 18:02:53 +01:00
msgpanel.cpp Remove colours from message text items. 2018-07-17 15:11:40 +01:00
netlist.keywords Fix Bug #1381287 (CvPCB ignores the footprint filter field on aliased components) 2015-01-02 08:52:29 +01:00
newstroke_font.cpp all: new Russian GOST patch - author Konstantin Baranovskiy 2013-03-28 00:38:20 +04:00
observable.cpp Coverity fixes (mostly initializing variables) 2017-02-01 17:31:55 +01:00
origin_viewitem.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
page_info.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
painter.cpp Wire m_showPageLimits control up to GAL canvas. 2018-07-17 15:13:29 +01:00
pcb.keywords Revert "Allow 5.0 to read 6.0 files with hole-to-hole clearance settings." 2018-03-16 22:22:15 +00:00
pcb_plot_params.keywords Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled 2017-08-30 11:04:33 +02:00
pgm_base.cpp Fix default User Template location 2019-06-11 13:46:10 -07:00
prependpath.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
printout.cpp Removed default line width setting from the printing dialog 2018-10-31 19:17:30 +01:00
project.cpp Ensure we have a destination for config template 2019-01-28 17:16:53 -08:00
properties.cpp Eeschema: initial schematic I/O plugin. 2016-07-06 05:22:56 -04:00
ptree.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
refdes_utils.cpp Fix broken GetReferencePrefix function 2019-01-30 15:41:36 -08:00
reporter.cpp Optionally sort reporter messages 2018-05-22 13:55:02 -07:00
richio.cpp Fix compile error on Linux. 2018-08-14 14:57:42 +01:00
search_stack.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
searchhelpfilefullpath.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
selcolor.cpp Clean up file locations and names. 2018-09-22 16:23:13 +01:00
settings.cpp Multiple improvements concerning colors, configuration handling and legacy features in pcbnew: 2017-08-04 16:06:57 +02:00
single_top.cpp Force X11 on linux 2019-02-26 08:51:12 -08:00
status_popup.cpp status_popup: Allow VECTOR2I input 2018-12-13 12:32:58 -08:00
streamwrapper.cpp Replace WIN32 preprocessor symbol by the official symbol _WIN32, used almost everywhere 2018-10-20 09:22:24 +02:00
string.cpp Replace isdigit() with wxIsdigit() when testing wxString characters. 2019-03-15 15:54:49 -04:00
strtok_r.c Add strtok_r.c 2013-12-10 17:52:51 -06:00
systemdirsappend.cpp Minor fixes: remove a few useless includes and move a few others to the right file. Remove a few coverity warnings about not initialized members. 2015-05-15 14:49:11 +02:00
text_utils.cpp change UTF8& operator+=( wchar_t ch ) to UTF8& operator+=( unsigned ch ), because swig does not like wchar_t. 2017-12-08 17:57:53 +01:00
trace_helpers.cpp Eeschema: fix broken symbol library links. 2019-05-02 12:13:30 -04:00
undo_redo_container.cpp fix code after file renaming 2018-01-31 09:24:02 +01:00
utf8.cpp UTF8: Fix MSVC builds 2018-10-18 11:35:45 -07:00
validators.cpp Minor library identifier validator change. 2019-06-18 12:16:51 -04:00
wildcards_and_files_ext.cpp Fix case-sensitive import using KiCad std 2019-07-10 10:33:03 -07:00
worksheet.cpp eeschema-gal: Base refactoring before GALification of the eeschema legacy canvas. 2018-10-09 11:08:52 +01:00
worksheet_viewitem.cpp pcbnew: Draw title block normally even when the view is flipped 2018-10-31 19:17:30 +01:00
wxdataviewctrl_helpers.cpp Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp 2017-03-30 21:47:14 -04:00
xnode.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00