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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Mário Luzerio
d4655020f9
Fix zoom issue on MSWin (wxCanvas requires focus)
2016-03-02 07:50:32 +11:00
Bernhard Stegmaier
5b0a250609
Fix compilation and install for OSX plus general code cleanup
2016-03-01 10:08:19 +11: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
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
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
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
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
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
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