Commit Graph

1040 Commits

Author SHA1 Message Date
Stinkfist0 96650ce720 IfcFile::Init: return false if unexpected schema encountered. 2018-10-15 14:02:17 +02:00
Jean Niklas L'orange 1849c43d19 Make API more consistent 2018-10-15 11:25:17 +02:00
Jean Niklas L'orange 048db115bd Catch and inform about errors
The changes in how specular roughness and transparency is read in was
done to ensure type safety. If you added

    "transparency": "0.8"

to the file, then that would be silently ignored. In the new style, it
instead errors out if the type cannot be converted to a double.
2018-10-15 11:25:17 +02:00
Jean Niklas L'orange afc7d82ca2 Support setting default "fallback" material style
Specifying a fallback default material style is added by specifying a
style for "*" in the --default-material-file.
2018-10-15 11:25:17 +02:00
Jean Niklas L'orange 216089adcc Fix bug where default material was not initialised
We kind-of sort-of do double work here, but I think it is better to
always assume that InitDefaultMaterials when setting the defaults, to
avoid too many code paths.
2018-10-15 11:25:17 +02:00
Jean Niklas L'orange c28efa788b Implement support for custom default materials
The support for custom default materials is implemented as a JSON
file passed via the command line. The default material specification
will override the defaults, except the toplevel default value.
2018-10-15 11:25:17 +02:00
Stinkfist0 966fac7164 Use /permissive- introduced in VS 2017 to enforce standards-conformance.
https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=vs-2017
2018-10-01 10:30:04 +02:00
paul 86eeb33a4f Changing opencollada version to "v1.6.63"
Discussion:
https://github.com/IfcOpenShell/IfcOpenShell/issues/480

Summary:
"... Compiling OpenCOLLADA  fail on fedora 27... changing  opencollada version to "v1.6.63" (since some time now they do proper tagging over there, the commit we track now is from 19 Dec 2013, probably worth updating as newer compilers might rightfully complain)...

Probably best to rm -rf ... IfcOpenShell/build/Linux/x86_64/build/OpenCOLLADA before restarting."
2018-10-01 10:29:01 +02:00
Thomas Krijnen e12b413d7f Check for empty bounding boxes in boolean op filter 2018-09-25 12:47:06 +02:00
Thomas Krijnen 00095028b9 No need to cast to TopoDS_Face anymore 2018-09-25 12:46:20 +02:00
Thomas Krijnen cd17419ca5 Check for empty list of boolean operands 2018-09-21 14:53:39 +02:00
Thomas Krijnen 22a117b87d Missing FindFromKey() overload on older versions of occt 2018-09-21 12:06:10 +02:00
Thomas Krijnen 7307d80001 That was bad 2018-09-21 11:45:36 +02:00
Thomas Krijnen e3569ea955 Better handling of consecutive circular arc segments 2018-09-21 11:43:06 +02:00
Thomas Krijnen 80db00b882 Work around private copy constructor on older versions of occt 2018-09-21 11:21:51 +02:00
Thomas Krijnen 33757f4d16 Fail on empty face early 2018-09-21 10:22:37 +02:00
Thomas Krijnen 37683963cc Limit tolerance on wire self-intersection to edge segment length 2018-09-21 10:22:24 +02:00
Thomas Krijnen 581444a675 Filter boolean subtraction operands by intial bounding box test 2018-09-19 16:42:34 +02:00
Unknown d44795341b Fix dll export on Windows
Fix dll export on Windows
2018-09-19 10:09:05 +02:00
Thomas Krijnen b461a66526 Enable exception handling on occt release builds Fix #462 2018-09-18 13:39:44 +02:00
Thomas Krijnen 3bf8aba54f Don't fail on empty bounding box during halfspace processing 2018-09-17 15:21:12 +02:00
Thomas Krijnen be9ffa7322 Fail early on duplicate (non consecutive) points in face loops 2018-09-17 14:59:15 +02:00
Thomas Krijnen 36739b4c78 Fixes for degenerate polylines 2018-09-17 14:42:22 +02:00
Thomas Krijnen 8fe2d7e633 Emit unopened shapes in case of exceptions during subtraction 2018-09-17 14:11:03 +02:00
Thomas Krijnen 2e81efd6be More careful face orientation check 2018-09-17 12:05:30 +02:00
Thomas Krijnen 44fab7db16 Perform additional check on boolean result output for small edges or distances 2018-09-17 12:02:41 +02:00
Thomas Krijnen 7b17131423 Retry boolean operations if output is non-manifold on manifold input 2018-09-17 12:00:49 +02:00
Thomas Krijnen e2281143c0 Fix flaw in vertex-edge distance used to limit tolerance in boolean ops 2018-09-17 11:33:40 +02:00
Thomas Krijnen d22f3c291b Don't sew overly complex geometries even as part of boolean operations #455 2018-09-12 16:44:30 +02:00
Thomas Krijnen 662d6592a3 Only install/strip on Release build 2018-09-12 13:57:41 +02:00
Thomas Krijnen 507b49a125 Use BVH tree for wire intersections 2018-09-12 13:26:11 +02:00
Thomas Krijnen 09c5759a9f Emit error messages on missing units 2018-09-07 14:25:46 +02:00
luz.paz 7e7da9cb1a Misc. typos
Found via `codespell -q 3`
2018-09-07 11:52:01 +02:00
Thomas Krijnen 98c7cd03dd Add missing patch files. Fix #448 2018-09-02 10:51:16 +02:00
Thomas Krijnen cbbd368115 Test files in submodule 2018-08-26 17:09:01 +02:00
Thomas Krijnen 79bad3b95c Move test files to separate repo 2018-08-26 12:30:18 +02:00
Stinkfist0 aee4fe89ae IfcGeomIterator: compute model's bounding box only if needed (IfcConvert --center-model used). 2018-08-26 12:17:24 +02:00
johanrd 1c1fc9cd70 Create 443--segfault-beam.ifc 2018-08-26 12:12:48 +02:00
Thomas Krijnen 14aeafe3ed Work on #426 2018-08-20 11:46:26 +02:00
Thomas Krijnen dfaabbce62 occt 7.3 2018-08-19 10:29:01 +02:00
Thomas Krijnen 9c25f45ca2 Fix #343 2018-08-15 17:10:29 +02:00
Michael Sundqvist 063843b7f5 Catch some ifc file header exceptions to prevent crashing during xml serialization 2018-08-15 16:15:25 +02:00
Stinkfist0 abdc546663 ColladaSerializer::differentiateSlabTypes: IfcSlab.PredefinedType is optional so check for its existence.
https://github.com/Tridify/IfcOpenShell/commit/c4f426392cfc021b8a9c617f21d258759b289d6a#diff-cca49440331fb4c1363204028192c459
2018-08-15 16:09:15 +02:00
Stinkfist0 e0cde05e26 Unify GeometrySerializers' object ID logic. Fixes #397. 2018-08-15 16:09:15 +02:00
Robbe Derks 37f17b019b Added command-line option to output progress to stderr stream 2018-08-15 14:45:43 +02:00
Thomas Krijnen 5cc5174ad5 Break out of loop in case of attribute count mismatch 2018-08-10 14:57:33 +02:00
Felipe Mesquita 8a2c341027 Workaround wrong argument count. Fix #419 2018-08-10 14:55:47 +02:00
Thomas Krijnen 58d70f5a8e Fix build on gcc 2018-07-12 12:33:35 +02:00
Thomas Krijnen e65764b58d Fix for inverse update on delete 2018-07-12 11:37:23 +02:00
Thomas Krijnen b94fd33acf Additional potential occt lib location 2018-07-08 15:07:30 +02:00