Maciej Suminski
1e87ae6c50
Fixed a memleak in raytracer
2017-06-27 10:58:43 +02:00
jean-pierre charras
6a3c1720b2
Fix a few doxygen warnings
2017-06-25 11:26:04 +02:00
Tomasz Włostowski
3b16d3cffe
further DLIST/Iterators cleanup, some code formatting
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
94a80acb36
DLIST_ITERATOR improvements
2017-06-23 11:12:36 +02:00
jean-pierre charras
70226ecdeb
Fix a few doxygen warnings
2017-06-20 10:47:30 +02:00
Wayne Stambaugh
66e97fa905
Doxygen comment improvements.
...
Fix lots of Doxygen warnings.
Fix Doxygen comment for IO_MGR::FootprintEnumerate() which was recently
changed.
2017-06-13 19:47:46 -04:00
Kristoffer Ödmark
19d5cc7548
Removed all exception specifiers since deprecated.
...
Exception specifiers are deprecated in cpp11, so went through them all
and removed them from the code.
2017-06-12 13:54:55 -04:00
Simon Richter
d5e85726ea
Doxygen improvements
2017-06-11 18:09:14 -04:00
Simon Richter
a9ca1e9930
Remove unreferenced local variables
2017-06-11 17:52:49 -04:00
Fabrizio Tappero
ac9a64a173
general UI fix. Fixed a lot of icons and a lot of menu.
...
Also a few no longer used .cpp icon files are removed.
2017-06-02 11:51:11 +02:00
jean-pierre charras
200df95f00
fix bug (incorrect validation, on Windows only) in S3D_FILENAME_RESOLVER::ValidateFileName().
2017-05-28 18:56:49 +02:00
jean-pierre charras
1fda668f24
3D viewer: cosmetic enhancements: fix an incorrect icon, and add shortcut keys in right popup menu.
...
Also fix an incorrect legend in hotkey list.
2017-05-26 13:28:51 +02:00
jean-pierre charras
305a166e95
Pcbnew: update immediately the 3D viewer opened from the footprint editor/viewer/wizard after a change.
2017-05-13 08:17:06 +02:00
Cirilo Bernardo
68a7a5235e
Fix 3D plugins mutiarch support.
...
Use CMAKE_INSTALL_LIBDIR instead of wxStandardPaths::GetPluginsDir() to
determine plugin directory.
Fixes lp:1682812
https://bugs.launchpad.net/kicad/+bug/1682812
2017-04-18 09:11:53 -04:00
jean-pierre charras
6eb2000b69
fix Coverity warning (CID 151565) (CID 155147)
2017-04-01 20:05:33 +02:00
Jon Evans
3ec28e2acf
Refactor layer enumerations to all live in the same place
2017-03-30 16:01:48 -04:00
jean-pierre charras
68b141dcb8
Make polygon built by BOARD::GetBoardPolygonOutlines strictly simple.
...
It fixes issues in 3d viewer (crashes and incorrect 3D board outline in some cases)
Fixes: lp:167484
https://bugs.launchpad.net/kicad/+bug/1674844
2017-03-23 08:56:52 +01:00
jean-pierre charras
05220a86f1
BOARD::GetBoardPolygonOutlines(): do not generate a separate SHAPE_POLY_SET for holes.
...
They are already managed by SHAPE_POLY_SET board outline.
2017-03-22 11:47:03 +01:00
Kristoffer Ödmark
d6dd176aca
Changed default increment values and added shift+scroll for fine tuning
...
Fixes: lp:1669550
* https://bugs.launchpad.net/kicad/+bug/1669550
2017-03-13 11:25:40 -04:00
jean-pierre charras
bbedad3456
Fix a Coverity warning, which looks like a (minor) bug in ccontainer2d.cpp.
2017-03-13 12:53:01 +01:00
Maciej Suminski
14cbdcec1f
Fixed mismatched new[]/delete in 3D viewer
2017-03-08 09:12:16 +01:00
Cirilo Bernardo
68bcdec87e
Workaround for non-ASCII filenames in Windows
2017-03-03 14:30:47 -05:00
Kristoffer Ödmark
49c7400ca9
Reallow large scaling of 3D models
...
Fixes: lp:1669510
* https://bugs.launchpad.net/kicad/+bug/1669510
2017-03-03 10:30:09 -05:00
Maciej Suminski
1dfd74bec9
Display S3DSG in single line during CMake configuration step
2017-03-03 13:38:12 +01:00
Kevin Cozens
458b0e75e0
Prevent raytracing render engine option from crashing the 3D viewer
...
Fix for lp bug #1667722 using a change made by Mario Luzeiro.
Fixes lp:1667722
https://bugs.launchpad.net/kicad/+bug/1667722
2017-03-01 18:34:19 -05:00
Simon Richter
70b3edd06f
Drop unnecessary and possibly harmful optimization setting
...
Using -O3 is default for release builds with gcc/clang anyway, so this
doesn't gain anything, but overwriting the existing flags might remove some
that might be needed.
2017-02-23 14:44:15 -05:00
Maciej Suminski
0dc88bb4cf
Changed COLOR4D defines to static consts
2017-02-22 17:35:00 +01:00
Jon Evans
a52250a91e
Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
...
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas. When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
Cirilo Bernardo
2b2b73ee4b
Fix bug: Footprint add 3D shape recognizes only files with lower case ext on Windows
...
Fixes: lp:1659027
https://bugs.launchpad.net/kicad/+bug/1659027
2017-02-22 10:22:33 +01:00
John Beard
a8eea6155a
Move bitmaps.h out of base_struct.h
...
bitmaps.h was included in nearly every file in the project due to it
being included by base_struct.h
Only about 130 files actually use the XPM definitions defined there, and
many of those already included bitmaps.h themselves, or via
menu_helpers.h. However, touching bitmaps.h would result in over 400
rebuilt files for pcbnew alone.
This commit moves the bitmap-related types like BITMAT_DEF out to a new
header, which is still included by base_struct.h, which is less
avoidable for now, it's it's used in the interface.
The icon list is still in bitmaps.h. This has the side effect that's
it's now easier to automatically generate this file.
Many classes in pcbnew and eeschema needed some functions moved
to the implementaitons from the headers too.
2017-02-21 09:50:15 -05:00
jean-pierre charras
1e242f3710
Remove a #define used in a debug session, and now useless in panel_prev_model.*
2017-02-19 08:30:34 +01:00
Mario Luzeiro
2a793cc22c
Remove mm_malloc from raytracer
...
There is no need to use mm_malloc at this moment. Explanation:
1) It was planned that there was advantadge to use aligned memory but it
was not measured the performance. 2) aligned memory is needed for use
with SIMD (i.e: SSE) but that is not used at moment.
Fixes: lp:1626278
https://bugs.launchpad.net/kicad/+bug/1626278
2017-02-13 10:08:20 -05:00
jean-pierre charras
9074c57a28
panel_prev_model.cpp: try a better way to fix issue with wxSpinButtons on Linux.
2017-02-07 11:05:08 +01:00
jean-pierre charras
fec02f6161
panel_prev_model.cpp: Fix a minor issue on Linux with wxSpinButtons.
...
The min and max values must be set, and the curr value forced to 0, to avoid disabling up or down arrows.
2017-02-07 10:26:03 +01:00
jean-pierre charras
42c9e4d602
panel_prev_model.*: fix minor issues.
2017-02-07 09:06:43 +01:00
jean-pierre charras
cca0ffed60
panel_prev_3d: Add spin buttons and inc/dec by mouse wheel for 3D parameters
2017-02-07 09:06:43 +01:00
jean-pierre charras
43cb4560bf
Rewrite code for PANEL_PREV_3D because the way events were previously managed are not compatible with a good mouse event management.
...
To avoid a lot of tedious code, wxFormbuilder is used to create the PANEL_PREV_3D_BASE class.
2017-02-07 09:06:42 +01:00
Forrest Voight
bce04c930d
3d-viewer: draw dimension graphics
...
Fixes: lp:1406754
* https://bugs.launchpad.net/kicad/+bug/1406754
2017-02-01 09:45:32 -05:00
Mario Luzeiro
840bcb5189
3D-Viewer: improvements on reflections and on plastic normal texture
...
+ make the number of samples for reflection and refraction
parameterizable.
+ add some fuziness to reflection.
+ improvements on plastic normal texture
2017-01-26 07:22:46 -05:00
Dick Hollenbeck
0c459ced97
EDA_TEXT object refactor.
...
Make all EDA_TEXT data private and rename accessors to avoid function
name collisions in derived classes.
Overload EDA_TEXT's SetTextAngle() and SetEffects() in TEXTE_PCB.
Add support for preserving Reference text position, size, orientation
during a netlist import into a BOARD, as well as the one off footprint
update dialog.
2017-01-25 08:03:32 -05:00
Mario Luzeiro
33449216b5
3D-Viewer: Improvements on reflection and refraction
...
- crete an option for absorvance (works better to make the epoxy
different for regular transparent materials).
- visual fix an issue related with the epoxy render (square bands on the
render).
- fix a reflection issue (it was not take in account the reflection
material color).
2017-01-21 09:21:44 -05:00
Mario Luzeiro
2eb840b2ed
3D-Viewer: Fix precision issues (experienced on isometric mode) in frustum tests
2017-01-18 18:09:27 -05:00
Baranovskiy Konstantin
3dc2050498
Improved MousewheelPAN mode.
2017-01-17 16:34:11 -05:00
Simon Wells
19512b46a3
Fix unlimited zoom with "Use touchpad to pan"
...
Additionally, fix an unreported bug allowing zoom level to get stuck at
MAX_ZOOM.
Fixes: lp:1625754 (3dviewer zoom not limited with Use touchpad to pan)
https://bugs.launchpad.net/kicad/+bug/1625754
2017-01-14 09:17:56 -05:00
jean-pierre charras
d56a49d218
Performance counter rework: More comments, code cleaning, and move GetRunningMicroSecs() prototype from common.h to profile.h.
...
profile.h should now contain all info for profiling.
2017-01-02 13:49:36 +01:00
Chris Pavlina
6078ca85e5
Improve broken edge outline error message
2016-12-29 12:31:12 -05:00
Mario Luzeiro
d365dc590e
Soft plastic textures even more
2016-12-22 16:18:38 -05:00
Mario Luzeiro
b33e42ef2c
Soft plastic textures
2016-12-22 16:18:30 -05:00
Mario Luzeiro
ad2458056a
Improvements on 3DViewer raytracing render
...
+ Implement sRGB to Linear and Linear to sRGB conversions.
+ Fix an issue in the AntiAliasing adaptive logic.
+ Improves the ambient color use on the shader.
+ Improves post-shader calculation. Fixes the saturated dark regions.
+ Improves the transparency of soldermak material.
2016-12-22 16:18:20 -05:00
Chris Pavlina
4c340cefee
Also rename footprint attributes in 3D viewer
...
Follow-up to commit: 809e71a
2016-12-15 14:48:14 -05:00
Mario Luzeiro
86dcfeb69d
improve anti-aliasing
...
+re-implement anti-aliasing, making it more acurate, not blured, better
and much faster (unsing much less lines of code)
+rewrite some function on camera and raypacket.
+small improvements on raytracing realtime, remove useless ifs
comparisons.
2016-10-27 10:22:21 -04:00
Simon Richter
6000336fe7
Add missing include
...
std::iota is defined in <numeric>
2016-10-10 19:44:46 -04:00
Mario Luzeiro
6d27087053
Improve board texture (make it square), add directional light to top/bot.
2016-10-09 11:34:28 -04:00
Mario Luzeiro
f59bde8cc3
Improve brushed and plastic textures
2016-10-09 11:34:20 -04:00
Mario Luzeiro
ae8c62843e
Raytracing: implement brushed metal perturbator
2016-10-09 11:34:09 -04:00
Mario Luzeiro
995fde8d9c
(forget to staged modified files)
2016-10-09 11:33:53 -04:00
Mario Luzeiro
8493a2f6d5
Raytracing: implement textures based on normal perturbation
...
Implement normal perturbation for black epoxy and color plastic.
Fix some UI issues in 3D-Viewer (menu options was not proper saved or
updated)
2016-10-09 11:33:25 -04:00
Mario Luzeiro
ee71875b4b
Implement normal perturbation materials on raytracing
2016-10-09 11:33:16 -04:00
Mario Luzeiro
89bb47ede6
Improve shadow on postshader and add a gamma sRGB color space convertion
2016-10-09 11:33:09 -04:00
Mario Luzeiro
49dce5d191
Improve shadow calculation on Raytracing
...
Makes it not so dark.
Speed optimization on post shader calculation.
2016-10-09 11:32:59 -04:00
Chris Pavlina
278ee7da7d
Remove deprecated 'register' storage spec
2016-09-30 22:32:24 -04:00
Chris Pavlina
b9abcc309f
Fix Validate hiding overloaded virtual in 3D viewer dialog
2016-09-30 22:32:24 -04:00
Simon Richter
59c81976dc
Explicitly mark overriding functions.
2016-09-24 14:53:15 -04:00
Cirilo Bernardo
d3771d53ef
Updated VRML exporter and fixed some VRML related bugs
2016-09-21 09:31:52 -04:00
José Ignacio Romero
cd976d36b7
Use a symmetrical clip plane for the orthographic projection
2016-09-07 01:12:01 -04:00
José Ignacio Romero
df40159ce7
Pixel perfect panning for the 3D viewer
...
Use the correct math to unproject the mouse movement from screen space
to the Z=0 plane on the camera space. This handles both perspective
and orthographic projection at any window size or zoom level.
2016-09-06 20:10:51 -04:00
Chris Pavlina
378def4734
3D viewer: suggest correct extension when saving image
...
Fixes: lp:1620102
* https://bugs.launchpad.net/kicad/+bug/1620102
2016-09-06 01:15:59 -04:00
Chris Pavlina
20aca7d7bb
Fix direction of ctrl+scroll in 3D viewer
...
Fixes: lp:1620453
* https://bugs.launchpad.net/kicad/+bug/1620453
2016-09-06 00:48:27 -04:00
Chris Pavlina
9740d5e433
Fix nonstandard, unsigned OpenMP loop counter
...
OpenMP does not yet permit unsigned loop counters. Most compilers seem
to allow them anyway, but a few have been seen to complain.
Mistake introduced in:
commit 82ed0fde32
Author: Chris Pavlina <pavlina.chris@gmail.com>
Date: Sun Aug 28 02:05:49 2016 -0400
Fix shared data access in raytracer, tidy up render loop
2016-09-04 21:41:09 -04:00
Wayne Stambaugh
cbcb3b896b
Fix incorrect string translation macros.
...
* Replace _T() with _() for translatable strings.
* Don't translate debug messages.
* Don't translate copyright symbol.
2016-09-03 12:10:49 -04:00
Chris Pavlina
82ed0fde32
Fix shared data access in raytracer, tidy up render loop
...
Render loop lost track of which blocks had been rendered due to a
synchronization issue. Specifically, std::vector<bool> is special-cased
as a bitfield and so is pretty much guaranteed not to be atomic unless
synchronized externally.
Also:
- Clean up types of a few variables
- Clean up openmp sharing type of variables (may result in better
optimization)
- Replace shared rendered block count with an openmp reduction (results
in fewer locks)
Fixes: lp:1608289
* https://bugs.launchpad.net/kicad/+bug/1608289
2016-08-28 02:13:55 -04:00
jean-pierre charras
9f46d83175
Gerbview: locate item now does not take in account not visible layers. Remove an unused file
...
3d viewer: Remove a few ToUTF8() bad usage (replaced by GetData() )
2016-08-19 09:45:59 +02:00
jean-pierre charras
3f1a90c8a4
3D viewer; Fix a few incorrect use of ToUTF8() in log and error messages. Only noticeable when messages contain non ASCII7 chars.
2016-08-17 09:37:51 +02:00
jean-pierre charras
7bc8cb56e0
Fix bug: Impossible to rescale 3D models
2016-08-05 21:30:23 +02:00
jean-pierre charras
f029047a97
Uncrustify cbbox_ray.cpp to avoid a lot of warnings on gcc 6.1
2016-07-27 14:52:04 +02: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
Jon Neal
1293d04a7a
Fix a bunch of misspellings of length.
2016-07-10 23:09:18 -04:00
jean-pierre charras
1fbb84fd98
Move call of SetSizeHints in dialogs in a wxInitDialogEvent event, because some widgets sizes are not fully initialized before this event.
...
It is especially true in some Window Managers like KDE, but can be true in any WM, when initializations are mage by TransferDataToWindow() method.
2016-07-02 14:44:36 +02:00
Simon Richter
da5699de0a
Replace boost::shared_ptr with std::shared_ptr.
2016-06-29 11:09:55 -04:00
Cirilo Bernhardo
c11b0cef99
3D Viewer: change 3D model cache path.
...
* Use platform cache path insted of the KiCad configuration path to write the
3D model cache.
* OSX: ${HOME}/Library/Caches/kicad/3d
* Linux: ${XDG_CACHE_HOME}/kicad/3d or ${HOME}/.cache/kicad/3d
* Windows: AppData\Local\kicad\3d
2016-06-21 14:02:04 -04:00
jean-pierre charras
7abf006c80
Very minor fix: fix shadowed local vars.
2016-06-15 10:27:24 +02:00
Maciej Suminski
b82ccc3b4e
Reverted 6912 with minor changes (LockCtx requires to specify canvas that locks a context).
2016-06-13 16:43:33 +02:00
jean-pierre charras
1c838ba92f
Slightly modify a declaration to make compil compatible with gcc 4.8.4, used in Ubuntu 14.04 LTS (the latest LTS currently available), and to avoid many bug reports.
2016-06-13 14:19:47 +02:00
jean-pierre charras
688fb5caaa
Minor enhancements in dlg_3d_pathconfig (better look, but not perfect). Also fix an issue: the minimal dialog size was not always calculated.
2016-06-13 12:41:27 +02:00
Cirilo Bernardo
b09f079ab4
3D file name resolver improvements.
...
* Add a Help button and text to the 3D alias configuration dialog
* Display KISYS3DMOD and internally defined KiCad path env vars
* Add a button to bring up the "Configure Paths" (env vars) dialog
* Remove the file name mapping feature from the resolver; this results in
the resolver always using the current definition rather than a possibly
outdated cache value.
2016-06-12 18:46:00 -04:00
Mário Luzeiro
f25d12f571
Footprint 3D properties dialog panel: fixes a bug on the offset of 3D Settings (Footprint) (the value range of the offset parameters were not set so it was not able to enter values <-10)
...
Also make some small layout changes on the orientation parameters in order to make it vertical smaller.
2016-06-09 14:27:58 +02:00
Cirilo Bernardo
e0a7f0041a
Better 3D filename resolution
2016-06-09 07:48:49 +02:00
Maciej Suminski
71aade6b51
Fixed a few warnings (mostly gcc6 -Wmisleading-indent).
2016-06-07 14:42:42 +02:00
Maciej Suminski
b83c148e10
Delete OpenGL context on GLCanvas subclasses destruction.
2016-06-03 15:46:13 +02:00
Maciej Suminski
94a460080e
Added missing code for C3D_MODEL_VIEWER to use GL_CONTEXT_MANAGER.
2016-06-03 15:46:12 +02:00
Maciej Suminski
01f32dd52c
GL_CONTEXT_MANAGER class to avoid unexpected GL context switches.
2016-06-03 15:46:12 +02:00
Wayne Stambaugh
42b659efe1
Fix build error on non-debug builds.
2016-06-01 16:58:27 -04:00
jean-pierre charras
0a6245e5cc
Remove not working bom_cvs.xsl file. Fix minor compil warnings in x3dmodelparser.cpp.
2016-06-01 18:42:01 +02:00
jean-pierre charras
a4658ab6be
Fix a few compil warnings (not used vars, shadowed local vars)
2016-06-01 14:22:05 +02:00
Cirilo Bernardo
34f223a707
Fix FP Editor : Invalid Filename Err.msg message wheb trying to edit a 3D filename
2016-05-30 10:22:19 +02:00
Simon Richter
48ad75719c
Remove redundant old copy of cimage class (3d-viewer/CImage.cpp and 3d-viewer/CImage.h)
2016-05-30 08:31:32 +02: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
3c0859686b
Gerbview: fix a stupid mistake I made in rev 6829 (crash when reading a gbr file). 3d path config dialog: make it resizable.
2016-05-26 18:58:32 +02:00
jean-pierre charras
dbb78db7ef
Gerbview: Shows now in the Layer manager the filename of gerber or drill files loaded.
...
A fex minor compil warnng fixes
2016-05-23 17:47:16 +02:00
Chris Pavlina
5904e4c942
Correct handling of unused parameter
...
Coverity: CID 143742
2016-05-10 23:25:53 -04:00
Chris Pavlina
05255cbae8
Clean up dodgy array dimension
...
Array is in pairs but has a single sentinel, trips up Coverity (CID 147346) and
does allow an out-of-bounds write if WX_GL_SAMPLES were ever removed from the
array.
2016-05-10 23:15:33 -04:00
Chris Pavlina
ec67218b5a
Remove unneeded 'new' and NULL check
...
Coverity CID: 143743
2016-05-10 22:36:44 -04:00
Maciej Suminski
d8ca03b362
3D viewer: set right OpenGL context before freeing memory.
2016-05-09 17:59:59 +02:00
Maciej Suminski
da312db7a4
Fixed a wxWidgets assertion. Newer wxWidgets (3.1) display a message saying that horizontal alignment flags are ignored with wxEXPAND.
2016-05-02 15:56:12 +02:00
Matthew Petroff
db54f3e7a7
Correct multiple UI spelling errors
2016-05-02 10:01:43 -04:00
unknown
ce331b03e8
3D_cache/cmakelists.txt: Don't clear CMAKE_CXX_FLAGS compiler flags
2016-05-02 11:45:23 +02:00
jean-pierre charras
d7f1400e44
Make strings only used in debug mode not translatable.
2016-04-21 09:19:08 +02:00
Cirilo Bernardo
6120472d60
3D file name resolver improvements.
...
* Paths defined via pcbnew->Preferences->Configure Paths are now included in
the 3D file browser's drop-down list except for KICAD_PTEMPLATES, KIGITHUB,
KISYSMOD, any paths resembling a URL, and any non-existent paths. When an
absolute path is shortened using one of these path aliases, let's say
'KISYS3DMOD' then the name appears in the pcb file as "${KISYS3DMOD}/blah.wrl".
If a user defines and actual environment variable with the same name, then
that user defined variable will have precedence over the internally defined
variable.
* Paths relative to the current project directory are no longer represented
as "some/path/to/file.wrl". For compatibility with previous KiCad versions
it shall always be stored as ${KIPRJMOD}/some/path/to/file.wrl.
* Various restrictions on alias path values have been removed since the
imposed restrictions could result in corrupted user data as aliases are
silently dropped.
* Overall the patch should improve back-compatibility by providing a ${ENV_VAR}
mechanism for supporting different model root directories and ensuring that
paths relative to KIPRJMOD are expressed in a way that is compatible with
earlier KiCad versions. This allows users more flexibility and the ability
to work in a way that ensures 3D model files can be correctly resolved in
earlier versions of KiCad. Users who do not care about back-compatibility
may prefer to use the newer alias system.
2016-04-17 18:35:32 -04:00
Cirilo Bernardo
28d49b6589
fix race condition related to 3D cache and resolver
...
The attached patch fixes a segfault due to a race condition.
If a user starts eeschema with an empty sheet and clicks
the 'cvpcb' button, memory is corrupted and the program
segfaults. The issue appears to arise from multiple threads
accessing the 3D cache and resolver. This patch makes
relevant code thread-safe by using a wxCriticalSection.
2016-04-10 23:03:39 -04:00
jean-pierre charras
c146cc09eb
Kicad: fix a crash when changing a project, if pcbnew was run and "Update PCB from Schematic" was run and Schematic editor never opened.
...
(In this case the schematic frame exists, but some members are not initialized as expected, and a crash happens when calling the schematic editor dtor)
Minor other fix: avoid multiple very similar strings to translate in 3d_filename_resolver.cpp
2016-04-08 14:11:05 +02:00
Cirilo Bernardo
973786d75d
Fix 3D Coverity issue, other minor fixes
...
* CID 143740: Null pointer dereferences (NULL_RETURNS)
A few minor cut/paste and style issues in the 3D code are also fixed.
2016-04-07 18:54:14 -04:00
Simon Richter
6a65341599
3D: Make file test more portable
2016-04-06 22:41:24 -04:00
Mário Luzeiro
ffc7740cc2
3D: fix bounding box assert and include order
2016-04-06 21:48:51 -04:00
Cirilo Bernardo
c2a60d14d7
3D: fix issues reported by Coverity scan
...
*** CID 143752: Incorrect expression (USELESS_CALL)
*** CID 143751: Incorrect expression (UNUSED_VALUE)
*** CID 143749: Uninitialized members (UNINIT_CTOR)
*** CID 143748: Uninitialized members (UNINIT_CTOR)
*** CID 143747: Uninitialized members (UNINIT_CTOR)
*** CID 143746: Uninitialized members (UNINIT_CTOR)
*** CID 143745: Uninitialized members (UNINIT_CTOR)
*** CID 143744: Uninitialized members (UNINIT_CTOR)
*** CID 143740: Null pointer dereferences (NULL_RETURNS)
*** CID 143739: Memory - corruptions (MISMATCHED_ITERATOR)
*** CID 143735: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
*** CID 143734: Error handling issues (CHECKED_RETURN)
2016-04-06 21:41:52 -04:00
Cirilo Bernardo
e1b308b3b1
fix segfault in python scripting caused by new 3D code
...
The attached patch ensures the S3D_MASTER class does not cause
a segfault in pcbnew when used from Python scripting.
The issue is due to an "extern KIWAY* TheKiway" which was exposed
to allow S3D_MASTER to use the new resolver to handle 3D filenames.
Unfortunately TheKiway cannot be assigned a value until a window is
created which implements Kiway. The change introduced by this
patch should not alter the behavior of S3D_MASTER compared to
the behavior before the 3D merge.
The extern variable is only there to support S3D_MASTER which in
turn is there to support the current 3DViewer. In the planned software
structure the rather complex S3D_MASTER class is replaced with
a simple struct which only holds the model name and position/
orientation/scale data as stored in the PCB file; since the replacement
does not perform filename resolution there is no need to expose the
Kiway. For example in Mario's branch we removed the extern and
S3D_MASTER class many months ago.
2016-04-05 20:32:50 -04:00
jean-pierre charras
d18cdf1c53
merge 3d_initial_merge branch
2016-04-05 19:56:01 +02:00
Cirilo Bernardo
20b40aba1c
Fixed bad delete/delete [] invocations and other warnings and errors as suggested by cppcheck
2016-04-05 20:32:22 +10:00
Cirilo Bernardo
80f8e74797
Make changes to GLM header includes as per suggestions by Mario Luzeiro
2016-03-21 18:39:25 +11:00
Cirilo Bernardo
10c8a57c59
Fixed timestamp checking code to use canonical filename
2016-03-21 07:21:54 +11:00
Cirilo Bernardo
aa16666d72
Added file modification check to model cache code
2016-03-20 11:45:55 +11:00
Cirilo Bernardo
491e0250c0
Suppress dialog pop-up when 3D file resolver does not find a file
2016-03-15 11:39:28 +11:00
Cirilo Bernardo
a30151231f
Fix invocation of glm::cross and glm::normalize
2016-03-15 11:38:55 +11:00
Cirilo Bernardo
30f9aba7c9
Work on SG consistency checks: fixed a number of bugs and improved integrity checking when writing cache files
2016-03-14 12:30:59 +11:00
Cirilo Bernardo
0085d1aea7
Fixed unsigned vs signed int comparisons
2016-03-11 09:37:39 +11:00
Cirilo Bernardo
862cd7e5a4
Fix event processing on C3D_MODEL_VIEWER to allow click-to-focus
2016-03-02 12:29:20 +11:00
Mário Luzerio
d4655020f9
Fix zoom issue on MSWin (wxCanvas requires focus)
2016-03-02 07:50:32 +11:00
Cirilo Bernardo
d0a2080823
Merge with main branch r6601
2016-03-01 11:44:15 +11:00
Bernhard Stegmaier
5b0a250609
Fix compilation and install for OSX plus general code cleanup
2016-03-01 10:08:19 +11:00
Bernhard Stegmaier
04000883f3
Fix 3d-viewer regressions introduced by touchpad-panning for non-touchpad-panning.
...
* Fix broken horizontal scrolling with ctrl-wheel
* Restore previous step size
2016-02-26 17:19:22 -05:00
Cirilo Bernardo
0b18af3fdb
Changed resolver failure message to use wxLogMessage instead of wxMessageBox
2016-02-26 15:18:59 +11:00
Cirilo Bernardo
37c85113ee
Changed resolver failure message to use wxLogMessage instead of wxMessageBox
2016-02-26 15:16:55 +11:00
Cirilo Bernardo
097ac3a6b7
Changed resolver failure message to use wxLogMessage instead of wxMessageBox
2016-02-26 15:14:20 +11:00
Cirilo Bernardo
e7c32873ea
Remove bad default behavior of adding current working dir to default search path
2016-02-25 14:31:59 +11:00
Cirilo Bernardo
b2bdca4b7b
Remove wxASSERT in new cbbox code which was a nuisance to the legacy 3DViewer
2016-02-25 09:52:00 +11:00
Bernhard Stegmaier
f8abe9c191
Add support for optional touchpad panning.
2016-02-24 14:53:02 -05:00
Cirilo Bernardo
5306db0c98
Added missing include to 3d_plugin_manager
2016-02-24 07:26:58 +11:00
Cirilo Bernardo
9195451e12
Switched SG* classes and plugin loader logging code from stderr to wxLogTrace
2016-02-23 17:46:22 +11:00
Cirilo Bernardo
d051a8f47e
Changed IFSG* log reports from stderr/stdout to wxLogTrace
2016-02-23 16:28:41 +11:00
Cirilo Bernardo
c98ebdb8f0
Changed 3d_cache log reporting from stderr/stdout to wxLogTrace
2016-02-23 14:33:24 +11:00
Cirilo Bernardo
2f8c55cd99
Fixed segfault on getSHA1 (fopen result was not checked)
2016-02-23 11:38:58 +11:00
Cirilo Bernardo
5776037a70
Flush model data upon exit of Footprint Properties dialogs
2016-02-21 11:54:34 +11:00
Cirilo Bernardo
f247b05b3e
Merged Mario's fix to Material + per-vertex colors and transparency
2016-02-16 08:07:17 +11:00
Cirilo Bernardo
a4861a0d64
Sync with main r6555
2016-02-14 09:16:40 +11:00
unknown
450c2e4371
fix Tickness typo
2016-02-11 16:02:37 +01:00
jean-pierre charras
050bdbc772
Pcbnew: minor changes:
...
* Dialog copper zones: Always enable thermal shape settings, because even with no thermal, some pads can use thermal option in local pad settings.
* GAL mode: shows page limits in gray color, like in legacy mode, and according to comments in sources.
2016-02-09 09:23:24 +01:00
jean-pierre charras
711607f152
Fix minor Bug #1542935 (No solder mask unless there is something on the layer)
2016-02-08 14:04:42 +01:00
Cirilo Bernardo
4edce46764
Fixed bug: ambient intensity RGB not correctly written/read
2016-02-07 08:52:42 +11:00
Cirilo Bernardo
99aba8f261
Changed handling of ambientIntensity; change of major version in SG* lib
2016-02-07 08:41:27 +11:00
Cirilo Bernardo
68dde1f16f
Fixed inappropriate model scale limitation in 3D Footprint Properties dialogs
2016-02-04 12:31:37 +11:00
Cirilo Bernardo
86635aeb23
Manually select changes from Mario Luzeiro's branch to fix model lighting in the preview window.
2016-02-04 12:16:19 +11:00
Cirilo Bernardo
bf3d2b252e
Fixed VRML normals calculations
2016-02-03 11:44:48 +11:00
Cirilo Bernardo
8dd744f635
Improved 3D cache manager's ability to replace outdated cache models
2016-01-31 13:21:12 +11:00
Cirilo Bernardo
ece1291d93
Fixed SG* CMake control file to handle new sg_version.h file
2016-01-29 12:00:03 +11:00
Cirilo Bernardo
dddc3d91e9
Cleaned up 3D SceneGraph API by removing references to wxString
2016-01-29 11:52:42 +11:00
Cirilo Bernardo
cd831d9a8a
Removed include directives for wx/wx.h within 3D cache code
2016-01-28 17:12:41 +11:00
Cirilo Bernardo
1028535561
Small improvements to 3D file selector UI
2016-01-26 11:50:01 +11:00
Cirilo Bernardo
fc5556c811
Sync with main branch r6513
2016-01-26 10:35:16 +11:00
Cirilo Bernardo
cb8ccb5882
Small UI improvements
2016-01-25 16:59:45 +11:00
Cirilo Bernardo
cc906ec12e
Removed deprecated header
2016-01-25 15:58:24 +11:00
Cirilo Bernardo
3eca3fe75d
Implemented new 3D file selector with preview
2016-01-25 15:55:36 +11:00
Bernhard Stegmaier
3e2b4244f9
OSX: add support for wxMagnifyEvent on OSX builds using wxWidgets 3.1.0 or greater.
2016-01-24 19:18:29 -05:00
Cirilo Bernardo
ff07ad3f05
Fixed bug: 3D model selector sets scale values to zero
2016-01-24 08:37:28 +11:00
Cirilo Bernardo
20f97f34c3
Temporarily disabled some 3D data transfer code due to cross-platform differences in wxFileDialog
2016-01-23 20:36:39 +11:00
Cirilo Bernardo
31af6d7dbc
Fixed GUI issues related to setting scale/offset/rotation
2016-01-23 20:07:58 +11:00
Cirilo Bernardo
c79cc21396
Fixed syntax problem in MSWin specific code
2016-01-23 16:34:29 +11:00
Cirilo Bernardo
fa37f233ef
Added 'Change' button to 3D file selector to improve UI usability
2016-01-23 16:24:12 +11:00
Cirilo Bernardo
81f95a8dbc
Improve message displayed when resolver encounters a non-existent alias
2016-01-23 16:09:42 +11:00
Cirilo Bernardo
7c829c9e84
Added manual editing of 3D file name with alias tags
2016-01-23 14:52:54 +11:00
Cirilo Bernardo
ab2fff46f1
Added version tag to cache data
2016-01-20 09:07:09 +11:00
Cirilo Bernardo
3a80de107d
+ Improved 3D file resolution behavior with respect to duplicated paths
...
+ Added versioning to the 3D search path configuration file
2016-01-20 08:36:26 +11:00
Cirilo Bernardo
ec9acfd410
+ Changed wxT macro from _T() to _()
...
+ Added hints to 3d_filename_resolver to help transition from
legacy 3D model resolver behavior.
2016-01-19 11:05:40 +11:00
Cirilo Bernardo
d3f68e6482
Fix resolution of paths relative to KISYS3DMOD in legacy support
2016-01-19 10:30:20 +11:00
Cirilo Bernardo
625ce3cb69
Fix accidental application of filters to all cells of 3D search path GUI
2016-01-19 10:11:09 +11:00
Cirilo Bernardo
54940002f9
Implemented 3D search path configuration GUI
2016-01-18 19:53:35 +11:00
Cirilo Bernardo
7848b2a52e
Implemented new 3D searchpath configurator
2016-01-18 16:59:06 +11:00
Cirilo Bernardo
7434e673e1
Fixed bug in VRML coordinate conversion
2016-01-18 10:54:24 +11:00
Cirilo Bernardo
9a0b020806
Added VRML conversion of 'translation' and 'center' to mm on read and 0.1 inch on write
2016-01-18 10:39:51 +11:00
Cirilo Bernardo
ef62a5f153
Ensure consistent use of mm within SG models and that SG models write VRML files using 0.1 inch units
2016-01-18 08:35:29 +11:00
Cirilo Bernardo
9aeaf4a71b
Prevent unresolved path expansions from appearing as blank entries in 3D path list
2016-01-18 08:34:21 +11:00
Cirilo Bernardo
4d5097b41d
Work in progress: preparing new resolver scheme
2016-01-15 14:01:21 +11:00
Cirilo Bernardo
2ed89c29d2
Work in progress: transition to new 3D name resolution with nicknames
2016-01-15 11:28:28 +11:00
Cirilo Bernardo
d519df22ca
Change parameter type to accommodate expected integer range
2016-01-14 13:50:16 +11:00
Cirilo Bernardo
f4414e8325
Change 3D cache manager to use boost SHA-1 digest rather than in-tree MD5
2016-01-14 13:49:40 +11:00
Cirilo Bernardo
81977ed6b7
Finished checking debug/info messages and internationalization where appropriate
2016-01-12 18:03:17 +11:00
Cirilo Bernardo
3a5110f74a
Work in progress: checking debug output messages, internationalizing user info messages
2016-01-12 17:09:04 +11:00
Cirilo Bernardo
f123fab15b
Removed unnecessary platform-dependent includes
2016-01-11 16:25:38 +11:00
Cirilo Bernardo
e0b50b4002
Ensuring consistent internal kicad file separator character on MSWin
2016-01-11 16:24:51 +11:00
Cirilo Bernardo
c81a0d0f2f
Moved data transfer from OnOK to TransferDataFromWindow() and removed all instances of OnOK and OnExit
2016-01-11 16:14:35 +11:00
Cirilo Bernardo
14bee875cf
Replaced platform-dependent dynamic loading code with wxPluginManager
2016-01-11 15:47:08 +11:00
Cirilo Bernardo
2bdc4d770b
Fixed plugin->Load invocation (passed wxString instead of const char*)
2016-01-11 14:04:54 +11:00
Cirilo Bernardo
c24c07962b
Fixed bug in display of Footprint Properties rotation (text too long)
2016-01-08 18:53:45 +11:00
Cirilo Bernardo
87c62b443d
Improved SG* code to avoid spurious warnings when adding child/reference nodes
2016-01-08 17:04:17 +11:00
Cirilo Bernardo
979edc4f9f
Improved VRML1 conformance to spec
2016-01-08 16:23:42 +11:00
Cirilo Bernardo
e8593d177c
Change 'class S3D_INFO' declarations to 'struct S3D_INFO'
2016-01-07 19:54:39 +11:00
Cirilo Bernardo
1b6480e858
Added support for VRML1 transforms (except for MatrixTransform)
2016-01-07 17:01:07 +11:00
Cirilo Bernardo
8a9eb3bbe8
Fixed various bugs in VRML2 and VRML1 code
2016-01-07 11:24:11 +11:00
Cirilo Bernardo
29d7829909
Fix for MSWin (plugins not found)
2016-01-06 20:05:29 +11:00
Cirilo Bernardo
9d55ad375f
Removing redundant sg/ifsg colorindex files and references
2016-01-06 18:19:20 +11:00
Cirilo Bernardo
403cd94edc
Fixed color indexing for VRML2 plugin
2016-01-06 16:51:29 +11:00
Cirilo Bernardo
6f309a46c9
Implemented per-vertex colors for VRML2 and SGNODE
2016-01-06 16:15:54 +11:00