Jon Evans
6bd02cae6d
Refactor; add user control over API server
2024-04-02 19:51:18 -04:00
Jon Evans
f613cd1cb4
ADDED: A new IPC API based on protobuf and nng
...
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04: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
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
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
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
Alex Shvartzkop
7e68da7f7f
QA: show more info in TestCalcArcCenter3Pts.
2023-11-25 20:09:51 +03:00
Alex Shvartzkop
b7824adfb1
QA: add a test for CalcArcCenter( aStart, aMid, aEnd )
2023-11-25 18:37:53 +03:00
Jeff Young
2450250ae7
Use "tuning pattern" in the GUI.
2023-10-15 17:59:11 +01: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
Jon Evans
0c529411d7
Update SHAPE_POLY_SET API to not hide virtual functions
2023-08-18 21:40:40 -04: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
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
Marek Roszko
c31b5eb7d8
Fix errant typecast in VECTOR2<T>::Resize
...
This fails QA on Windows but not Linux
2023-05-29 19:34:40 -04:00
Marek Roszko
8b3f5de620
Add a simple testcase for VECTOR2I::Resize
2023-05-29 18:32:56 -04:00
Marek Roszko
8d4db2edf5
Move tests around
2023-04-24 22:09:36 -04:00