Seth Hillbrand
c3f6a84d66
Update triangulation to handle poly-intersection
...
Polygon intersections happen against the original outline, not against
the currently remaining polygon. This avoids pathalogical cases
Adds new simplification system to avoid duplicated points
Adds new edge-splitting algorithm to provide additional fall-back
Verifies that polygon cuts do not swap holes for outlines (negative
area)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17559
2024-03-28 10:16:24 -07:00
Marek Roszko
ab759d21f2
Fix more build warnings
2024-03-23 08:53:11 -04:00
Seth Hillbrand
6b915049d1
Check singular arcs connection
...
Even if there are no other segments in the line chain, we still should
check for arc connections in cases of individual arcs on a line chain
2024-03-22 10:41:42 -07:00
Marek Roszko
83ef5fd7d6
Move PGM_BASE to kicommon
2024-03-20 23:29:42 -04:00
Mike Williams
543343b7d1
prettifier: add newlines to golden samples
2024-03-18 16:03:09 -04:00
JamesJ
2311eed08a
Add new ERC rule to check for global labels with only one entry in the schematic
...
By default this rule is set to ignore to provide continuity for those using
single global labels to name nets (e.g. in simulation)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13212
2024-03-17 23:24:43 +00:00
Seth Hillbrand
3cc1617f5a
Fix slow selection time when calculating clearance
...
The clearance between two zones could be rather slow. This was in part
to trying to do triangle-triangle collisions between zones when we only
need outline collision and in part to the shape_line_chain collision
routine. The shape_line_chain collisions don't need to recreate
segments on each iteration and should instead create them once and using
this to check all collisions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17327
2024-03-11 16:32:24 -07:00
Tomasz Wlostowski
9e0cd7e6ee
qa/tools: add PCB_TEST_SELECTION_TOOL to CmakeLists
2024-03-03 17:42:21 +01:00
Tomasz Wlostowski
2280c696d0
wip on resizeable view & adding tabs to pns_debug_tool
2024-03-03 17:42:21 +01:00
Roberto Fernandez Bautista
43e1b36d4d
SHAPE_LINE_CHAIN: Fix indices rotation after clipper
...
Also fix IsArcStart and IsArcEnd functions to work with chains that only
have arcs.
2024-03-02 12:09:09 +00:00
Roberto Fernandez Bautista
5920ee4598
SHAPE_LINE_CHAIN: Add test case of seg+large angle arc
2024-03-02 12:09:09 +00:00
Alex Shvartzkop
defcb49ac8
Support Altium Schematic ASCII import
2024-02-29 20:49:20 +00:00
Jeff Young
532645c9b0
Add tables to eeItem test.
2024-02-25 21:08:38 +00:00
Jon Evans
96ea1f6f89
Revert change to prettifier QA data
...
The file format should not be bumped in these test cases, they are not a test of the file format writer.
2024-02-25 12:50:44 -05:00
Jeff Young
3b560cef50
Fix some test errors.
2024-02-25 13:43:45 +00:00
Jeff Young
f77de66f4e
Generalize ERCItem inspections.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young
ee3be0802c
Move PCBNew overrides to nullable properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5562
2024-02-24 20:05:51 +00:00
Jon Evans
835a82f0b9
Attempt to disable flaky tests for now
...
Issue8003 causes failures on some Ubuntu systems.
Disabling until we understand why.
2024-02-16 20:11:46 -05:00
Roberto Fernandez Bautista
ca148fb4d1
pns_debug_tool: Fix "save as" to save log file with new router state
2024-02-12 21:22:57 +01:00
Roberto Fernandez Bautista
8e0489bc24
pns_debug_tool: goto line windows + add visual studio (half working)
...
Visual studio (full) doesn't seem to like going to the line, but at
least it opens the file in the same instance...
2024-02-10 16:28:01 +01:00
Jon Evans
e427099cff
Disable flaky ngspice tests
...
These need to be re-done in a way that is more
tolerant of the inherent instability/noise in
the simulated circuits (or more ideally, changed
to test a particular thing that can be more
well-defined rather than just simulating a circuit
and seeing if the numbers come out a certain way)
2024-02-08 18:46:30 -05:00
Jeff Young
1e6986d2f5
Don't report starved thermals when connected only to isolated islands.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16866
2024-02-07 14:09:03 +00:00
Roberto Fernandez Bautista
86368abba2
pns_debug_tool: Add Emacs as IDE option for Wayne, maybe?
2024-02-03 10:34:47 +01:00
Roberto Fernandez Bautista
366d8ecb73
pns_debug_tool: Add combobox to select IDE (CLion / VS Code)
2024-02-03 00:36:34 +01:00
Jeff Young
7cc663ad77
Schematic parity checking for CLI DRC.
2024-02-02 23:05:37 +00:00
Roberto Fernandez Bautista
3a95bd1bd1
pns_debug_tool: Add option to go to definition in vs code
...
Todo: add a way to add other IDEs and select them via GUI or
advanced config
2024-02-02 23:47:00 +01:00
Roberto Fernandez Bautista
7276486756
Finish fixing SHAPE_LINE_CHAIN::Slice
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
79aba50c23
Finish fixing SHAPE_LINE_CHAIN::NextShape and add tests
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
70f14277d1
PNS Debug/regresions: Fix some memory leaks
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
effed5dfdf
Fix SHAPE_LINE_CHAIN::Remove and SHAPE_LINE_CHAIN::RemoveShape
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
673e23c2e6
Fix and simplify SHAPE_LINE_CHAIN::Append( SHAPE_ARC ) + QA tests
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
34942290a2
SHAPE_LINE_CHAIN: Fix SetClosed() logic
...
SetClosed should unwrap the chain when there are coincident points at the
start.
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
7593863245
SHAPE_LINE_CHAIN: Fix and simplify ShapeCount()
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15754
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
c72ba189cf
Fix SHAPE_LINE_CHAIN::Slice following NextShape() changes
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
e9fbb36538
SHAPE_LINE_CHAIN: Fix and simplify NextShape() + remove PrevShape()
...
NextShape() function was too complex (trying to go back and forwards).
We only used PrevShape() in one place, so removed that usage.
Added QA tests
2024-01-31 19:17:46 +03:00
Roberto Fernandez Bautista
079478f989
EDA_ANGLE: use constexpr for constant angles
...
Remove all statics in the class and instead use constexpr to
ensure correct ordering
2024-01-31 19:17:46 +03:00
Jeff Young
ae735d3eb4
Renaming: replace convert with body-style.
...
No functional changes.
2024-01-26 16:21:03 +00:00
Marek Roszko
1981997ee2
Dump the ERC report as part of the erc failure
2024-01-21 16:10:43 -05:00
Jeff Young
37c185f437
Remove overly-complex snapping layer for moving objects.
...
We now have a hotkey to select Active Layer vs All Layers,
which gives the user more control.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16683
2024-01-20 22:04:56 +00:00
Jeff Young
e04cd8743c
Separate out Pad_Shape so auto-complete can work.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16566
2024-01-10 19:56:46 +00:00
Jeff Young
27c253780d
Separate out Pad_Shape so auto-complete can work.
2024-01-10 19:22:05 +00:00
Jeff Young
a523c58530
Add a m_forceMarkObstaclesMode warning when violating DRC.
...
Also adds a modifier combination to commit anyway.
2024-01-02 17:02:50 +00:00
Jon Evans
104aa1abe4
Change prettifier QA to not depend on file format changes
...
Instead of writing out and reading back in using the plugin,
just test the formatter itself.
Also add support for testing full boards.
2024-01-01 13:38:16 -05:00
jean-pierre charras
58b7eda47a
QA test( test_prettifier) update golden files and fix a warning message.
2024-01-01 10:57:32 +01:00
John Beard
751c88ef20
Use 'uuid' (not 'id') in the s-expr PCB groups/generator format
...
Add some regression tests to check loading of groups and generators
from various versions of the s-expr PCB format.
2023-12-31 23:09:26 +00:00
Jon Evans
ea0673e7a0
Do not merge buses of distinct types
...
Previously, this code would merge a vector bus
with a group bus containing the vector as a member.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16439
2023-12-30 10:54:24 -05:00
Jon Evans
2ecf1ac23f
Change regression test for #13162 to be less complex
...
We are really only testing that `Rload1` works,
and the original testcase is unstable on some platforms.
2023-12-29 13:18:46 -05:00
Ian McInerney
f2702b223c
Introduce base IO_MGR class and unify RELEASER objects
...
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Marek Roszko
9a890cdba9
Kick the wildcards and file exts into a static class, export it from kicommon
2023-12-27 21:10:01 -05:00
Marek Roszko
9799a7ddcc
Fix broken build due to missing rename
2023-12-23 20:42:46 -05:00