Jeff Young
8410a5e685
Coding conventions and cleanup.
2024-01-23 16:03:25 +00:00
Seth Hillbrand
f1dacf7d92
Updated revision of polygon triangulation from 0a67dd3fdd
...
This maintains the primary goal of ensuring that bad splits do not allow
the triangulation process to continue. Instead, we boot this back up to
the top-level where we will simplify the polygon before triangulating
again.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16624
2024-01-18 11:07:40 -08:00
Seth Hillbrand
e4a0b9c7ed
Revert "Revise triangulation"
...
This reverts commit 0a67dd3fdd
.
2024-01-18 11:07:40 -08:00
Alex Shvartzkop
d512e09eb8
std::isnan is not constexpr in C++17
2024-01-16 18:42:37 +03:00
Alex Shvartzkop
4c630e5aec
KiROUND: make sure input type is floating point before checking for nan.
2024-01-16 17:25:46 +03:00
Alex Shvartzkop
f99505e190
Fix arc editing bugs when endpoints match.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16532
2024-01-16 16:17:45 +03:00
Jeff Young
33c97da0fa
Performance enhancement.
2023-12-27 13:52:02 +00:00
Ian McInerney
5c334c147b
Make some types auto-reference to prevent copies
2023-12-19 14:23:36 +00:00
Marek Roszko
5341af1a55
Add wxUniChar overload for nlohmann's internal char_traits
2023-12-18 22:10:39 -05:00
Wayne Stambaugh
a4b38fbb80
Coverity warning fixes.
2023-12-18 16:09:13 -05:00
Jeff Young
cfa55d958a
performance efficiencies
2023-12-18 18:45:02 +00:00
Jeff Young
8251fca66a
performance efficiencies
2023-12-18 17:39:29 +00:00
Jeff Young
11805d6696
performance efficiencies
2023-12-18 17:01:55 +00:00
Seth Hillbrand
0a67dd3fdd
Revise triangulation
...
- Avoid double-splitting a single point
- Check for mid-line intersections
- Avoid splitting zero-area polygons
- Keep full z-list for intersection checks
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16241
2023-12-13 13:37:17 -08:00
Alex Shvartzkop
bfcd087751
Add KiROUND for VECTOR2 types.
2023-12-02 17:08:56 +03:00
Alex Shvartzkop
2d9eee93e2
Fixes for length tuning patterns.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16198
2023-12-01 08:44:10 +03:00
Seth Hillbrand
daf178b64f
Upgrade Clipper2 to 1.3.0
...
Fixes a number of minor inflation issues including slivers when
overlapping points are inflated
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16182
2023-11-28 16:02:39 -08:00
jean-pierre charras
7fd9226bec
Fix issue in CalcArcCenter( VECTOR2D& aStart, VECTOR2D& aMid, VECTOR2D& aEnd )
...
It happens when the segment (aStart, aMid) is horizontal
Probably also when the segment (aEnd, aMid) is horizontal
Slopes with value 0.0 are set to double:: epsilon(), but it was a too small values
generating broken calculations.
Now set to 1e-10 (it seems working).
Fixes #16089
https://gitlab.com/kicad/code/kicad/-/issues/16089
2023-11-18 20:08:26 +01:00
Alex Shvartzkop
648b4a7689
TransformOvalToPolygon: make segments align at 45 deg angles.
2023-11-06 14:50:40 +03:00
Jeff Young
24ca7add42
Don't clamp arc centers quite so aggressively.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16029
2023-11-06 00:45:19 +00:00
Wayne Stambaugh
bfd3e71a88
Don't show integer overflow errors in release builds.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15529
2023-10-28 15:06:32 -04:00
Wayne Stambaugh
84f58f36d4
Coding policy fixes.
2023-10-28 14:45:44 -04:00
Wayne Stambaugh
b8310efd19
Coding policy, Doxygen comment, and spelling fixes.
2023-10-20 14:32:54 -04:00
Jon Evans
dda14e68a2
Add macOS required libraries in kiplatform
...
Supersedes 36b0aa60
2023-10-20 11:26:22 -04:00
Alex Shvartzkop
28c72f0cf4
Fix secrets.cpp on Windows.
2023-10-20 18:20:14 +03:00
Seth Hillbrand
5c5a38af21
Update fixes for MacOS
2023-10-20 16:21:31 +02:00
Seth Hillbrand
7720ef3fae
Add missing include in kicad_algo.h
2023-10-20 16:11:46 +02:00
Seth Hillbrand
91f28f84d7
Update MacOS security routines
2023-10-20 16:10:49 +02:00
Seth Hillbrand
d99641be40
ADDED: Git integration support
...
Adds support for project-based git integration, branch support, commit,
revert and updates
Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Alex Shvartzkop
be1008cbd8
ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog.
2023-10-17 10:29:43 +03:00
Jeff Young
2b28580f0c
Comments.
2023-10-15 17:59:11 +01:00
Mark Roszko
8b7af2b545
Fix broken 3dconnexion driver check
...
It essentially inverted it because version > min_win_version would return true, but then it would be checked against <= 0 which is false
2023-10-13 17:06:44 +00:00
Jeff Young
62d959ed0e
Don't assume an error location for PAD::GetEffectivePolygon().
...
While ERROR_INSIDE was good for plotting, 3D generation, etc., it's
not good for generating router hulls.
Also reverts part of the change to always use polygons for PNS::SOLIDs. A single shape in a SHAPE_COMPOUND will be faster (and
more accurate).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14898
2023-10-13 13:59:26 +01:00
Alex Shvartzkop
8b21a260c9
Refactor MEANDER_PLACER_BASE::cutTunedLine to SHAPE_LINE_CHAIN::Split.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
f9efed692d
Pick location closest to aSeg.A in SHAPE_COMPOUND and SHAPE_RECT Collide.
2023-10-06 16:05:05 +03:00
Alex Shvartzkop
92ef40327d
Add accuracy parameter to SHAPE_POLY_SET::PointOnEdge.
2023-10-06 15:56:46 +03:00
Alex Shvartzkop
de0c1218c3
Add a method to offset line chains.
2023-10-06 15:50:37 +03:00
Alex Shvartzkop
8a22a8fa69
Add aExact to SHAPE_LINE_CHAIN::Split.
2023-10-06 15:50:37 +03:00
Alex Shvartzkop
d7863b09c5
Move CORNER_STRATEGY out of SHAPE_POLY_SET.
2023-10-06 15:42:50 +03:00
Alex Shvartzkop
2cd630b47d
Fix a bug causing lower segment count on holes when deflating polygons.
2023-10-06 15:36:42 +03:00
Jeff Young
40ef850bd3
Don't halve indicator icon size on Mac.
2023-10-01 19:01:02 +01:00
Seth Hillbrand
06428e0161
Remove unused
2023-09-27 18:05:21 -07:00
Alex Shvartzkop
3c40cb3fd3
Wayland: add global_remove handler, logging.
2023-09-27 18:06:57 +03:00
Alex Shvartzkop
3ee2086f95
Don't freak out when can't warp the pointer.
2023-09-22 05:10:42 +03:00
Clément Saccoccio
a3bc3e138b
Fixed frozen pointer for some GNOME/Wayland installation.
2023-09-21 17:09:50 +00:00
Seth Hillbrand
c497abd8ee
Fix MSW registry key for 3dconnection
...
See discussion at 7af5037ad7 (note_1568602292)
2023-09-21 09:55:11 -07:00
Alex Shvartzkop
b6c0a3f60c
Wayland: slightly better infinite drag release logic.
2023-09-18 17:42:09 +03:00
Alex Shvartzkop
768d4a6782
Wayland: fix cursor warping on KDE and Weston, add logging.
2023-09-18 12:56:54 +00:00
Alex Shvartzkop
c49b19b0ce
Don't set GDK_BACKEND=x11 when EGL is enabled in wx.
2023-09-18 12:56:54 +00:00
Alex Shvartzkop
06463fd35a
Fixes for Wayland cursor warping:
...
- Emulate the mouse position, since no motion events are sent after warp
- Do not call wl_surface_commit to prevent an assert
- Re-organize code a bit
2023-09-18 12:56:54 +00:00
Clément Saccoccio
ad62b165fe
Fixed infinite mouse-drag with fast movement on Wayland.
2023-09-18 12:56:54 +00:00
Alex Shvartzkop
8db400500d
Enable Wayland tricks by default when configured with KICAD_WAYLAND=1.
2023-09-15 00:30:54 +03:00
Alex Shvartzkop
89cb35dc22
Support pointer warping on Wayland.
...
Configure with KICAD_WAYLAND=1
2023-09-15 00:04:36 +03:00
Alex
3e710fe7c9
Wayland: add KICAD_WAYLAND_TRICKS env variable.
2023-09-14 03:54:01 +03:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
ab1a6651a9
send multivector.h and sync_queue.h to core
2023-09-08 07:14:34 -04:00
Marek Roszko
1a6d459fb1
Fix wrong path slash
2023-09-07 22:09:26 -04:00
Marek Roszko
5da88d1d0e
Move UTF8 to core
2023-09-07 20:55:16 -04:00
Marek Roszko
e83f87520c
Transform is right at home in kimath
2023-09-07 18:03:33 -04:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
jean-pierre charras
3e6f7ab3e5
Fix compil issues (especially easyeda_parser_base.xx) and compil warnings
...
Compil issues can be gcc13/msys2 specific.
2023-09-07 13:41:25 +02:00
Alex Shvartzkop
21ee65aa9c
ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional.
2023-09-07 11:02:40 +03:00
Alex Shvartzkop
05a8e59884
Move wxString and std::optional JSON serializers to core header.
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
1b8abdfde7
ADDED: Basic STEP manipulation utils available to Python.
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
52feb38fd1
Add map_helpers.h
2023-09-07 10:57:02 +03:00
Marek Roszko
96bec8c553
promote base64.cpp to core
2023-09-06 23:27:08 -04:00
Marek Roszko
5c62b98e7c
observable can live in core
2023-09-06 21:25:24 -04:00
Marek Roszko
4d77fd48ef
Shove thread_pool to core
2023-09-06 17:50:12 -04:00
John Beard
78c8de9b08
Fix oval pad snapping
...
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.
Also adds "extremum points" when the oval isn't exactly H/V.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-06 21:33:45 +01:00
Seth Hillbrand
7af5037ad7
Fix version compare for MSW 3D Connexion mouse
2023-08-30 15:10:45 -07:00
Josue
94e86a69be
Update RECT to RECTANGLE
2023-08-29 11:50:22 -05:00
Josue
e5316fd1aa
Change name: Truncate -> Round
2023-08-29 11:50:12 -05:00
Josue
8d7255aae3
truncate angle values in Segment properties
2023-08-29 11:50:09 -05:00
Alex Shvartzkop
a9a2d4aa7a
Improve error reporting when running Python action plugins.
...
Python error traceback is now logged to stderr.
On Windows, a console window will pop up if wxTheApp gets destroyed,
because message dialogs crash due to hooks that wxWidgets sets up.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15520
2023-08-29 07:06:11 +03:00
Seth Hillbrand
db8e15ce88
Require wxWidgets 3.2
...
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Jon Evans
0714d3f1ab
Fix SHAPE::Distance warnings
2023-08-22 08:30:47 -04:00
Jon Evans
0c529411d7
Update SHAPE_POLY_SET API to not hide virtual functions
2023-08-18 21:40:40 -04:00
Marek Roszko
726f09f9ad
Add a workaround to Nahimic crapware
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11850
2023-08-17 22:46:22 -04:00
Marek Roszko
3f182a36c9
Silence uint32 to uint8 cast warning
2023-08-17 22:27:15 -04:00
Jon Evans
bf0592ad53
Lift some point-vs-shape APIs into SHAPE base class
...
Also provide a virtual method for conversion to polygon
2023-08-17 08:02:14 -04:00
Alex Shvartzkop
040fd327ab
SHAPE_POLY_SET: add BooleanXor()
2023-08-10 00:29:47 +03:00
Alex Shvartzkop
6d624ac1ff
SHAPE_POLY_SET: allow constructing/adding/iterating with POLYGON
2023-08-10 00:29:33 +03:00
Jeff Young
0413270012
ADDED: Move Corner To... and Move Midpoint To...
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5012
2023-08-05 16:43:55 +01:00
Jon Evans
d2ec4834d9
Fix macOS impl of Valid3DConnexionDriverVersion
2023-07-27 08:30:08 -04:00
Seth Hillbrand
8546d417df
Prevent dereferencing end iterator
2023-07-25 10:49:35 -07:00
Roberto Fernandez Bautista
dadcc70a3d
Partially revert 6cb80422
...
We don't need to touch cmake for anything (avoid confusion for future Devs)
2023-07-24 21:40:06 +00:00
Roberto Fernandez Bautista
6cb804228b
Fix windows build
...
core needs to be linked after wxWidgets + use wide string literals
2023-07-24 22:59:41 +02:00
Seth Hillbrand
9902250f5d
Fix a couple of issues with NAVLIB version checker
...
Need to include core lib in kiplatform for the version functions. Need
to link kiplatform into the navlib library in eeschema to load
2023-07-24 13:55:12 -07:00
Seth Hillbrand
32ad42a435
Add 3dconnexion driver version check
...
Re-enable 3dconnexion driver by default as we are able to gate the
driver versions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13362
2023-07-24 18:09:52 +00:00
Ian McInerney
c26863cc1e
Don't try to enable sequential mode on non-existant files on GTK
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15222
2023-07-18 21:03:28 +01:00
Marek Roszko
c009328c07
Undo accidental commit from some time ago (woops)
2023-07-16 21:54:09 -04:00
Roberto Fernandez Bautista
e7019cc7d2
Fix msvc warnings in kimath (add explicit casts)
2023-07-16 15:41:04 +02:00
Marek Roszko
b0fa2561b6
Add support for enum based policies
2023-07-13 19:01:04 -04:00
Ian McInerney
5aff8b6a6e
Switch to string_view in tool action construction
...
The TOOL_ACTION_ARGS construction method is supposed to be fairly light
weight, so instead of creating/destroying strings all the time, pass
string_views to the actual string data instead.
wx doesn't currently support string_view -> wxString implicitly
currently, so we have to do the conversion ourself.
2023-07-13 00:53:06 +01:00
John Beard
046d978ba7
ADDED: Pcbnew chamfer and extend tools
...
Using the new ITEM_MODIFICATION_ROUTINE system, drop in two new
tools: chamfer and line extend. These are two geometric operations
that are relatively common when editing footprints in particular.
Chamfer delegates the geometric calculations to a dedicated unit
in kimath/geometry.
2023-07-12 19:21:37 +01:00
Alex Shvartzkop
f8f7b84f13
LTspice import: add LTspice 17.1 Windows library path.
2023-07-12 10:57:30 +05:00
Jeff Young
a66360525a
Broaden "Style footprint fields" to cover graphics as well.
...
Also cleans up the layout of the symbol & fp properties dialogs.
Also fixes the background colour of the link textEdit controls on Mac.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8161
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15152
2023-07-09 12:45:55 +01:00
Mark Roszko
e53e571d2d
const bool is just bool
2023-07-08 01:02:59 +00:00
Seth Hillbrand
954b265839
Check for zone-zone overlap
...
Instead of just checking for the zone outline, we adjust to check the
full fill area of the zones for intersection and overlaps
2023-07-07 11:52:25 -07:00
Kuba Sunderland-Ober
b938064e29
Fix missing consts.
2023-07-05 10:20:18 +00:00