Alex Shvartzkop
d7863b09c5
Move CORNER_STRATEGY out of SHAPE_POLY_SET.
2023-10-06 15:42:50 +03:00
Marek Roszko
37479c4154
HIDPI_GL_3D_CANVAS needs CAMERA so move it over
2023-09-23 20:06:57 -04:00
Jeff Young
da1405ec6a
Draw off-board pads when drawing off-board silk.
2023-09-22 20:57:31 +01:00
Jeff Young
c1a988e3ff
Handle plated vs non-plated copper for copper other than pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5569
2023-09-22 18:48:29 +01:00
Jeff Young
78f70b45e6
Minor readability improvements.
2023-09-22 18:48:29 +01:00
Jeff Young
a954c1d93c
Conversion safety.
2023-09-22 18:48:29 +01: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
Jeff Young
f97af9f254
Experimental feature to render off-board-footprint's pads to silk.
2023-09-20 23:28:50 +01:00
Jeff Young
0126841c44
ADDED: 3D appearance setting for off-board silk.
2023-09-20 23:28:50 +01:00
Jeff Young
c0ce543464
Use standard KiCad abbreviations for TH and NPTH.
2023-09-20 14:27:57 +01:00
Marek Roszko
ee91b550d8
gl_context_mgr and gl_util belong in the gal folder
2023-09-19 23:06:44 -04: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
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
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
Marek Roszko
a6a20bf8dc
Evict the Pgm() dependency in GAL
2023-09-06 20:13:46 -04:00
Jeff Young
70bbaae670
Don't attempt to render degenerate 3D shapes.
...
Sentry KICAD-382
2023-09-04 22:10:47 +01:00
Josue Huaroto
4d84bee6f6
Add Zoom level to the 3D viewer in PCB
2023-09-01 17:51:50 +00:00
Marek Roszko
60af0448c5
Add missing if intending to border check
2023-08-30 22:51:08 -04: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
Jeff Young
22256c97f3
Fix logic errors in handling board body visibility.
...
Also fixes a bug where models were placed above the silk when the
solder paste layer was shown, but on the solder paste layer when
it wasn't shown.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15510
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6770
2023-08-26 17:33:57 +01: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
Jeff Young
0c37e3c443
Remove realistic-mode (and duplicated settings from preferences).
...
Most of these settings are now available in the appearances panel.
It was concluded in a Zulip discussion that any missing items can
be added back in time if people find they need them (ie: complain).
Also hooks up 3DViewer to the common language framework.
2023-08-23 14:07:58 +01: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
686704bb31
ADDED: plot control over FP text.
...
(Also adds said control to "Follow Plot Settings" in 3D viewer.)
2023-08-15 16:56:46 +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
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
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
Jeff Young
300a60e88e
Eradicate a bunch of calls to dyn_cast.
2023-06-25 11:10:05 +01:00
Ian McInerney
6a2dcd1936
Refactor 3D viewer view into enum class
2023-06-20 21:52:50 +01:00
Mike Williams
993bb84240
PCB_FIELD: bug fixes
2023-06-20 18:34:52 +00:00
Mike Williams
37837dc392
PCB: introduce PCB_FIELD_T
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
Jeff Young
c71cf21e2f
Use rendered text to generate bounding box for knockout text.
...
Don't open-code knockout text shape generation in several different
places.
Make sure triangulated knockout text gets clearance added when
specified.
Collapse duplicated footprint text item plot routine (they're no
longer any different from plotting pcb text items).
2023-05-28 17:20:11 +01:00
jean-pierre charras
66651327bd
STEP export: in board outlines, export Circles as Cylinders, round 2.
...
Other arcs (not 360 deg arcs) are still exported as polylines
2023-05-16 13:39:16 +02:00
jean-pierre charras
484acd4246
BOARD_ADAPTER::addText() do not call Fracture twice: it is useless.
2023-05-09 09:18:20 +02:00
Jeff Young
b41d446f58
Fix a bunch more issues with sheetpaths and allowExtraText.
...
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
2023-05-05 17:23:52 +01:00
jean-pierre charras
6618cda214
3D viewer: use the right color theme (the one used in the board editor)
...
Fixes #14616
https://gitlab.com/kicad/code/kicad/issues/14616
2023-05-01 16:51:27 +02:00
jean-pierre charras
1406341d2d
Fix a few doxygen errors (no actual code change)
2023-04-19 16:20:24 +02:00
Mike Williams
32eb1ef77e
Sch->PCB: propagate DNP from symbols to footprints attributes
...
Also add a 3D viewer toggle.
2023-04-10 13:11:21 -04:00
Jeff Young
3b63d70d01
Centralize NPTH has-annulus processing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13437
2023-04-08 15:06:49 +01:00
Seth Hillbrand
2cd854af14
Move Spacemouse to advanced config
...
The spacemouse driver, particularly on Mac, is extremely unstable and
causes crashes even when not being used. This places the interface
behind an advanced config flag to ensure that users can affirmatively
opt-in to the potential for crashes
2023-04-07 10:08:43 -07:00
Jeff Young
bbd6c80507
Collapse FP_* down into their PCB_* equivalents.
2023-03-31 22:57:46 +01:00
Seth Hillbrand
72ebe5a429
Avoid drawing null-arcs in 3d viewer
...
An arc with no radius or no angle is not visible and should be avoided
Fixes https://gitlab.com/kicad/code/kicad/issues/14271
2023-03-13 11:48:05 -07:00