markus-bonk
bb542e5959
Fix compilation when KICAD_USE_3DCONNEXION is undefined.
2022-01-28 12:21:42 +00:00
markus-bonk
be58ab679b
Fix coding style policy violations and CMake version.
...
Fix violations of 4.2.2 Function Definitions and 4.2.3 Control
Statements.
Set the minimum CMake version required to build to 3.1.
Removed the Visual Studio solution and project files.
2022-01-28 12:21:42 +00:00
markus-bonk
91d261d735
Fix "Error loading editor" when no 3Dconnexion driver installed.
2022-01-28 12:21:42 +00:00
markus-bonk
87d7bdbd5e
* PCB_EDIT_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Added full support for using a 3Dconnexion device in PCB_EDIT_FRAME. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
Use build option KICAD_USE_3DCONNEXION (default = ON) to control whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
markus-bonk
aec7802fcf
EDA_3D_VIEWER_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Full support for using a 3Dconnexion device in the 3D viewer has been added. Full 3D navigation is available for both the orthographic and perspective projections. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
ADDED: A build option KICAD_USE_3DCONNEXION (default = ON) has been added to the main CMakeLists.txt. The option controls whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
markus-bonk
f61c798295
Fix compilation errors in Fedora pipeline.
2022-01-28 12:21:42 +00:00
markus-bonk
cd82a927c2
TRACK_BALL: Allow two input devices to simultaneously pan & rotate
...
Instead of the mouse pan and drag algorithms calculating the new
position or rotation values relative to a starting value, the new values
are calculated relative to the current values. This allows the user to
use a second input device to move or rotate the view at the same time
without its change being undone by the mouse.
2022-01-28 12:21:42 +00:00
markus-bonk
27063688b3
CAMERA: Fix spelling of method MakeRayAtCurrrentMousePosition.
...
EDA_3D_CANVAS: Fix spelling of method getRayAtCurrrentMousePosition.
2022-01-28 12:21:42 +00:00
markus-bonk
5b9f56613e
CAMERA: Make the CAMERA_FRUSTUM structure values for nw, nh, fw and fh consistent.
...
The CAMERA_FRUSTUM structure values for nw, nh, fw and fh to always mean width and height for both perspective and orthographic views instead of half-width and half-height in perspective.
The orthographic / perspective view toggle has been modified to keep the viewed plane at m_camera_pos_init * m_zoom the same dimensions in both projections.
2022-01-28 12:21:42 +00:00
Jeff Young
0091c76a6f
Excise deci-degrees from UNIT_BINDER.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10495
2022-01-19 00:10:32 +00:00
Jeff Young
b828355206
A bit more angle cleanup.
2022-01-18 09:48:24 +00:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
abd3f5bc2b
Move footprints to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
jean-pierre charras
a6c85a9204
3D viewer: fix a truncation taht created PCB_TEXTs with 0 width (not visible)
...
Fixes #10377
https://gitlab.com/kicad/code/kicad/issues/10377
2022-01-11 18:34:35 +01:00
jean-pierre charras
cd8d6ba079
3D viewer: fix bad rendering of circles and segments due to truncation.
...
the item radius or thickness was a int. should be a double.
Fixes #10357
https://gitlab.com/kicad/code/kicad/issues/10357
2022-01-11 13:13:51 +01:00
Jeff Young
73a2984963
Fixes for rotated footprint text.
2022-01-10 15:30:19 +00:00
Jeff Young
e811a39881
Readability.
2022-01-10 15:05:57 +00:00
Jeff Young
236feeb592
Cleanup GRText APIs, 3D Viewer <-> board APIs, and Plotter APIs.
...
Also fixes a bug where outline fonts weren't being handled for footprint
text in 3D Viewer, and a copy/paste error in stroke font handling for
both PCB and footprint text in 3D Viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 14:17:11 +00:00
Jeff Young
7d032f9c2f
Outline font rendering for Cairo, plotter, printer and 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 01:54:28 +00:00
Jeff Young
aef2a3fca4
Default font for eeschema.
2022-01-08 16:47:45 +00:00
jean-pierre charras
0f0a540a65
Panel 3D previewer: for show 3D body shapes, regardless the 3D viewer itself.
...
the Panel 3D previewer is made to show 3D body shapes, so do not show them
when disabled in the board 3D viewer, is really stupid.
2022-01-06 12:04:28 +01:00
Marek Roszko
e4dbfcd92d
Swap out some wxSize for VECTOR2I
2022-01-04 20:42:27 -05:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Ian McInerney
9e6446a8dc
Use enums for 3d Viewer settings instead of ints
2021-12-30 23:03:13 +00:00
Jon Evans
595caf30a2
3D viewer: Disable copper thickness in OpenGL mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10153
(cherry picked from commit 517e44e917
)
2021-12-30 09:20:47 -05:00
Marek Roszko
2d1357dc54
Swap some of the 3d viewer to VECTOR2I
2021-12-29 14:20:40 -05:00
Jeff Young
ccb94fd1a7
APIs for passing KIFONT::FONT pointers around.
...
Also some clean-up and bug fixes.
2021-12-29 17:32:19 +00:00
jean-pierre charras
49cb9586bd
PANEL_PREVIEW_3D_MODEL: fix incorrect values of offset for unit inch and mil.
...
Fixes #10104
https://gitlab.com/kicad/code/kicad/issues/10104
2021-12-28 10:36:37 +01:00
Mikolaj Wielgus
e9c29a4c1f
3D Viewer: Only highlight what is under the cursor
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10136
2021-12-28 00:50:15 +01:00
Jeff Young
fa908e1f98
Dimensions for footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young
b84a85f648
Cleanup dead code and stale TODOs.
2021-12-24 21:10:28 +00:00
Jeff Young
dabc75bee8
Source 3D dimensions from board stackup.
...
Also includes a performance improvemnt by caching the 3D model matrices.
2021-12-24 21:10:28 +00:00
Jeff Young
a6dd1bf09b
Implement Reset to Defaults for all preferences panels.
2021-12-24 17:38:39 +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
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young
ef10b36948
Add mask-to-copper clearance parameter and rename mask margin.
2021-12-24 12:36:41 +00:00
Jeff Young
815c2c69e7
Support for dielectric colors in board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8491
2021-12-24 11:39:50 +00:00
Jeff Young
28b279cb2d
Units cleanup.
...
It's 2021. Time to move beyond ASCII. This also makes spacing of
units consistent (space before abbreviated units, no space before
symbolic units).
2021-12-23 22:17:10 +00:00
Jeff Young
92e589b398
Use board maxError value, and return SH_ARC for unfilled circle.
2021-12-23 20:36:11 +00:00
Jeff Young
4b6bf3095a
Radial dimensions.
...
ADDED radial type dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/2056
2021-12-23 19:34:54 +00:00
jean-pierre charras
55777fca43
3D viewer: fix a minor cosmetic issue.
...
Fixes #10002
https://gitlab.com/kicad/code/kicad/issues/10002
2021-12-23 17:57:25 +01:00
Seth Hillbrand
e5d6ec836f
Remove incorrect leftover comment
2021-12-14 05:58:00 -08:00
Seth Hillbrand
78ff9a857a
Jerry-rig HTML-format alpha parsing
...
On wx3.0, the HTML format #RRGGBBAA cannot handle the alpha channel.
Instead, we route this through a COLOR4D routine when we need to use
these colors
Fixes https://gitlab.com/kicad/code/kicad/issues/9963
2021-12-13 16:04:40 -08:00
Mario Luzeiro
f81539cd41
3D-Viewer: do not change the z component of the normal on silkscreen material
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9823
2021-12-13 12:49:18 +00:00
Seth Hillbrand
4814614d6d
Prevent OpenGL from re-using buffer vals
...
Skip GAL buffer numbers (presumed) when allocating 3d viewer buffers
Fixes https://gitlab.com/kicad/code/kicad/issues/8915
2021-12-01 13:37:24 -08:00
Mikolaj Wielgus
c3b792592b
Remove uncommented dead code in 3D viewer
2021-11-20 02:45:57 +01:00
david-beinder
fd6a75b779
Do not call TransformToPoly for negative sized PADs
2021-11-12 15:40:08 +00:00
Roberto Fernandez Bautista
7fd669b6a8
Use green soldermask and white silkcreen when unspecified
...
Also - unspecify colour of soldermask by default
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9538
2021-11-07 15:35:14 +00:00
Seth Hillbrand
ccd3a1e6a9
3d-viewer: Don't special-case Paste
...
Paste layers should be clipped in Realistic mode. Verifying that paste
doesn't extend beyond the board area should be left to DRC, or
non-realistic mode if you need a 3d view of it.
Fixes https://gitlab.com/kicad/code/kicad/issues/9460
2021-10-25 11:18:13 -07:00
Mikolaj Wielgus
cf3a979711
3D Viewer: Fix zoom limit calculations
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9407
Fixes https://gitlab.com/kicad/code/kicad/issues/8805
2021-10-24 18:14:49 +00:00
Mikolaj Wielgus
363214d252
Fix incorrect behavior of BBOX_3D::GetMaxDimension()
2021-10-24 18:14:49 +00:00
Mikolaj Wielgus
afccea34a5
Remove default zoom level from camera constructor
...
Initial distance should be sufficient to determine default zoom.
2021-10-24 18:14:49 +00:00
Jeff Young
1860893d63
Use "Realtime" in the GUI for the non-raytracing renderer.
2021-10-21 17:56:25 +01: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
0fd762dc25
Make 3D dialogs easier to find.
2021-10-21 14:30:03 +01:00
Jeff Young
716d75ea0e
Minor improvements to 3D preferences pages.
...
1) Move silkscreen options under the Board Layers section
2) Use more consistent terminology
3) Fix capitalization of controls
2021-10-21 14:30:03 +01:00
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
Jeff Young
7e8f2cdb94
Simplify highlighting logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8410
2021-10-14 00:31:52 +01:00
Ian McInerney
961c127ebe
Convert mouse coordinates to native pixesl in the 3D viewer
...
All operations in the camera are done using the native pixel sizes,
so we need to ensure the mouse coordinates are converted to native
pixels to make the mouse operations line up with the view.
Fixes https://gitlab.com/kicad/code/kicad/issues/2561
Fixes https://gitlab.com/kicad/code/kicad/issues/8410
2021-10-10 17:52:12 +01:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Mikolaj Wielgus
996835826e
Do not change FOV when zooming in/out, only move the camera
...
It's odd to both move the camera and change FOV when one wishes to
enlarge or smallen the models. Let's only move the camera.
2021-09-15 17:58:47 +00:00
Mikolaj Wielgus
e8a7e4cbed
Change 3D model preview projection toggle tooltip
...
Isometric projection is a special case of orthographic projection, the
projection where all projection lines are orthogonal to the projection
plane.
2021-09-15 17:53:45 +00:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Wayne Stambaugh
41c7089417
Minor dialog layout improvements.
2021-09-07 08:06:02 -04: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
5e8b23af64
3D viewer: add missing initialization of the line width of the grid.
...
Fixes #9082
https://gitlab.com/kicad/code/kicad/issues/9082
2021-09-02 18:33:59 +02:00
Seth Hillbrand
f95732a4bb
Generalize 4670309e
...
Allows loading of multiple types of .gz extensioned files by extracting
the second extension
Fixes https://gitlab.com/kicad/code/kicad/issues/9047
2021-08-30 14:43:11 -07:00
jean-pierre charras
4670309ec1
kicad2step: fix broken handing of UTF8 filenames.
...
the conversion between UTF8 std::strings and wxString were missing in some places.
3D model: fix management of file having double ext .stp.gz
Fixes #9038
https://gitlab.com/kicad/code/kicad/issues/9038
2021-08-27 16:58:23 +02:00
jean-pierre charras
d98e93de7e
3D viewer: fix color issues when using the colors stackup:
...
- Add missing Yellow (.gbrjob predefined color) in list
- silkscreen colors: add .gbrjob predefined colors in list
- Use a default body color (FR4) for dielectric material not in known list
2021-08-25 18:33:49 +02:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Johan Grip
b984777b52
Add more items to 3D viewer toolbar
2021-08-21 17:06:42 +00:00
Seth Hillbrand
4cd9278041
Remove most wxFilepicker wildcards from translations
...
This prevents translation errors from preventing user actions such as
opening the correct file
2021-08-20 12:56:47 -07:00
Jeff Young
9f8f81cae2
Fix null-ptr dereference when layer doesn't exist.
...
Also removes a whole slew of extraneous type-casts, and makes better
use of for( x : listOfX ) for readability.
Fixes https://gitlab.com/kicad/code/kicad/issues/8996
2021-08-19 11:52:24 +01:00
Jeff Young
89d943a90c
Transfer custom colours from board stackup to 3D viewer.
2021-08-16 20:05:35 +01: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
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young
ef9f041279
Don't show 3D color opacities where they're not supported.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8938
2021-08-14 14:00:17 +01:00
Jeff Young
77680eba30
Naming conventions.
2021-08-05 14:31:36 +01:00
Jeff Young
78fd268b18
Retire PARAM_OBSOLETE in favour of a schema migration.
2021-08-02 17:38:15 +01:00
Jeff Young
7d501e8a43
Add PARAM_OBSOLETE to clean out old JSON structures.
...
While not technically necessary, the old structures can be confusing
to users looking at the files.
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-08-02 12:53:57 +01:00
Jeff Young
4943d2f0a3
More consistent formatting.
2021-08-02 12:53:57 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young
46338403e7
Unwrap some std::library typedefs.
2021-07-28 22:16:38 +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
Jeff Young
29b23df7a1
Save both front and back soldermask colour preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8856
2021-07-27 22:26:13 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Seth Hillbrand
3e815882c1
Threading additional 3d transform
...
Transforming solid areas to polygons can be time-intensive for some
boards. This threads the transformation to all simultaneous builds in
different layers
2021-07-22 12:12:27 -07:00
jean-pierre charras
e00f609bdd
3D viewer: add a bit more activity messages during 3D scene building.
2021-07-22 16:13:38 +02:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
jean-pierre charras
396213fa30
3D viewer: shows 3D shapes hide/show option in main menubar (Preferences)
...
Although these options are already in Preferences/Preferences/3D Viewer,
a direct access is useful because it avoid rebuilding the 3D scene, not needed
to hide/show 3D shapes.
2021-07-21 17:55:27 +02:00
jean-pierre charras
0525d50c58
3D viewer: avoid recreating the 3D scene when not needed.
2021-07-21 12:37:44 +02:00
jean-pierre charras
1c1f7ac07e
3D viewer: fix a Coverity warning and add more messages when loading a board.
2021-07-19 08:27:01 +02:00
jean-pierre charras
a43ca978df
3D viewer: do not build the board 3D data during 3D frame creation, but after.
...
Building the 3D data is time consuming, so creating the data after the 3D
frame is shown is better, and the build activity is visible, especially on Linux.
2021-07-18 17:55:40 +02:00
Marek Roszko
c794a6ce7a
Add pdb install option for msvc
2021-07-14 23:42:45 -04:00