Commit Graph

299 Commits

Author SHA1 Message Date
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