Mario Luzeiro
2feef44fca
3D-Viewer: Limit the recursive reflection level
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5426
2020-09-01 01:08:38 +00:00
Mario Luzeiro
820e3089a2
3D-Viewer: use the correct opacity meaning in the color settings
2020-09-01 01:08:38 +00:00
Mario Luzeiro
7c9bb9ab07
3D-Viewer: add color to "Clear Color" action in the color picker
2020-09-01 01:08:38 +00:00
Mario Luzeiro
40d5746df6
3D-Viewer: Parameterize body board transparency
...
Fix/workarround raytracing render issues related with refraction
2020-09-01 01:08:38 +00:00
Mario Luzeiro
0302fe5570
3D-Viewer: Parameterize soldermask transparency
2020-09-01 01:08:37 +00:00
Jeff Young
56a531109a
Don't try and shrink shapes generated from pads.
...
It ends up being different from shrinking the final outline.
2020-08-28 20:48:47 +01:00
Jeff Young
b65bb8e7a8
Fix some out-of-order parameters that compiler didn't catch.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5363
2020-08-28 15:17:45 +01:00
Jeff Young
ebb9a636fa
Handle differential x:y clearance for solder mask.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5363
2020-08-28 14:00:37 +01:00
Jeff Young
2c4269d03e
When inflating dummy pad make sure to reset clearance to zero.
...
And, the inflate-dummy-pad hack doesn't work for custom pad shapes,
so turn it off there.
Fixes https://gitlab.com/kicad/code/kicad/issues/5363
2020-08-28 11:05:58 +01:00
Jeff Young
9e12ea9bb6
Cleanup some dead code and make better use of iterators.
...
Also applies coding style around auto and lambdas.
2020-08-28 11:05:58 +01:00
Jeff Young
e7db43285f
ADDED new footprint fabrication attributes.
...
This commit also adds mapping of the new symbol properties
"exclude from BOM" and "exclude from board" to be correctly
handled in Update Board from Schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/2399
Fixes https://gitlab.com/kicad/code/kicad/issues/4643
Fixes https://gitlab.com/kicad/code/kicad/issues/2233
2020-08-28 11:05:58 +01:00
Mario Luzeiro
744a8f011e
3D-Viewer: add button to reset light defaults
...
Fixes https://gitlab.com/kicad/code/kicad/issues/
Fixes https://gitlab.com/kicad/code/kicad/issues/
2020-08-19 01:57:22 +00:00
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
...
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Mario Luzeiro
2764a41d96
3D-Viewer: fixes a shadow hit bug
2020-08-18 00:31:35 +00:00
Jeff Young
66ff16dd3d
Better board-edge error reporting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4950
2020-08-17 23:55:31 +01:00
jean-pierre charras
5b365053db
Fix a few I18n issues.
...
Especially, only ASCII7 chars can be used in messages.
Do not mark debug messages as I18n strings
2020-08-17 09:18:49 +02:00
Ian McInerney
45fb030b9b
Rename and shorten the names in ACTION_CONDITIONS
2020-08-16 19:10:25 +00:00
Ian McInerney
f34ffd3906
Migrate more 3d viewer actions to the tool framework
2020-08-16 19:10:25 +00:00
Ian McInerney
72a1c71e07
Implement a framework to handle wxUpdateUIEvents for tool actions
...
This allows for the tool framework to keep track of a universal
set of conditions for the UI state (enabled/checked/shown) for
controls of actions. It removes the need for the main menubar
menus to be CONDITIONAL_MENUs and be rebuilt on each open,
and instead makes the updates of the check and enabling of
items handled in the native wxWidgets way.
This commit switchs the 3d viewer and kicad project manager window
over to this system.
2020-08-16 19:10:25 +00:00
Mario Luzeiro
78ac675316
3D-Viewer: parameterize raytracing lights, add it to options dialog
...
Remove some hacks related to postprocessing (not need now because the
previous postprocessing improvements, light parametrization could be
used for tune or future parameters could be implemented)
2020-08-15 09:41:34 +01:00
jean-pierre charras
ffabc17372
style cleanup and a few comments added.
2020-08-13 14:17:53 +02:00
Jeff Young
393bb0fd83
Fix assert where geometry routine wasn't ready to handle layers.
...
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
2020-08-12 22:20:08 +01:00
Jeff Young
463100d67f
Remove a long-standing hack to keep divots out of adjacent zones.
...
The new algorithm unions any adjacent zones before doing the
chamfer/fillet and then subtracts the other zones back out afterwards.
Fixes https://gitlab.com/kicad/code/kicad/issues/3812
2020-08-12 22:20:08 +01:00
jean-pierre charras
29d6fe88f0
3D viewer: do not show via/pad shapes of pads not connected on copper layers.
...
Show the same vias/pad shapes as plot functions.
2020-08-11 11:26:00 +02:00
Peter Montgomery
4d460ec073
Delete 3D cache files with GUI settable number of days
...
KiCad stores 3D cache files but never gets rid of any of them.
This patch adds a new function called 'CleanCacheDir()'. Any cache
files older than the passed 'number of days' parameter are deleted.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1928
2020-08-09 10:41:45 +00:00
Tomasz Wlostowski
89a953e039
Migrated GetEffectiveShape(s) to SHAPE_COMPOUND
2020-07-29 23:14:03 +02:00
Jeff Young
bf445c1a95
Performance enhancements.
...
1) cache pad polygon outlines
huge improvement in connectivity performance and a decent
improvement in DRC performance
2) don't pre-allocate CONTEXT stack
significant improvement in DRC rule performance
2) don't keep re-encoding strings
decent improvement in DRC rule performance
2020-07-25 13:03:33 +01:00
Jeff Young
73c6fc8b8b
Make opacity box line up with scale, rotation and offset boxes.
2020-07-25 13:03:33 +01:00
Ian McInerney
50b2271f84
Fix missing variable initialization
2020-07-18 23:56:39 +01:00
Jeff Young
3fd0a3f842
Update text variables even when they're changed from other binary.
...
For instance, you might have PCBNew open but change the variable
value through EEschema > Schematic Setup.
Fixes https://gitlab.com/kicad/code/kicad/issues/4918
2020-07-17 21:05:11 +01:00
Joshua Redstone
ad99d85390
3d-viewer: add option to clip silkscreen around via annular ring
...
Add more conservative clipping of silkscreen layers around vias.
Clips at outside of annular ring rather than outside of copper plating.
2020-07-16 22:36:06 +00:00
Mario Luzeiro
779ed40588
3D-Viewer: improve SSAO
...
Implement blur based on depth weights.
Improve occlusion based on direct light/shadow it receives.
Improve occlusion mixing with the final color by using multiply instead
of subtract.
Remove debug and test code.
2020-07-16 11:23:02 +00:00
jean-pierre charras
55f4c2b167
Removing creation of a wxPaintEvent instance (step 2), not allowed in 3.1.4 wxWidgets:
...
Remove wxPaintEvent creation in 3D viewer
2020-07-14 15:52:01 +02:00
Seth Hillbrand
e19a7910f8
Revert "Revert "Set DoubleBuffering to reduce flicker""
...
This reverts commit c18cab6154
.
2020-07-13 20:19:10 -07:00
Mario Luzeiro
74c6f6ab82
3D-Viewer: set missing scale and position to the list
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4826
2020-07-11 16:55:49 +00:00
Mario Luzeiro
ef7d7477d0
3D-Viewer: Remove not used list
2020-07-11 16:55:49 +00:00
Seth Hillbrand
c18cab6154
Revert "Set DoubleBuffering to reduce flicker"
...
This reverts commit 106259f6e6
.
In its place, we set double buffering to only menubars in an attempt to
find a soluton to #4785
Fixes https://gitlab.com/kicad/code/kicad/issues/4863
2020-07-11 09:43:30 -07:00
jean-pierre charras
eab98eee1d
3D viewer: use the full board bounding box to define the visible area.
...
Remove also a printf now useless, used for debug.
Fixes #4815
https://gitlab.com/kicad/code/kicad/issues/4815
2020-07-07 11:40:35 +02:00
Jeff Young
d85a707385
Move rest of DRC to SHAPE collision architecture.
2020-07-06 20:00:50 +01:00
Seth Hillbrand
3bf7cf2b54
Add VSYNC to 3d viewer
2020-07-03 21:43:49 -07:00
Seth Hillbrand
a210fd570f
Set VSYNC to adaptive (if available)
...
Swap syncs can limit the redraw rate as the screen waits for previously
issued syncs. Setting this to -1 allows for adaptive swapping
(resorting to unsynced if it falls behind) if it is supported by the
card but will fall back to unsynced (0) if the adaptive is not
supported.
Fixes https://gitlab.com/kicad/code/kicad/issues/4226
2020-07-03 13:27:48 +00:00
Jon Evans
c0aa6965de
Migrate PcbNew project settings to new framework
...
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.
ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Seth Hillbrand
d663be853f
Explicitly add signed/unsigned comparison to warnings
2020-07-02 10:54:34 -07:00
Jeff Young
40a72d9530
Add SH_RECT handling to 3D shape conversion.
...
Also add some debugging for not-implemented shape cases in other
places to catch simmilar issues in future.
Fixes https://gitlab.com/kicad/code/kicad/issues/4757
2020-06-30 18:32:31 +01:00
Ian McInerney
3bb44f3804
Don't install the import library for the 3dsg library
...
No one on Windows should be linking to it outside of
the build process, so there is no need for it in the
installer
Fixes https://gitlab.com/kicad/code/kicad/issues/1842
2020-06-30 15:38:41 +01:00
Jon Evans
0d4ee39f75
CHANGED: Copper zones can be on more than one layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
2020-06-28 08:52:37 -04:00
Ian McInerney
fb10406e67
Add right-click context menus for toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
52856a8ce4
Move scaled toolbar separator into ACTION_TOOLBAR
...
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00:00
Jeff Young
d01b29ab37
Cleanup pad geometry handling.
...
There were a lot of plotters, exporters, etc. that were rolling their
own implementations.
This also introduces a lazily-built set of SHAPE objects for doing
collision detection and some forms of rendering (and later DRC).
2020-06-22 22:28:37 +01:00
Jeff Young
970921f88b
Support for filled DRAWSEGMENT::S_RECT and S_CIRCLE.
...
One more step in unifying pad primitives and draw segments.
2020-06-20 14:34:53 +01:00