Commit Graph

1550 Commits

Author SHA1 Message Date
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
Thomas Krijnen 0016256f57 Merge branch 'master' into v0.6.0 2018-11-19 17:13:28 +01:00
Thomas Krijnen 334d867873 Fix #498 2018-11-19 14:56:21 +01:00
Thomas Krijnen e463dca0df Absolute value for dot product in projected areas 2018-11-02 16:37:54 +01:00
Thomas Krijnen 3ff619c7ed Quantities in convert and geomserver. Faceset helper for creating edge pairs. 2018-11-02 16:10:06 +01:00
Thomas Krijnen ad41f04f11 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomRenderStyles.cpp
#	src/ifcparse/IfcParse.cpp
2018-10-30 14:32:28 +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
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
Thomas Krijnen cb535b4ba8 Merge branch 'master' into v0.6.0 2018-09-25 12:47:31 +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 bf3ec5e507 Add comment 2018-09-24 12:56:07 +02:00
Thomas Krijnen 5526f421f0 Merge branch 'master' into v0.6.0 2018-09-21 14:55:20 +02:00
Thomas Krijnen 92f4d76c81 Check for empty list of boolean operands 2018-09-21 14:53:39 +02:00
Thomas Krijnen 59be8f742d Merge branch 'master' into v0.6.0 2018-09-21 12:06:32 +02:00
Thomas Krijnen d2337dc692 Missing FindFromKey() overload on older versions of occt 2018-09-21 12:06:10 +02:00
Thomas Krijnen 2b501a93c9 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcgeom/IfcGeomFunctions.cpp
#	src/ifcgeom/IfcGeomWires.cpp
2018-09-21 12:02:22 +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 47ec4e2240 Merge branch 'master' into v0.6.0 2018-09-19 20:27:03 +02:00
Thomas Krijnen 622853d73d Filter boolean subtraction operands by intial bounding box test 2018-09-19 16:42:34 +02:00
Thomas Krijnen e8b28a099f Some fixes for clang 2018-09-19 14:05:19 +02:00
Thomas Krijnen 9a3039765f Merge remote-tracking branch 'origin/master' into v0.6.0 2018-09-19 10:09:48 +02:00
Unknown bef9bd25f7 Fix dll export on Windows
Fix dll export on Windows
2018-09-19 10:09:05 +02:00
Thomas Krijnen 028e8fb926 Merge branch 'master' into v0.6.0
# Conflicts:
#	nix/build-all.py
#	src/ifcgeom/IfcGeomFunctions.cpp
#	src/ifcparse/IfcLogger.cpp
2018-09-17 17:46:13 +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 2eaae2bda8 Use BVH tree for wire intersections 2018-09-12 13:26:11 +02:00
Thomas Krijnen 472c3478e0 Emit error messages on missing units 2018-09-08 08:27:45 +02:00
Thomas Krijnen 54d96fe167 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeom.h
2018-09-07 14:42:15 +02:00
Thomas Krijnen 229a708fc3 Emit error messages on missing units 2018-09-07 14:25:46 +02:00