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
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
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
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
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
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
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
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
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
2ba7c05cbf
Resync with main branch and fixed to work with new symbol visibility rules
2015-12-09 09:52:02 +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