29 Commits

Author SHA1 Message Date
Jeff Young
9808889c9c Make 3D view/toolbar/contextmenu command lists more consistent.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21347
2025-08-25 16:35:01 +01:00
Seth Hillbrand
563489d612 Make 3d-viewer mouse controls standard
We should use the common panel preferences for 3d viewer as well

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20098
2025-08-11 15:55:58 -07: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
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
Ian McInerney
c18bc2472b Actionize more 3D viewer actions 2025-02-28 01:57:37 +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
7a4b3602b9 Reduce dependency on dynamic_cast.
(3DViewer crosses compile boundaries when run from
CvPCB.)
2024-12-05 18:17:02 +00:00
Tomasz Wlostowski
9963b9dd9f TOOL_INTERACTIVE: only create the context menu when we are running in GUI mode
TOOL_MENU::m_menu was unconditionally created by the TOOL_INTERACTIVE constructor, resulting in crashes if
we wanted to run the TOOLs in headless  mode, e.g. in unit tests. This commits makes
the creation of the menu object dependent on Pgm::IsGui().
2024-08-13 22:50:26 +02: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
Jeff Young
f9530d0b3f Remove "Reset View", which does the same as "Home View".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16115
2023-11-19 14:07:50 +00:00
Jeff Young
4eb51be0a2 Streamline fetching topLevelParent. 2023-09-04 11:12:34 +01: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
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
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
6a2dcd1936 Refactor 3D viewer view into enum class 2023-06-20 21:52:50 +01:00
Ian McInerney
b04e54dbea Switch TOOL_EVENT and TOOL_ACTION to have a std::any parameter
Using std::any from C++17 allows for proper type handling in the
parameter field, removing the need for casting to void* and then casting
the void* to the desired type.
2023-06-20 21:52:50 +01: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
jean-pierre charras
22cd2a3428 3D viewer: add option to show/hide fp not in position file.
Previously they were not shown, and this is really bad, because
"not in pos file" does not mean never mounted, and not even not mounted.
2022-09-24 13:58:31 +02:00
Jeff Young
32fdab8902 Bubble ESC up from the 3D preview.
Fixes https://gitlab.com/kicad/code/kicad/issues/9984
2022-03-13 23:14:06 +00:00
Jeff Young
68d2630d08 Flatten a layer of indirection out of 3D config settings. 2021-12-24 13:08:54 +00:00
Jeff Young
6c0110ecd3 Naming conventions.
There's nothing "legacy" about the OpenGL 3D renderer.
2021-10-21 14:30:03 +01:00
Jeff Young
b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
jean-pierre charras
0eb0fa64bb 3D viewer: In menus show Zoom In/out instead of Zoom In/out at Cursor.
Zoom In/out at Cursor does not exist in 3D viewer, and is Zoom In/out when
using F1 or F2 keys.
Fixes #9107
https://gitlab.com/kicad/code/kicad/issues/9107
2021-09-07 10:54:51 +02:00
jean-pierre charras
e1bbb717f6 3D viewer: ensure 3D shapes are loaded when switching 3D shapes visibility option to ON.
Fixes #8959
https://gitlab.com/kicad/code/kicad/issues/8959
2021-08-16 16:28:59 +02:00
Jeff Young
77680eba30 Naming conventions. 2021-08-05 14:31:36 +01:00
jean-pierre charras
dda70622ba 3D viewer: fix missing refresh in raytracing mode when changing items visibility.
Fixes #8866
https://gitlab.com/kicad/code/kicad/issues/8866
2021-07-28 16:00:10 +02:00
jean-pierre charras
0525d50c58 3D viewer: avoid recreating the 3D scene when not needed. 2021-07-21 12:37:44 +02:00
Jeff Young
89718dd3ba Naming conventions. 2021-06-19 19:36:53 +01:00