Commit Graph

57 Commits

Author SHA1 Message Date
Ian McInerney 6a2dcd1936 Refactor 3D viewer view into enum class 2023-06-20 21:52:50 +01:00
Alex Shvartzkop d3be62f644 Adapt panels to PAGED_DIALOG sizing algorithm.
Also some cosmetic fixes (GTK).
2023-06-16 19:12:37 +03:00
Wayne Stambaugh 66f6168163 Fix mode-less dialog issues.
Don't assume the dialog is mode-less and call Destroy() from within a
dialog method.  This will most assuredly crash if the dialog is shown
modally or quasi-modally.

Don't leak memory for mode-less dialogs created on the stack.  Make sure
when the parent frame window is closed that all mode-less dialog memory
is cleaned up.  Dialogs are not child windows like controls and toolbars
so their memory does not automatically get cleaned up when the parent
window is destroyed.

Do not directly access frame parent window's pointer in dialog destructors.
Apparently the tear down order when destroying mode-less dialogs is not
guaranteed so the parent window may get deleted before the dialog causing
a crash when accessing the parent window pointer from the dialog dtor.

Do not close mode-less dialogs in the parent frame's destructor.  This
doesn't guarantee that the dialog(s) will be destroyed before the parent
but it may reduce some careless mode-less dialog event handling in the
future.
2023-03-13 12:04:01 -04:00
Seth Hillbrand d7a6875b0b 3dviewer: Show footprint board regardless of proj
The settings for the project in terms of visibility should not impact
our ability to preview the 3d model of a footprint

Fixes https://gitlab.com/kicad/code/kicad/issues/14246
2023-03-10 15:18:45 -08:00
Jeff Young 6a5f305684 Allow others to also process units changed event.
Fixes https://gitlab.com/kicad/code/kicad/issues/14156
2023-03-05 16:06:31 +00:00
Jeff Young 915b352d9b Add UNITS_CHANGED handling to 3D preview controls.
Fixes https://gitlab.com/kicad/code/kicad/issues/14156
2023-03-04 12:11:57 +00:00
Jeff Young 7bb006c91d Spacing & font-size issues in 3D model preview dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/13880
2023-02-21 13:32:01 +00:00
jean-pierre charras 90e759e738 Dialogs: minor cosmetic fixes (reduce a few spaces between widgets) 2023-02-03 16:58:30 +01:00
Mike Williams fad589e151 Footprint preview: fix group assert 2023-01-25 12:34:18 -05:00
Jeff Young 30c9deb9d5 Flat(er) look for paged dialogs. 2023-01-11 01:11:25 +00:00
Wayne Stambaugh 4687cd1ddb 3D viewer properties dialog layout improvements. 2023-01-08 13:15:33 -05:00
Wayne Stambaugh eba231a8bb 3D model selection dialog layout improvements. 2023-01-08 11:27:01 -05:00
Jeff Young 4794956804 Minor dialog adjustments. 2023-01-07 22:26:43 +00:00
Jeff Young 4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
Jeff Young f805fd267f Divorce UNIT_BINDER from wxFrame.
This allows us to supply Pcbnew or Eeschema as the unitsProvider when
called from the main frame.

Fixes https://gitlab.com/kicad/code/kicad/issues/13066
2022-12-04 11:51:44 +00:00
Jeff Young b3ddd09c44 Unit-binderize board thickness. 2022-10-02 20:03:00 +01:00
Jeff Young 1fc5ecae6e Minor dialog layout improvements.
Fixes https://gitlab.com/kicad/code/kicad/issues/12497
2022-10-02 11:45:30 +01:00
Kliment 11e20e52e9 Recreate stackup from thickness as necessary and fix unit handling to use EDA_UNIT_UTILS 2022-09-30 19:59:01 +00:00
Simon Schaak 552e8af6af Properly handle limits 2022-09-30 19:59:01 +00:00
Simon Schaak 798cd567d5 Use board stackup information when available 2022-09-30 19:59:01 +00:00
Simon Schaak 589f1058ca Make 3D model preview board thickness adjustable 2022-09-30 19:59:01 +00:00
Marek Roszko 707a598e5d Prevent a crash due to the 3d preview dummy board stealing setting ownership 2022-09-25 23:04:13 -04:00
Marek Roszko c50b4fb04f Add relative to footprint 3d model path resolution
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2073
2022-09-25 22:56:16 -04:00
Marek Roszko 8e96751af2 Strip out and migrate 3d search paths in favor of env vars
This mainly stops reading/writing 3dresolver.cfg
We still keep some sillyness for kicad2step for now

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9164
2022-09-25 21:29:52 -04:00
Ian McInerney 40ff7cb9bd Fix some UI element spacing in settings panels 2022-09-25 15:41:39 +01:00
Jeff Young 45d6b4a9fc Readability improvements. 2022-09-19 11:18:20 +01:00
Mark Roszko b00178adb3 Nuke base_units from orbit 2022-09-16 04:38:10 +00:00
Marek Roszko 03aa63bd50 Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific 2022-08-29 20:11:03 -04:00
Marek Roszko bf964d8678 Commonize page_info by simply making the Iu scale a parameter on call. 2022-08-27 13:36:00 -04:00
Wayne Stambaugh 898ec0d094 Fix wxWidgets 3.1 and later deprecated build warnings.
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize().  This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
2022-08-15 08:00:40 -04:00
luz paz 79fa911e0e Fix various typos
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
2022-07-21 16:31:41 +00: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
jean-pierre charras 9fec8aa269 3D viewer: disable thickness rendering on tech layers when disabled for copper.
Building the vertical walls around shapes to show layer tickness is very
time consuming. It can be disabled for copper layers but was always enabled
for other layers.
Now layer thickness is enabled or disabled for all layers.
2022-03-01 11:29:35 +01:00
Jeff Young 7ccac79192 More wxString wide literals. 2022-02-05 21:29:34 +00:00
Jeff Young 9582457fef Be explicit about literal wide-strings. 2022-02-05 20:40:21 +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
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
Ian McInerney 9e6446a8dc Use enums for 3d Viewer settings instead of ints 2021-12-30 23:03:13 +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
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 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
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 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
Mrio Luzeiro d8eab321f7 3D Viewer: complete refactor of the 3D viewer.
* Split and rewrite the preview window and canvas.
* Create a new class for handling the board information.
* Adds new render targets: openGL, legacy, and ray tracing.
* Render targets take full advantage of the new 3D plugins system and 3D cache
  for a fast 3D model loading.
* Faster board loading.
* New OpenGL render is faster than the old one.
* New ray tracing render target with a post processing shader.
* Use of new 3D plugins (WRL, X3D, STEP and IGES) and 3D model caching.
* Preview of 3D model while browsing the file name.
* 3D preview of the footprint while adding / align 3D shapes.
* Render of 3D models according to attributes: Normal, Normal+Insert, Virtual.
* Pivot rotation centered in one point over the PCB board.
* Shortcuts keys improved for XYZ orientation..
* Animated camera.
2016-07-19 13:35:25 -04:00
jean-pierre charras f1c9f284fd Dialog 3D path config: fix incorrect grid cells sizes when opening the dialog, and incorrect min size dialog. 2016-05-28 11:33:20 +02:00
jean-pierre charras 37c8462c8b 3D viewe: Very minor fixes in 3D Display Options dialog. 2015-09-15 20:47:20 +02:00
jean-pierre charras eb71c15b46 3D viewer: Minor enhancement: in show on/off layers menu option, user layers options are disabled in realistic mode to avoid mistakes, because they are never shown in this mode. 2015-08-18 12:59:43 +02:00