Seth Hillbrand
bd86f979ed
Set embedded delegate to update view properly
...
When embedding a 3d model we want to be able to see it immediately but
this requires getting the embedded files from the delegate model
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19991
2025-08-20 08:34:09 -07:00
Seth Hillbrand
0a5de5010f
ADDED: Spacemouse support for Linux
...
Uses libspnav to handle spacemouse data. Overlays on existing
spacemouse framework to handle view activation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16133
2025-08-12 07:04:54 -07:00
John Beard
e82d19eeb7
Pcbnew 3D: Add a toggle for plated barrel visibility
...
This can be useful when checking 3D models and/or generating
images of components in place on board, or if a dense via field is
in the way when looking at something on an inner layer.
2025-08-07 00:55:48 +08:00
Seth Hillbrand
4aa2047f45
Replace alg::delete and alg::delete_if with std c++20
2025-08-04 09:03:16 -07:00
Jeff Young
b67b467483
Uninitialized variable.
2025-08-04 11:18:20 +01:00
Seth Hillbrand
e6e44d08fc
ADDED: Common 3d image export and file size choice
...
Instead of two actions for exporting to two different file formats,
unify into a single Export Image command with the format chosen based on
file extension/selected format in save dialog.
Also allow arbitrary image size export
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3689
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4693
2025-08-02 14:30:07 -07:00
Jeff Young
8c85cd43f3
Copy c'tor / operator= safety.
...
Also fixes a memory leak of search pane handlers.
2025-08-02 22:04:53 +01:00
Jeff Young
51e244d7d4
Don't remove nonexistent entries from wxArrayStrings (KICAD-PG7)
2025-07-28 19:37:52 +01:00
Ian McInerney
33a4d6ea6f
Link copper layer color swatches in 3D viewer
2025-07-11 15:35:02 +01:00
Jeff Young
7b0aceb99e
Prevent wxWidgets assert (KICAD-6VM).
2025-07-03 22:50:56 -06:00
Jeff Young
18e107529a
Don't force callers of GetAppSettings to implement exception processing.
2025-06-14 20:25:59 +01:00
Damjan
2c92f95a1c
3d-viewer: Navigation gizmo for 3D viewer
...
ADDED: Blender-like navigational gizmo - new feature
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16956
2025-06-09 10:29:34 -07:00
Jeff Young
e045def6f7
Correct underline spacing in dialogs; flatten origins & axes.
2025-06-09 12:53:11 +01:00
Jeff Young
e0e1f73f9e
Fix rendering issues with hide-holes-while-moving.
...
Also fixes the checkbox names to be more accurate.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20775
2025-04-28 17:39:54 +01:00
Jeff Young
524575a595
Allow embedded files to come from components
...
as well as parent containers, part II.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20210
2025-04-25 12:26:31 +01:00
Alex Shvartzkop
8051904211
Un-translate layer names in 3D appearance panel.
...
(cherry picked from commit 33fad39cf435cf859e22f97e54106ccb3ddbc12c)
2025-04-21 13:40:59 +03:00
Jeff Young
cf96295fa1
Clipper2 is much faster at intersecting layers for drawing vertical walls.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9202
2025-04-03 16:57:45 +01:00
Jeff Young
7f9a277594
Remove unsafe C-style casts.
2025-04-01 18:04:33 +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
6307f0aee8
Use board layer names when available.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20360
2025-03-17 21:23:56 +00:00
Jeff Young
533551f014
Don't bleed settings between 3D viewer and 3D footprint preview.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17353
2025-03-16 11:52:56 +00:00
Jeff Young
f33f10bb38
User-defined layers for 3D viewer.
2025-03-15 16:14:33 +00:00
Jeff Young
241962a84d
When following board or plot settings, write results to current config.
...
Also adds migration from older layer numbers to strings.
This may require users to dump their 9.0 settings files
(which will have the wrong layer numbers in them), but
those files are often useless anyway as they'll already
have messed up colours if they were migrated from 8.0.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18709
2025-03-08 19:11:23 +00:00
jean-pierre charras
eaa1e6d594
Fix a collision with a Windows define and our use of the same var name.
...
We use IN for INCH as units, but IN is defined in a Windows header
2025-03-02 11:34:30 +01:00
Jeff Young
f951497a4f
Code brevity.
2025-03-01 21:58:31 +00:00
jean-pierre charras
1748c3c893
PANEL_PREVIEW_3D_MODEL_BASE: fix opacity slider.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19990
2025-02-20 18:21:24 +01:00
Jeff Young
7c118c02f1
Don't space out buttons on large screens.
...
Also a better sash pos for ultra-high DPI screens.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19913
2025-02-11 14:46:59 +00:00
Jeff Young
8024555323
Icon spacing.
2025-02-02 18:25:08 +00:00
Seth Hillbrand
c436207659
Update new bitmaps
...
Forgot to commit the bitmap_info previously
Updated the jobset to be usable for new and open forms
Added remaining icon references
2025-01-29 09:33:31 -06:00
Wayne Stambaugh
42a1d1cf0b
Include folder and 3D viewer code housekeeping.
2025-01-11 07:25:14 -05:00
Wayne Stambaugh
3755b77b92
Dialog string capitalization and layout fixes.
2025-01-06 14:01:00 -05:00
Wayne Stambaugh
2cac5d29a1
Setup and settings panels layout improvements.
2025-01-05 16:42:53 -05:00
Wayne Stambaugh
34fcda224c
Minor dialog layout improvements.
2025-01-04 12:34:32 -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
Seth Hillbrand
fbbb642c0c
Move all nlnav to unique_ptrs
...
7daded7c60878b2372b2cbecfd96654dfb7344fc moved them to bare pointers but
this was not required to allow forward declarations. We only need to
place the CTOR/DTOR fully in the cpp file where the nlnav headers are
included
2024-12-30 15:43:15 -08:00
Jeff Young
753d385473
Reduce dependency on dynamic_cast.
...
Also switches to checking __clang__ instead of __WXMAC__.
2024-12-08 21:46:54 +00:00
jean-pierre charras
5feeea8310
Fix compil warnings
2024-12-06 18:07:37 +01:00
Jeff Young
7a4b3602b9
Reduce dependency on dynamic_cast.
...
(3DViewer crosses compile boundaries when run from
CvPCB.)
2024-12-05 18:17:02 +00:00
John Beard
215533f31a
Unify flip direction handling
...
There was a gentle mish-mash of booleans, some with
true being left/right and some up/down, and some functions that
can flip in both axes (which is never actually done, and doesn't
really make geometric sense).
Replace all this with the FLIP_DIRECTION enum class, which makes
the intention completely unambiguous.
This also then allows a small scattering of simplifications,
because everything takes the same type and you don't have to
fiddle booleans to fit.
2024-09-27 17:13:13 +01:00
Jeff Young
94f995c49e
Reduce dependency on dynamic_cast.
...
(Especially where it is no-worky on MacOS.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17245
2024-09-04 17:24:49 +01:00
jean-pierre charras
edbe6e997d
DIALOG_SELECT_3DMODEL: do not select the first 3D shape on root dir change.
...
It was especially annoying when selection the project dir: if a 3D step file
was existing, it was loaded just on this dir selection, and could take a while.
2024-09-01 17:03:39 +02:00
jean-pierre charras
1f608ec2b0
3D viewer: add option to use board editor copper colors for copper layers.
...
This is useful to analyze multilayers boards
2024-08-24 10:16:18 +02:00
Kamil Galik
0d990932c7
ADDED: Support for 3D Mouse in Footprint Properties 3D Model tab
...
Fixed https://gitlab.com/kicad/code/kicad/issues/14002
2024-08-21 00:24:08 +00:00
Jeff Young
3b6a33c59a
Fill in a lot more calls to DIALOG_SHIM::OnModify().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18443
2024-08-11 12:45:36 -06:00
Seth Hillbrand
77797103f7
Add ability to embed files in various elements
...
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures. File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.
kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document. Embeds are allowed in schematics, boards,
symbols and footprints. Currently supported embeddings are Datasheets,
3D Models and drawingsheets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6918
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2376
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
Seth Hillbrand
cc850d0da0
Split out LSEQ/LSET from LAYER_ID
...
Separate the layer grouping classes for easier modification
2024-07-08 20:59:46 -07:00
Jeff Young
4f4311ba57
Use consistent positive rotation direction.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17580
2024-06-04 13:25:57 +01:00
Jeff Young
931de12072
Use wxWidgets to track DPI.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17981
2024-05-31 17:08:43 +01:00
Jeff Young
e3f77cd410
Handle DPI_CHANGED events for 3D canvases.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17981
2024-05-31 17:08:43 +01:00
Jeff Young
30b5adde17
Fix spacing/scaling of indicators on MacOS.
...
Also pushes indicator scaling improvements to GerbView.
2024-05-26 14:37:05 +01:00