Commit Graph

1059 Commits

Author SHA1 Message Date
Michael Sundqvist 6f3eb84f66 Fix instance_material missing material names as well. 2018-12-09 12:23:44 +01:00
Michael Sundqvist e7a8a97639 If material name is empty when writing collada file, name it as a missing material. Logger::Notice() objects that do not have a material assigned. 2018-12-09 12:23:44 +01:00
Otso Alho fe1cb9e92b default to blank material with IfcMaterial name 2018-12-09 12:23:44 +01:00
Thomas Krijnen f849434f24 More defensive IfcCurveBoundedPlane processing 2018-12-09 11:59:49 +01:00
Thomas Krijnen 8c0c216a1d Check boolean result manifoldness for shells individually. Fixes #516. 2018-12-08 10:37:54 +01:00
Thomas Krijnen 747ddeb20c Apply openings in batches sorted by increasing detail 2018-11-23 11:45:23 +01:00
Thomas Krijnen 4afd104f3d fit_halfspace() correct padding 2018-11-21 11:28:22 +01:00
Thomas Krijnen 4ed9166e8a Check for null pointers returned by find_representation() 2018-11-20 12:10:44 +01:00
Bernd Hahnebach 64eb5b4d1d namespace fix for debian buster, fixes issue #506 2018-11-20 11:59:08 +01:00
Thomas Krijnen 116de5daec Test powershell v5 or higher 2018-11-20 11:53:11 +01:00
Thomas Krijnen 0018224da7 Handle python positional arguments in case of derived fields more explicitly 2018-11-19 16:38:52 +01:00
Thomas Krijnen 334d867873 Fix #498 2018-11-19 14:56:21 +01:00
Thomas Krijnen 50e5d5f4d5 Sort instances before emitting to file 2018-11-13 14:46:15 +01:00
Thomas Krijnen e64d8750e1 Use all representations if no representations found through context check 2018-10-30 12:15:35 +01:00
Thomas Krijnen 342cce89d7 #487 perform fix after sewing if not valid 2018-10-30 09:05:18 +01:00
Stinkfist0 ffa282af9d IfcGeomIterator: check the filtered products, not unfiltered ones, for reusability. Speeds up things significantly and also fixes geometry reusability in many cases. 2018-10-15 15:22:44 +02:00
Stinkfist0 fbc0215ef1 IfcGeomIterator: optimize filtering by performing it prior to geometry reuse inspections.
Improves the iteration speed immensely, especially on very large files when only a fraction of the content is wanted to be converted.
2018-10-15 15:22:44 +02:00
Stinkfist0 58759cf365 IfcConvert: prevent memory leaks and clean up code by utilizing shared_ptr. 2018-10-15 14:02:17 +02:00
Stinkfist0 2024a24e31 IfcConvert: proper "exit routine" if initialization of input fails when trying to create geometry files. 2018-10-15 14:02:17 +02:00
Stinkfist0 c420cc1abb IfcFile::Init: return false if unexpected schema encountered. 2018-10-15 14:02:17 +02:00
Jean Niklas L'orange e39835d25e Make API more consistent 2018-10-15 11:25:17 +02:00
Jean Niklas L'orange 9c1660a84b 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 7e9e56cd2c 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 a6d3619449 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 dab3382b29 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 882d27fe25 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 81a9d0e747 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 3102a1c179 Check for empty bounding boxes in boolean op filter 2018-09-25 12:47:06 +02:00
Thomas Krijnen a8effa8289 No need to cast to TopoDS_Face anymore 2018-09-25 12:46:20 +02:00
Thomas Krijnen 92f4d76c81 Check for empty list of boolean operands 2018-09-21 14:53:39 +02:00
Thomas Krijnen d2337dc692 Missing FindFromKey() overload on older versions of occt 2018-09-21 12:06:10 +02:00
Thomas Krijnen 6b8681b74a That was bad 2018-09-21 11:45:36 +02:00
Thomas Krijnen 297812d4e2 Better handling of consecutive circular arc segments 2018-09-21 11:43:06 +02:00
Thomas Krijnen 7205f0165e Work around private copy constructor on older versions of occt 2018-09-21 11:21:51 +02:00
Thomas Krijnen bf4b5928dd Fail on empty face early 2018-09-21 10:22:37 +02:00
Thomas Krijnen 3840bd1154 Limit tolerance on wire self-intersection to edge segment length 2018-09-21 10:22:24 +02:00
Thomas Krijnen 622853d73d Filter boolean subtraction operands by intial bounding box test 2018-09-19 16:42:34 +02:00
Unknown bef9bd25f7 Fix dll export on Windows
Fix dll export on Windows
2018-09-19 10:09:05 +02:00
Thomas Krijnen 34b3ca307f Enable exception handling on occt release builds Fix #462 2018-09-18 13:39:44 +02:00
Thomas Krijnen 08557c2664 Don't fail on empty bounding box during halfspace processing 2018-09-17 15:21:12 +02:00
Thomas Krijnen a54b7863cd Fail early on duplicate (non consecutive) points in face loops 2018-09-17 14:59:15 +02:00
Thomas Krijnen 3101ccb83a Fixes for degenerate polylines 2018-09-17 14:42:22 +02:00
Thomas Krijnen 394a7f14ad Emit unopened shapes in case of exceptions during subtraction 2018-09-17 14:11:03 +02:00
Thomas Krijnen 983745b508 More careful face orientation check 2018-09-17 12:05:30 +02:00
Thomas Krijnen b05b62f440 Perform additional check on boolean result output for small edges or distances 2018-09-17 12:02:41 +02:00
Thomas Krijnen 51a9bb0ac1 Retry boolean operations if output is non-manifold on manifold input 2018-09-17 12:00:49 +02:00
Thomas Krijnen 452ab6e5bc Fix flaw in vertex-edge distance used to limit tolerance in boolean ops 2018-09-17 11:33:40 +02:00
Thomas Krijnen 0df2bfadef Don't sew overly complex geometries even as part of boolean operations #455 2018-09-12 16:44:30 +02:00
Thomas Krijnen 12623dd1e5 Only install/strip on Release build 2018-09-12 13:57:41 +02:00
Thomas Krijnen 2eaae2bda8 Use BVH tree for wire intersections 2018-09-12 13:26:11 +02:00