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