Commit Graph

1481 Commits

Author SHA1 Message Date
Marek Roszko f8e33be07f Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -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 cce366bc1d Tidy up 3D renderer display options. 2023-09-22 18:48:29 +01:00
Jeff Young 78f70b45e6 Minor readability improvements. 2023-09-22 18:48:29 +01:00
Jeff Young 4bfebb4744 Use standard names. 2023-09-22 18:48:29 +01:00
Jeff Young a954c1d93c Conversion safety. 2023-09-22 18:48:29 +01:00
jean-pierre charras 1f99a5caa6 3D viewer: do not rebuild the board 3D shape when footprint 3D models visibility
has changed: the 3D models visibility does not change the board shape.
2023-09-22 18:32:20 +02: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 87af115ee0 Make better use of method overrides. 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
Jeff Young 7e70ceaa03 Don't trim non-physical layers to board-outline.
If the user wants a realistic render, then they'll turn off
non-physical layers entirely.
2023-09-20 13:43:23 +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 454c5e8eca 3d-viewer should depend on common directly 2023-09-06 20:33:28 -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
Jeff Young 4eb51be0a2 Streamline fetching topLevelParent. 2023-09-04 11:12:34 +01:00
Josue Huaroto 4d84bee6f6
Add Zoom level to the 3D viewer in PCB 2023-09-01 17:51:50 +00:00
jean-pierre charras fe18a9bf97 3d_rendering/raytracing/create_scene.cpp: add test missing in commit 22256c97
Fixes #15560
https://gitlab.com/kicad/code/kicad/-/issues/15560
2023-09-01 15:47:02 +02: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
Jeff Young 725840654f Fix copy/pasta.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15509
2023-08-26 16:35:28 +01:00
Ian McInerney 72daeddca3 Get translation for 3d viewer appearance manager tooltips later
The translation database isn't setup during static variable
initialization, so we can't do translations until just before the
strings are used.
2023-08-23 23:49:44 +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 ab06f277c5 Hook up 3D Viewer preferences menu to commands.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15445
2023-08-20 18:10:28 +01:00
Rastersoft 43fe1eec84 Unify mouse movements 2023-08-17 18:20:22 +00:00
jean-pierre charras 53b2fda184 Fix some minor compil and Coverity warnings. 2023-08-17 10:06:17 +02: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
Marek Roszko 2e5430a874 Fix MSVC build 2023-08-14 18:33:57 -04: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
Ian McInerney a3a701a95e Move preferences to an action instead of a wx event 2023-08-08 00:51:22 +01:00
Jeff Young 5e112ca78e ADDED: parameterize font metrics and allow customization of overbar height. 2023-08-06 20:57:41 +01: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
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
Josue Huaroto 8a407756c1 Change min and max zoom values 2023-07-22 14:52:54 +00:00
jean-pierre charras 619ec2a559 PANEL_PREVIEW_3D_MODEL: Always shows the footprint not flipped, and rot 0.
Otherwise, setting the 3D shapes rotation/position is not so easy.
2023-07-20 17:33:03 +02:00
jean-pierre charras d7e470dbcc PANEL_PREVIEW_3D_MODEL: add an option and fix an issue:
- added option: display board body or just copper layers
(useful to set the 3D model position)
- fix a bug: do not use 3D viewer settings, and do not modify 3D viewer settings
2023-07-19 12:30:42 +02:00