Seth Hillbrand
6983c56cf8
Use const references where possible
...
This avoids copy cost on local vars where we only read.
2019-12-05 14:40:22 -08:00
Seth Hillbrand
b5f021ff9f
Cleanup: Replace push_back with emplace_back
...
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Seth Hillbrand
4d2e953f42
Cleanup: Replace C-only deprecated headers
...
This replaces headers deprecated by C++14 with their equivalent
replacement
2019-12-05 11:03:15 -08:00
Seth Hillbrand
03813b3751
3d: Fix double-clear in oce loadmodel
2018-10-09 05:37:48 -07:00
Seth Hillbrand
e95d06e811
OCC: Fix issues for OpenCascade 7.3
...
OpenCascade 7.3 deprecates some TK libraries that were not required by
KiCad, therefore we should not include them in the compile.
Also correct missing compiles for STEP import/export induced by 584409b2e
when using OCCT. There is no effect on OCE to this change.
2018-06-12 10:03:13 -07:00
Seth Hillbrand
584409b2ef
Make OpenCascade more secondary
...
The opencascade patch intrusively checked against libraries but broke
some build scripts. This restores the default cmake OCE behavior that was
changed by 2bab30d9a
and makes the OpenCascade search truly secondary.
2018-05-15 06:40:25 -07:00
Seth Hillbrand
2bab30d9ac
Allow Kicad to use OpenCascade
...
Adds the option of using OpenCascade not just the community edition.
Fixes: lp:1628950
* https://bugs.launchpad.net/kicad/+bug/1628950
2018-05-11 17:04:32 -07:00
Seth Hillbrand
6fb47faebd
Workaround for IGES import bug in OCE-0.18
...
This changes the IGES import parameter precision to be file-defined
instead of hard-coded in KiCad. OCE-0.18 does not handle faces with
a set of points whose approximation creates a single point.
By allowing the file to set the precision level, we leave it to the
generating program to create a file with non-degenerate faces.
Fixes: lp:1738872
* https://bugs.launchpad.net/kicad/+bug/1738872
2018-04-04 13:03:34 -07:00
Seth Hillbrand
c69db6cf8f
Adding rounded rect and custom pad shapes to VRML export
...
Fixes: lp:1753552
* https://bugs.launchpad.net/kicad/+bug/1753552
2018-03-06 16:40:08 -08:00
Jean Philippe EIMER
e0f7958dbd
Compatibility fixes for GLM 0.9.9
...
Fixes: lp:1746546
* https://bugs.launchpad.net/kicad/+bug/1746546
2018-02-06 13:30:13 +01:00
Camille
3168d03fe5
Fix unnecessary copy initialization detected by clang-tidy
2018-01-09 18:22:10 -05:00
Marvin Schmidt
69974b73db
Remove some extra semicolons
2017-11-09 19:52:18 +01:00
Cirilo Bernardo
5013ea2e8e
Added comments on skipped patterns in VRML2 parser
2017-04-25 20:24:44 -04:00
Cirilo Bernardo
68bcdec87e
Workaround for non-ASCII filenames in Windows
2017-03-03 14:30:47 -05: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
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
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
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
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
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