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
Cirilo Bernardo
6b873ed46b
Work in progress: implementing SG translation for VRML1 models
2016-01-06 15:34:14 +11:00
Cirilo Bernardo
98f867629b
Added debug printouts to help debug plugin search/loading on MSWin
2016-01-06 06:48:27 +11:00
Cirilo Bernardo
c798f8b545
Added support for FreeCAD VRML files
2016-01-04 18:10:15 +11:00
Cirilo Bernardo
97d4c33a9f
Fixed preview pane resizing
2016-01-04 09:15:53 +11:00
Cirilo Bernardo
59cf4c5ed0
+ Fixed calculation of overall transform in SCENEGRAPH
...
+ Fixed NULL dereference bug in VRML2 nodes
2016-01-03 14:55:30 +11:00
Cirilo Bernardo
fad73f0e85
VRML2 3D plugin is now functional
2016-01-02 12:21:02 +11:00
Cirilo Bernardo
b426740195
Removed dead code modules
2016-01-01 16:23:21 +11:00
Cirilo Bernardo
07bd4cbc04
+ Resync with main r6397
...
+ Work in progress: VRML parser
2015-12-22 11:08:39 +11:00
unknown
0ea1c67caf
eeschema plot dialog: cosmetic enhancement:
...
Including the inline of the Output directory and its text field/browse button.
Moving the plot format to the left of the plot options as the plot options depend on the plot format.
2015-12-21 16:08:37 +01:00
jean-pierre charras
a11bbffe9b
Code reorganization, and change the way 3D viewer frame is managed (now using wxWidgets wxWindow::FindWindowByName() to know if it is existing) , to prepare others fixes.
2015-12-21 12:52:00 +01:00
Cirilo Bernardo
70be4e8f7f
+ Reverted accidental edit of sg_node.cpp
...
+ Fixed invocation of SHAPE_POLY_SET::Simplify() to match changes in main
2015-12-19 17:53:07 +11:00
Cirilo Bernardo
2c4b220f3c
Resync with main branch r6383
2015-12-19 15:02:52 +11:00
Cirilo Bernardo
396825d960
Cleaning up in preparation for merge
2015-12-19 14:57:02 +11:00
Cirilo Bernardo
86c54ce636
Modified IDF plugin to support IDF assemblies (*.emn) in addition to component outlines (*.idf)
2015-12-18 19:43:27 +11:00
Cirilo Bernardo
008d8a540a
+ Fixed bug in SGSHAPE::Prepare() : bad assignment of color pointer
...
+ Reworked s3d_plugin_demo2.cpp to use per-vertex-per-face normals
+ Reworked s3d_plugin_idf.cpp to use per-vertex-per-face normals
2015-12-17 13:55:35 +11:00
Cirilo Bernardo
eab70be17b
Changed cache->Prepare() to cache->GetModel()
2015-12-17 09:21:30 +11:00
Cirilo Bernardo
c0fcb15e3a
+ Rework S3D_CACHE::Prepare() to take only a filename and return
...
non-transformed S3DMODEL for rendering.
+ S3D_CACHE now caches S3DMODEL and returns a pointer to a single
instance of the S3DMODEL for repeated calls to Prepare()
+ Beginning the VRML Plugin
2015-12-16 20:01:44 +11:00
Cirilo Bernardo
580f7aecfc
Added model coloring to the IDF 3D model plugin
2015-12-16 15:11:54 +11:00
Cirilo Bernardo
c251fbac75
+ Improved the normals calculations (however it's still buggy)
...
+ Reworked 3D plugins to use normals calculations
2015-12-16 14:25:46 +11:00
jean-pierre charras
178cf0dc25
Polygon calculation (zones filling): use fast mode when possible (in fact most of time) and strictly simple polygon option only in critical cases (in fact in plot Gerber functions mainly).
...
In polygon calculations (combining polygons, fracture) the mode of calculation (fast or strictly simple polygon option) as no more a default value, because choosing the best mode is better to optimize the calculation time.
2015-12-15 21:21:25 +01:00
Cirilo Bernardo
304cd81ebd
+ Bugfix: changed Plugin Loader to expect 'GetPluginVersion' instead of
...
'GetVersion'.
+ Introduced normal calculations. This is buggy due to multiple equal
face normals distorting the vertex normal; this will be fixed by
removing the redundant face normals from the calculations.
2015-12-15 18:53:03 +11:00
Kristian Nielsen
6f4be750b5
Fix GLM 3D viewer build configuration error.
2015-12-14 19:43:00 -05:00
Cirilo Bernardo
1940bd71e4
Resync with main branch + fix MSWin build (accidental inclusion of dlfcn.h)
2015-12-15 10:56:11 +11:00
Cirilo Bernardo
2128594a85
Coding policy fixes: remove trailing white space.
2015-12-14 16:20:54 -05:00
Cirilo Bernardo
f099ae27c5
Feature implementation complete: save and load cache data
2015-12-14 20:15:44 +11:00
Cirilo Bernardo
4924db7491
Bugfix: create 3d config path if nonexistent
2015-12-14 18:41:15 +11:00
Cirilo Bernardo
a2fe783f53
Finished refactor and introduction of generic Plugin scheme
2015-12-14 14:51:28 +11:00
Cirilo Bernardo
3ff8ca0caf
Refactored to use new generic plugin base
2015-12-14 08:45:22 +11:00
Cirilo Bernardo
86042d86a6
Added partial render ability to IDF plugin
2015-12-11 17:37:42 +11:00
Cirilo Bernardo
b46451ec81
Introducing the IDF 3D plugin and reorganizing directories
2015-12-11 08:34:52 +11:00
Cirilo Bernardo
210416aca4
Attempting to improve the file selector path list combo box
2015-12-10 15:02:05 +11:00
Cirilo Bernardo
4e12999fa8
Removed some trailing white space. Fixed FindGLM.
2015-12-10 11:31:44 +11:00
Cirilo Bernardo
ac3acb0061
Moving headers to facilitate support for building 3D plugins out-of-tree
2015-12-09 18:30:48 +11:00
Cirilo Bernardo
a0597c4614
GUI improvements including interactive update of model orientation/position
2015-12-09 16:43:30 +11:00
Cirilo Bernardo
47f40def0c
GUI improvements including control of panel sizes and resizing of GL canvas in preview
2015-12-09 10:38:25 +11:00
Cirilo Bernardo
712f57f002
Re-enabled bounding box display
2015-12-09 09:58:36 +11:00
Cirilo Bernardo
2ba7c05cbf
Resync with main branch and fixed to work with new symbol visibility rules
2015-12-09 09:52:02 +11:00
Maciej Suminski
231eaecf34
Removed the included GLM library, switched to the system one.
2015-12-08 10:56:53 +01:00
Cirilo Bernardo
6e5473f646
Minor fix: remove reference to GLdebug()
2015-12-08 18:56:30 +11:00
Mario Luzeiro
69cc788e8e
+ Removed glm source from kicad tree (Maciej / Cirilo)
...
+ Added renderer for 3D model preview (Mario)
+ Added 3d_cache including name resolver and modifications to 3D model dialogs (Cirilo)
2015-12-08 18:31:57 +11:00
jean-pierre charras
407aa9c586
Very minor fix: a pcbnew option (show page limits) was not stored in user config, and was lost after closing the session.
...
3d-viewer: very minor fix
2015-11-29 07:56:27 +01:00
jean-pierre charras
2afee8fb58
Make translation easier in dialog_create_array_base.
2015-11-22 11:21:14 +01:00
unknown
3e8b4503d1
Try to fix Bug #1458215 (3D viewer plane artifacts on first render)
2015-11-15 18:55:53 +01:00
jean-pierre charras
c877c5ff6e
3D viewer: Fix potential crash risk introduced in rev 6279 (from a coverity warning). Make strings translatable in wx_html_report_panel_base.
2015-10-26 08:46:19 +01:00
unknown
c721c21bdf
3D viewer: Fix bug #1509506 : Crash with MeshLab reduced 3D model.
2015-10-25 19:51:41 +01:00
Wayne Stambaugh
a6a9d8eedf
Default and most recently used path fixes. (fixes: 1494210)
...
* Rename Eda_FileSelector to EDA_FILE_SELECTOR.
* Add optional pointer to wxString to save the most recently used path to EDA_FILE_SELECTOR.
* Rename Eda_DirectorySelector to EDA_PATH_SELECTOR.
* Replace wxGetCwd() with wxStandardPaths::GetDocumentsDir(). This fixes the windows issue
where wxGetCwd() returns the path where the executable files are located.
* Add code to handle most recently used path to EDA_BASE_FRAME.
* Fix string formatting error in kicad/files-io.cpp.
* Remove setting and restoring current working directory when launching GerbView. Setting the CWD
has no effect on the launched executable which starts with it's own CWD.
* Allow project path to be passed to GerbView when launched from KiCad.
* Note: this is a work in progress. Do not expect every path and/or file selection dialog to properly
update the most recently used path. The correct solution to this problem requires a much more
well though out solution which will not happen until after the next stable release.
2015-09-25 15:38:09 -04:00
jean-pierre charras
37c8462c8b
3D viewe: Very minor fixes in 3D Display Options dialog.
2015-09-15 20:47:20 +02:00
Wayne Stambaugh
0493148df6
3D Viewer: minor menu string improvements. (fixes lp:1495935)
2015-09-15 13:35:26 -04:00
jean-pierre charras
156d5f50d6
fix unwanted foreground frame change on Windows when creating BOM and netlists from scripts.
...
Very minor coverity warning fixes.
2015-08-28 16:15:45 +02:00
jean-pierre charras
4fc230b773
Rework on Enum PAD_SHAPE_T, PAD_DRILL_SHAPE_T and PAD_ATTR_T (see rev 6008) : the new and better names are now used in Kicad code and existing python scripts.
...
PAD_SHAPE_T and PAD_ATTR_T still have a double definition (new names and old names) to be sure python scripts are nor broken by the change.
PAD_DRILL_SHAPE_T does not have a double definition, because it is unlikely oblong holes are used in python scripts.
Double definitions will be removed in the (next) future.
2015-08-23 21:40:33 +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
jean-pierre charras
c63f6aa3c5
Polygon boolean operations on SHAPE_POLY_SET: Add a parameter (aFastMode) to speed up calculations. By default, the transforms use an option to create stricly simple polygons.
...
In 3D viewer, this option can take a *very long* calculation time (minutes instead of seconds, or hangs) and they are now using aFastMode = true to do polygon calculations, especially for zones inside zones belong to the same net but having different priority (which creates weak polygons).
aFastMode = false is the default for other calculations (zone filling) as before.
2015-08-16 14:07:58 +02:00
jean-pierre charras
5ba6cb975b
3D viewer: a few optimizations to speed up scene building, and better look of circles in footprint outlines.
2015-08-11 13:56:02 +02:00
jean-pierre charras
7a51a502b4
3D viewer: optimizations in code to build the 3D view.
...
Remove no more used code.
Building the 3D view is now faster.
2015-08-10 17:17:10 +02:00
jean-pierre charras
8174e1aefd
3D viewer: speed up the silkscreen layer generation (not perfect, but it help).
2015-08-02 20:59:29 +02:00
Tomasz Wlostowski
1d7e49a45c
SHAPE_POLY_SET::Inflate(): correct arc approximation for negative offsets (deflation). Control circle->segments count explicitly in all Inflate() calls
2015-07-27 21:46:47 +02:00
Tomasz Wlostowski
63b35f40a7
Removed all dependencies on boost::polygon except for bitmap2component. Replaced almost all instances of CPOLYGONS_LIST with SHAPE_POLY_SET.
2015-07-27 21:45:57 +02:00
unknown
a30a2d72e8
3D viewer: Add icons in file menu
2015-07-27 17:01:35 +02:00
unknown
8b18f5118c
3D viewer: cosmetic modification: use blue color for Z axis and Green color for Y axis
2015-07-26 14:35:27 +02:00
unknown
eda130dbc6
3D viewer: cosmetic enhancement: color of 3D axis is equal to the color of the corresponding icon in toolbar
2015-07-26 13:35:05 +02:00
jean-pierre charras
9b9c7945a2
Many minor fixes (like bug #1477213 ). Better help in dialog environment variables editor (the tooltip was never shown on Windows)
2015-07-24 12:23:34 +02:00
Maciej Suminski
d2ebf688f9
Reverted commits that remove boost::polygon dependency (need more testing).
2015-07-14 22:23:13 +02:00
Tomasz Wlostowski
9f18e5a98f
SHAPE_POLY_SET::Inflate(): correct arc approximation for negative offsets (deflation). Control circle->segments count explicitly in all Inflate() calls
2015-07-14 15:05:41 +02:00
Tomasz Wlostowski
41c753b05d
Removed all dependencies on boost::polygon except for bitmap2component. Replaced almost all instances of CPOLYGONS_LIST with SHAPE_POLY_SET.
2015-07-14 13:36:24 +02:00
Tomasz Włostowski
24170f5588
Fixes to SHAPE_POLY_SET slitting/fracturing algo, some speed optimization.
2015-07-06 15:15:48 +02:00
jean-pierre charras
c1bbf3ecb4
Temporary back to boost::polygon in 3d-viewer. Fix an assert warning in hashtables.h, when a wxString contains non basic ASCII chars (Bug #1470078 ).
2015-07-04 21:53:37 +02:00
jean-pierre charras
b9f1ada90b
Use Clipper lib in 3D viewer, in calculations that crashed the 3D viewer when using boost:: polygon. Work in Progress.
2015-07-04 18:38:08 +02:00
unknown
71b3125d8e
Cleanup: remove unnecessary macros EXCHG and NEGATE. add MIRROR macro.
2015-06-26 15:41:56 +02:00
jean-pierre charras
7c8c1d4954
Minor fix and cleanup. 3D viewer: modify the status bar. (Should be enough to avoid the bug #1467111 ).
2015-06-21 20:21:20 +02:00
jean-pierre charras
fe7bc2784a
Eeschema, select component dialog: speed up (up to 20 to 30 times) the tree rebuild process, when the filter is used.
...
3d_draw_helper_functions.cpp: minor cleanup, and fix a very minor issue in 3D grid.
2015-06-20 11:19:57 +02:00
unknown
fe6cf2f5f8
3d-viewer: Fix a regression: grid was not updated ( now updated by calling CreateDrawGL_List )
2015-06-19 11:06:52 +02:00
jean-pierre charras
e0e69498e2
3D viewer, color selection: fix a minor bug and add more board body colors in preselection
2015-06-17 17:17:34 +02:00
jean-pierre charras
6c42987842
Refinements in 3D viewer, color selection: better icons and adding board body color selection
2015-06-17 14:59:41 +02:00
jean-pierre charras
f8275943e8
3D color selection : clean code. Add solder paste color selection
2015-06-17 11:06:39 +02:00
jean-pierre charras
1b2bf516a3
Add icons in 3D viewer for silkscreen, solder mask and copper color selection.
2015-06-16 20:14:57 +02:00
jean-pierre charras
d0daa2cab7
Add color selector in 3D viewer for silkscreen, solder mask and copper.
...
Remove unused or duplicate icons.
2015-06-16 20:04:02 +02:00
Tomasz Wlostowski
b562cfb8bb
WX_HTML_REPORT_PANEL: a REPORTER widget on steroids.
2015-06-16 14:20:42 +02:00
Wayne Stambaugh
63c978d987
3D viewer save image improvements.
...
* Set initial path to the current project path.
* Remember user selected path and file name between saves.
* Prompt user when over writing existing files.
2015-06-10 15:39:30 -04:00
jean-pierre charras
9f03d15a2e
Try to enable Clipboard copy on linux
2015-05-31 13:14:57 +02:00
Garth Corral
6eaf029a0e
Pinch to zoom for OS X.
2015-05-21 22:54:29 +02:00
jean-pierre charras
4e210a2d05
ModEdit: fix a refresh issue after deleting a pad (depending on the position of the pad, the pad was sometimes not immediately undrawn).
...
Fix a few coverity wanings (not initialized members in ctors)
2015-04-20 16:59:25 +02:00
Wayne Stambaugh
9a6a3c8b58
Fix some more size_t assertions in the VRML parser debugging messages.
2015-04-19 19:46:38 -04:00
unknown
5f7268a178
3d-viewer, fix again a transparency issue.
2015-04-17 13:12:59 +02:00
jean-pierre charras
4354139f24
Very minor fixes.
...
Removing trailing spaces in some files.
2015-04-16 10:07:10 +02:00
unknown
d40ea8adcb
3D viewer: fix issues with transparencies in some models (material issues in VRML2 parser)
...
Fix some issues in filling zones normals.
Fix an issue with some models that have materials but didn't defined the diffuse color.
Workaround for Bug #1443431 .
Implement some missing "code logic" for pervertexperface normals.
Remove some not used functions.
Calculate normals using double type.
2015-04-16 09:43:27 +02:00
Wayne Stambaugh
4b22e8ed37
Fix wxLogTrace string argument format specifiers for size_t types in vrml_v2_parser.cpp
2015-04-14 21:42:33 -04:00
jean-pierre charras
79af0c454d
2 very minor fixes.
2015-04-14 17:57:07 +02:00
jean-pierre charras
19347b1243
3D viewer: minor fixes. Use our class REPORTER to show warning messages and activity info when building the 3D board view. Add a few comments in sources.
...
Very minor other fixes.
2015-04-14 17:12:35 +02:00
Brian Sidebotham
ae57c4692a
Move S3D_MESH* to smart pointer to fix CID 108646
2015-04-13 21:56:15 +01:00
jean-pierre charras
c519eea12b
3D viewer: fix (the fix is not perfect) a minor issue in zone rendering: copper thickness was not good when the option 'Show Holes in Zones" was OFF, and "Show Copper Thickness" ON.
...
Fix a few coverity minor warnings.
2015-04-12 19:44:46 +02:00
unknown
d545c698fb
3D vrml export: fix for bug #1441734
2015-04-10 09:30:21 +02:00
jean-pierre charras
0f7e358030
3D viewer: fix a bug introduced in rev 5579s. Remove a few useless wxBusyCursor. Minor other fixes.
2015-04-08 14:50:36 +02:00
jean-pierre charras
17297babe7
Eeschema: extend max number of units per package to 52 and clean code to easily extend this value upto 26x26 (but 52 is a reasonable max value).
...
Fix a few minor coverity warnings.
Add about_dialog typo fix from Nick Østergaard
2015-04-07 13:52:29 +02:00
jean-pierre charras
bbbb84e6c2
Fix a few minor coverity warnings.
...
Fix minor 3D viewer issues (includling change number of segments and its optimization to draw pad holes.)
Fix Bug #1439132 (track and via list on toolbar not always refresh after loading a board).
Remove useless tool in Modedit.
2015-04-02 13:18:19 +02:00
jean-pierre charras
c9a917eef1
3d viewer: fix a few warning coverity (and a potential bug). fp libs wizard: make it internationalized, and replace an untranslatable string created by grouping 3 strings by one translatable string.
2015-03-31 13:14:21 +02:00
unknown
34dfbc3306
3D viewer: fix an issue introduced in previous commit. Add an improvement.
2015-03-29 18:13:58 +02:00
unknown
c0518db743
3D viewer: Some more support cases to VRML2 parser and fix some issues.
2015-03-29 12:59:53 +02:00
unknown
26990213db
3ED viewer: added more support for the VRML2 parser
2015-03-28 17:16:40 +01:00
unknown
eee901ff57
3D-viewer: Fixes and enhancements. Add comments in header files. Fix some coding style issues.
2015-03-28 12:33:56 +01:00
Wayne Stambaugh
ec4d74c984
Minor 3D viewer improvements (fixes lp:1406680).
...
* Make OK button the default action in the 3D viewer option dialog per UI
policy.
* Fix standard button sizer padding in 3D viewer options dialog.
* Let sizers do their job by using default size for 3D viewer options
dialog.
* Set 3D viewer hot key to Alt+3 in all parent windows where 3D viewer is
accessible.
* Minor code cleaning and coding policy fixes.
2015-03-26 15:04:52 -04:00
jean-pierre charras
9c43d6f22b
Very minor fixes: 3D viewer: remove artifacts with NPTH pads having the save size as their hole. Kicad: remove duplicate submenu in menubar. remove a minor coverity warning
2015-03-23 09:28:12 +01:00
jean-pierre charras
9a3a92f93a
3d-viewer: avoid useless warning messages each time a 3d view option is changed.
...
they are now shown only when a new board is loaded, if there are warnings.
2015-03-17 08:39:15 +01:00
jean-pierre charras
115cb2d647
Try to fix Bug #1431765 (Pcbnew crashes in GAL when entering 3d display when a board outline is not closed)
...
This change modify the way warning messages are displayed: now the are displayed outside a paint event.
2015-03-16 18:39:35 +01:00