Commit Graph

225 Commits

Author SHA1 Message Date
Simon Richter b0f9864bc4 Clean up warnings from exception handlers
The exception objects caught are either not referenced at all, or only in
debug builds. This avoids the warnings for the unused variables.
2016-10-10 11:08:49 -04:00
Cirilo Bernardo 44ba343a7b Changed test for invalid numeric strings in VRML files 2016-10-09 08:43:36 -04:00
Simon Wells 7a1d39ccc6 Add system to OCE includes, Change order of local includes for kicad2step 2016-09-26 08:17:57 +02:00
Simon Richter ad088db6d2 Add more "override" markers. 2016-09-25 13:59:41 -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
Dick Hollenbeck 7311f07eaf SWIG Improvements
*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
   for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
   common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
   libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
   which is to be applied to any function which needs C++ to python
   exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
   in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
   which rebuilds the swig generated *.cxx file when one of its dependencies
   change.
*) Re-architect the board.i file so that it can be split into multiple *.i
   files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
   phase III.
2016-09-20 11:59:43 -04:00
Nick Østergaard caafcde585 Add KICAD_ prefix to build switches
KICAD_ prefix was added to the USE_OCE and USE_SCH_IO_MANAGER build
switches together with a small description to the devdocs from
compiling.md.
2016-09-05 08:46:01 -04:00
Wayne Stambaugh 38e7debdec Merge Cirilo's OCE plugin branch. 2016-09-01 16:36:45 -04:00
jp-charras 4a3cb050ed Fix incorrect management of C locale in vrml plugin 2016-08-24 14:37:30 +02:00
Cirilo Bernardo b656a8180a Added 3D plugin for OCE; this plugin is activated by -DUSE_OCE=ON 2016-08-22 15:50:38 +10:00
Cirilo Bernardo 9b2dba2b1b 3D Viewer: fix swapped VRML material colors.
* Fix a bug in the VRML2 parser which exchanged the blue and green components
  of the ambient lighting.
2016-06-13 12:50:42 -04:00
Cirilo Bernardo dbef1d41c5 Remove dead code (Coverity CID 149046) 2016-06-03 06:30:47 -04:00
Cirilo Bernardo 47e2aab7de PATCH: segfault in VRML2 plugin
The attached patch fixes a segfault in the VRML2 plugin
which is caused by Shape entities with empty vertex
lists.
2016-05-19 21:12:07 -04:00
Cirilo Bernardo 0ec15c9157 VRML plugin: VRML plugin. This patch modifies the behavior of the VRML name parser so that a name may be immediately succeeded by ] or }.
The previous behavior was to reject a valid name since the brace or bracket was considered an invalid character within a name.
2016-05-16 09:32:15 +02: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 18bb852030 Removed incorrect special treatment of commas within VRML files 2016-04-03 10:56:41 +10:00
Cirilo Bernardo 2dfd8064d4 Fix filename resolution within VRML2 Inline{} 2016-04-03 10:55:22 +10:00
Cirilo Bernardo 5e0e2538d0 Added comments to 3D Plugin CMake files regarding debugging output 2016-03-02 10:25:21 +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 611d5de179 Removed code stubs for WWWInline support in VRML1; the construct will not be supported 2016-02-25 13:30:21 +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 c5984b207b Changed IDF plugin debug log from stderr to wxLogTrace 2016-02-23 13:42:51 +11:00
Cirilo Bernardo b0a26f32ef Fixed bugs in VRML/X3D parser log code 2016-02-23 13:37:35 +11:00
Cirilo Bernardo d2a13efc12 Changed VRML2 parser debug output from stderr to wxLogTrace 2016-02-23 13:31:51 +11:00
Cirilo Bernardo d6af042c64 Revert accidental change to VRML logging levels 2016-02-23 11:21:15 +11:00
Cirilo Bernardo 14178ee521 Change logging of X3D and VRML1 parsers from stderr to wxLogTrace 2016-02-23 11:20:34 +11:00
Cirilo Bernardo 0d14fd0f9b Fix scaling bug in vrml2_box.cpp 2016-02-22 20:00:23 +11:00
Cirilo Bernardo 684e41358a Added support for VRML2 Inline{} 2016-02-22 19:59:07 +11:00
Cirilo Bernardo af0ac955b9 Merge with main branch r6576 2016-02-22 19:58:32 +11:00
Cirilo Bernardo 970955d1a2 Improved non-compliant VRML1 model support by processing all top-level nodes (spec. mandates single top-level node which must be a grouping node) 2016-02-22 11:57:16 +11:00
Cirilo Bernardo 52e093087e Relaxed VRML1 parsing rules to support yet more non-compliant models 2016-02-22 09:42:47 +11:00
Cirilo Bernardo 7ffa20a668 Fixed bug: X3D models not scaled to conform to legacy expectation 2016-02-12 16:58:12 +11:00
Cirilo Bernardo 8e63862d7c Fixed coloring bugs related to uninitialized variable 2016-02-12 10:23:21 +11:00
Cirilo Bernardo 3c22f0f48f Bumped VRML plugin version number 2016-02-08 09:01:25 +11:00
Cirilo Bernardo 943c5d8ea8 Changed default creaseAngle from ~30deg (VRML spec) to ~42deg for prettier smoothing 2016-02-08 08:56:03 +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 67832dbc74 Removed temporary debug info message 2016-02-06 13:28:59 +11:00
Cirilo Bernardo c180390a08 Converted WRLVEC2, WRLVEC3, WRLROTATION to GLM equivalents 2016-02-06 09:59:18 +11:00
Cirilo Bernardo f52744b29c Added back-pointers to referenced entities 2016-02-06 09:38:03 +11:00
Cirilo Bernardo b7a8661a03 Sync with main branch r6538 2016-02-05 16:15:51 +11:00
Cirilo Bernardo cd6b0fbef1 Added visualization of X3D models 2016-02-05 16:08:30 +11:00
Cirilo Bernardo ffa0775074 Added preliminary X3D parser with no visualization data 2016-02-05 15:32:52 +11:00
Cirilo Bernardo bf3d2b252e Fixed VRML normals calculations 2016-02-03 11:44:48 +11:00
Cirilo Bernardo b987445676 Forced smoothed normals calculations for VMRML2 parser 2016-02-02 16:50:46 +11:00
Cirilo Bernardo ca9ada70a2 Deactivate SG* VRML output 2016-02-02 11:48:26 +11:00
Cirilo Bernardo 1f796ef494 Fixed normals calculations in wrlfacet 2016-02-02 11:23:15 +11:00
Cirilo Bernardo eadb34e22e Remove accidental activation of SG->VRML debug write 2016-02-01 18:19:16 +11:00
Cirilo Bernardo 8fa9e28e85 Fixed inverted normals bug in wrlfacet 2016-02-01 18:09:19 +11:00
Cirilo Bernardo 55c7c61458 Initial introduction of improved VRML normals calculations; working on VRML1 2016-02-01 17:27:50 +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 b1d35965f5 Relax VRML1 specifications conformance to support more non-conformant models 2016-01-30 13:50:17 +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 3cb1924750 Suppressed 3D plugin VRML file output from default DEBUG build 2016-01-23 16:58:22 +11:00
Cirilo Bernardo fcd89c57ed Change in VRML1 color retrieval rule for out-of-bounds index 2016-01-19 16:13:12 +11:00
Cirilo Bernardo 39ca807ac4 Improved VRML1 support, including relaxed rules to support poorly structured models 2016-01-19 15:21:00 +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 e185b29baa Resync with main branch r6482 2016-01-16 19:10:53 +11:00
Cirilo Bernardo 2ef42001df Added missing header to 3D plugin loader 2016-01-12 18:18:11 +11:00
Cirilo Bernardo 81977ed6b7 Finished checking debug/info messages and internationalization where appropriate 2016-01-12 18:03:17 +11:00
Cirilo Bernardo c952cb4902 Changed VRML parsers to use LINE_READER 2016-01-12 10:12:50 +11:00
Cirilo Bernardo cbfd05e799 Change dynamic loader from wxPluginManager to wxDynamicLoader (wxPluginManager was causing segfaults) 2016-01-11 18:32:37 +11:00
Cirilo Bernardo 14bee875cf Replaced platform-dependent dynamic loading code with wxPluginManager 2016-01-11 15:47:08 +11:00
Cirilo Bernardo b04bd8c07a Improved VRML parser's ability to skip comments 2016-01-08 16:51:39 +11:00
Cirilo Bernardo 979edc4f9f Improved VRML1 conformance to spec 2016-01-08 16:23:42 +11:00
Cirilo Bernardo 0377be722f Added ShapeHints to VRML1 parser 2016-01-07 18:03:07 +11:00
Cirilo Bernardo 1b6480e858 Added support for VRML1 transforms (except for MatrixTransform) 2016-01-07 17:01:07 +11:00
Cirilo Bernardo 0bb4beb5d7 Fixed bug (missing #ifdef/#endif) 2016-01-07 15:55:24 +11:00
Cirilo Bernardo 7dd4bd9f09 Improving VRML1/2 parsers 2016-01-07 15:43:32 +11:00
Cirilo Bernardo 8a9eb3bbe8 Fixed various bugs in VRML2 and VRML1 code 2016-01-07 11:24:11 +11:00
Cirilo Bernardo d6fbd7b4e5 Finished initial implementation of VRML1 parser 2016-01-06 19:45:49 +11:00
Cirilo Bernardo 7e165ac866 Work in progress: implementing VRML1 to SGNODE translation 2016-01-06 18:02:21 +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 38543ab94f Work in progress: added Switch and IndexedFaceSet to VRML1 plugin 2016-01-06 08:29:13 +11:00
Cirilo Bernardo b126c1b697 Fixed mistaken cut/paste use of VRML2 where it should be VRML1 2016-01-05 19:35:15 +11:00
Cirilo Bernardo 42f83bdf8a VRML1 plugin: added Coordinate3 type node 2016-01-05 19:29:28 +11:00
Cirilo Bernardo 9f9f146cd9 Work in progress: VRML1 plugin 2016-01-05 18:55:54 +11:00
Cirilo Bernardo 79e0564622 Work in progress: VRML1 plugin 2016-01-05 16:38:53 +11:00
Cirilo Bernardo 43c2c7223b Sync with main branch r6421 2016-01-05 16:37:52 +11:00
Cirilo Bernardo d52d8867c8 Fixed bug in vrml2_shape.cpp which resulted in segfaults. (used AND rather than OR in control statement) 2016-01-04 20:24:40 +11:00
Cirilo Bernardo c798f8b545 Added support for FreeCAD VRML files 2016-01-04 18:10:15 +11:00
Cirilo Bernardo 54905cb15c Adding forgotten VRML2 Box sources 2016-01-03 17:58:23 +11:00
Cirilo Bernardo 5208a1b47e Added VRML2 Box node 2016-01-03 16:55: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 62c6cba2a1 Reorganizing VRML parser code 2016-01-03 10:06:28 +11:00
Cirilo Bernardo 4d9ce774a8 Organizing VRML2 plugin debug reporting levels 2016-01-03 09:57:41 +11:00
Cirilo Bernardo 8939955f2f Relax VRML2 naming rules (perhaps temporarily) to accept the '-' character in DEF names 2016-01-03 09:18:16 +11:00
Cirilo Bernardo 76bf525d12 + Changed the debug output switch to DEBUG_VRML2
+ Transform nodes will now correctly include referenced nodes
2016-01-02 14:41:54 +11:00
Cirilo Bernardo 012e0a2066 Clean up naming of plugin VRML test output 2016-01-02 14:04:28 +11:00
Cirilo Bernardo fad73f0e85 VRML2 3D plugin is now functional 2016-01-02 12:21:02 +11:00
Cirilo Bernardo d68418d613 Work in progress: WRL2 to SGNODE translation 2016-01-01 18:55:43 +11:00
Cirilo Bernardo 68a512693f Work in progress: implementing VRML2 plugin 2016-01-01 16:05:14 +11:00
Cirilo Bernardo f7ea4ddb72 Cleaning up code in preparation for merge 2015-12-31 10:31:35 +11:00
Cirilo Bernardo 70b545895b Cleaning up debug info messages in preparation for merge 2015-12-31 09:56:56 +11:00
Cirilo Bernardo 548b54d75d + resync with main branch r6409
+ work in progress: new VRML2 3D plugin
2015-12-31 09:28:39 +11:00
Cirilo Bernardo 189f6fa763 Work in progress: VRML2 parser 2015-12-22 19:02:18 +11:00
Cirilo Bernardo e08c0de68f Work in progress: VRML2 parser 2015-12-22 17:02:33 +11:00
Cirilo Bernardo 07bd4cbc04 + Resync with main r6397
+ Work in progress: VRML parser
2015-12-22 11:08:39 +11:00
Cirilo Bernardo b1177e9025 Work in progress: VRML2 parser 2015-12-22 08:19:05 +11:00
Cirilo Bernardo 735137a26a Work in progress: VRML2 parser 2015-12-20 23:37:04 +11:00
Cirilo Bernardo e13dade517 Added beginnings of VRML parser 2015-12-20 18:59:26 +11:00
Cirilo Bernardo fb4b48f35b Removed accidental include in plugins/3d/CMakeLists.txt 2015-12-19 18:00:30 +11:00
Cirilo Bernardo 6cd0e51775 Removed build of demo plugin files 2015-12-19 14:59:42 +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 85e438570f Fixed bug for MSWin build (bad variable name) 2015-12-17 20:32:24 +11:00
Cirilo Bernardo 879c445b55 Preparing IDF plugin to support EMN/EMP files 2015-12-17 14:46:09 +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 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 31509fa52c Removed superfluous comment 2015-12-15 09:27:34 +11:00
Cirilo Bernardo 6294e507f9 Changed function name to avoid name clash with MinGW system call 2015-12-15 09:17:10 +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 ac3acb0061 Moving headers to facilitate support for building 3D plugins out-of-tree 2015-12-09 18:30:48 +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