jean-pierre charras
622ddd3a37
3D viewer: fix a minor issue, clean code and and a few comments.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21629
2025-09-03 18:24:56 +02:00
Seth Hillbrand
053c46aa72
Add last point in 3d export
2025-08-31 05:29:37 -07:00
jean-pierre charras
7610c02fed
3D view: honor round rectangle shape.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21597
2025-08-30 18:51:43 +02:00
Jeff Young
044ac6e8e5
Prefer board's errorMax to a constant.
2025-06-27 22:59:12 -06:00
Jeff Young
98e0a79f05
Prefer board's errorMax to a constant.
2025-06-27 22:59:12 -06:00
jean-pierre charras
6471db70cd
3Dviewer: Fix crash created by commit 447b7426 when a board has Bezier shapes.
2025-06-16 11:06:44 +02:00
Jeff Young
4ebe0686e2
Fix linebreak.
2025-06-03 11:41:27 +01:00
Jeff Young
f58fc0b952
Rewrite GROUP undo based on uuids.
...
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00
Damjan
447b7426fd
3d_viewer: hatched polygons shown as solid
2025-05-17 17:45:29 +00:00
Jeff Young
d384790d47
Don't use line styles for solder masks on shapes in 3D viewer.
...
Also convert hatched fills to solid for solder masks.
Also give track solder masks their specified
expansion when exporting to STEP.
Also implement solder masks for shapes when
exporting to STEP.
2025-04-28 21:46:10 +01:00
Jeff Young
824c7ecfa7
Improve readability.
...
Also drops a parameter that hasn't been implemented
since early 2022.
2025-03-19 08:55:32 +00:00
Jeff Young
142f8265c5
Simplify (and fix) plated copper differentiation.
...
Also a few fixes for 3D rendering textboxes and
tables.
2025-03-17 20:11:20 +00:00
Jeff Young
f3f9730f2c
Render tables & their borders to 3D view.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19981
2025-03-13 14:04:31 +00:00
Jeff Young
50174ec528
Beware of infinite recursion on colliding hatched shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20264
2025-03-08 21:23:14 +00:00
Jeff Young
f00947266f
Don't render thickness walls of text we're not going to draw.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20200
2025-03-04 11:29:05 +00:00
Jeff Young
3f15b0d75b
ADDED: hatched fills for shapes.
2025-02-24 11:08:29 +00:00
Jeff Young
5edae8250d
Finish eradication of visibility flag on text items.
...
Import/read previously-hidden symbol/footprint
text items as hidden fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19875
2025-02-19 23:43:52 +00:00
Wayne Stambaugh
42a1d1cf0b
Include folder and 3D viewer code housekeeping.
2025-01-11 07:25:14 -05:00
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
...
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jeff Young
eccc5bca3e
Use render cache (when available) for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18672
2024-12-24 21:22:31 +00:00
Seth Hillbrand
e9bc8cfe9d
Give Clipper1 a Viking funeral
...
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Alex Shvartzkop
c3fb1445c7
Fix assert failures in 3D renderer after padstack changes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19069
2024-11-05 19:41:20 +03:00
Andrzej.W
b49ebaeb16
ADDED: Soldermask layer option for graphic shapes
...
Allows adding a soldermask opening for shapes on a copper layer.
Soldermask expansion can also be specified.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2125
2024-10-10 12:46:06 +00:00
John Beard
4bad76825c
Standardise clamp function
...
std::clamp and alg:clamp had different argument orders.
Since std::clamp is constexpr, we might as well just use
that now we have it.
2024-10-09 21:27:58 -06:00
Andrzej Wolski
537d3ac81a
ADDED: Soldermask layer option for tracks
...
Allows adding a soldermask opening for individual tracks.
Soldermask expansion can also be specified.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2125
2024-10-08 02:48:33 +00:00
Jon Evans
56e0811516
Phase 2 of padstack support
...
CHANGED: PCB file format now supports saving/loading complex padstacks
CHANGED: PTH pads are now rendered per copper layer in the copper color;
the PTH pad color is no longer used.
ADDED: support for importing complex pad stacks from Altium PCBs
Enforce padstack-aware access to pad properties across KiCad
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8182
2024-10-01 19:55:03 -04:00
jean-pierre charras
a4ba7ec6ec
3E viewer: fix incorrect custom pad shape in some cases.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18495
2024-08-06 13:48:56 +02:00
Alex Shvartzkop
16e3692e71
Build time optimizations.
2024-04-27 23:49:13 +03:00
Jeff Young
e445249720
ADDED: PCB tables.
2024-02-24 20:05:51 +00:00
jean-pierre charras
0afac71b27
3D viewer: fix the case of circles having a thickness > radius/2
...
Fixes #17035
https://gitlab.com/kicad/code/kicad/-/issues/17035
2024-02-20 09:20:33 +01:00
Jeff Young
df83e24eb7
Cleanup.
...
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
jean-pierre charras
abcbba5635
PCB_TEXTBOX, create 3D shape: fix incorrect transform of the box, round 2:
...
when the box is a polygon (rotated rect by a non cardinal angle) the polygon
is not filled, so the shape is just a set of thick segments.
So we cannot use PCB_TEXTBOX::TransformShapeToPolygon to create the 3D view
Fixes #16072
https://gitlab.com/kicad/code/kicad/-/issues/16072
2023-11-11 18:11:50 +01: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
d7863b09c5
Move CORNER_STRATEGY out of SHAPE_POLY_SET.
2023-10-06 15:42:50 +03:00
Jeff Young
8d06a794f4
Simplify code.
...
DrawAllCameraCulled() can handle up to 4 knockout lists, and any
of them can be null, so don't dance around how we call it.
2023-09-21 14:02:23 +01:00
jean-pierre charras
b1ed0529d7
3D viewer: Simplify polygons before triangulation.
...
It reduce the risk to create bad triangulation.
Fixes #15706
https://gitlab.com/kicad/code/kicad/-/issues/15706
2023-09-21 11:32:32 +02:00
jean-pierre charras
a7b1448ccd
Fix a compil warning.
...
Fix also an incorrect comment.
2023-09-14 15:19:46 +02:00
Jeff Young
8cf291e423
Overhaul 3D degenerate shape protection.
2023-09-14 12:33:54 +01:00
Jeff Young
47dc86c1e2
Run filled-test before degenerate-ring-test.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15642
2023-09-13 23:34:25 +01:00
jean-pierre charras
2c10d5e3a0
Pcbnew: fix some issues with very small arcs (size a few internal units)
...
these very small arcs do not allow to calculate a reliable center position,
and therefore a reliable radius.
So seeing them as a very small segment fix plotting/drawing issues.
Fixes #15639
https://gitlab.com/kicad/code/kicad/-/issues/15639
2023-09-13 17:54:57 +02:00
Jeff Young
70bbaae670
Don't attempt to render degenerate 3D shapes.
...
Sentry KICAD-382
2023-09-04 22:10:47 +01:00
Marek Roszko
2e58f4ea60
Fix three spots it always failed to check if the border was enabled
2023-08-30 22:39:07 -04:00
Ian McInerney
2d8b707a3a
Remove dummy pad from group before deleting
...
The dummy pad doesn't need group information, and it asserts when it has
it and is deleted.
Fixes KICAD-3B9
2023-08-21 10:32:50 +01:00
Jeff Young
f45760062b
ADDED: appearances manager for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12413
2023-08-14 18:08:36 +01:00
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2023-08-06 20:57:41 +01:00
jean-pierre charras
a16ab0aae1
Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
...
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Jeff Young
a85a2b9cbc
Add via solder mask to 3D viewer rendering.
...
(Of course, only when vias are not tented.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15164
2023-07-12 18:28:02 +01:00
Mike Williams
993bb84240
PCB_FIELD: bug fixes
2023-06-20 18:34:52 +00:00
Jeff Young
5875f89531
Centralize text size clamping.
...
Also introduces alg::clamp to improve readability of
std::max( min, std::max( value, max ) )
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14876
2023-06-03 20:29:51 +01:00
Jeff Young
65e53b8ecd
Move SHAPE_POLY_SET::Inflate's error spec from a seg-count to a max-deviation.
...
1) Also reorders parameters to make sure the compiler helps out.
2) This also makes it harder to mess up the discrepency between
BOX2I/wxRECT/etc::Inflate() and SHAPE_POLY_SET::Inflate.
3) Also fixes a couple of bugs where the corner strategy was passed
in as a segCount.
4) Also fixes a couple of bugs where the error wasn't forced to the
outside to match the ERROR_LOCATION.
5) Also fixes a couple of bugs where the seg count was specified
without regard to an already passed-in max deviation
2023-05-29 15:29:03 +01:00