Thomas Krijnen
92f4d76c81
Check for empty list of boolean operands
2018-09-21 14:53:39 +02:00
Thomas Krijnen
6b8681b74a
That was bad
2018-09-21 11:45:36 +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
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
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
394a7f14ad
Emit unopened shapes in case of exceptions during subtraction
2018-09-17 14:11:03 +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
229a708fc3
Emit error messages on missing units
2018-09-07 14:25:46 +02:00
luz.paz
d78c9171db
Misc. typos
...
Found via `codespell -q 3`
2018-09-07 11:52:01 +02:00
Thomas Krijnen
b13c912c47
Work on #426
2018-08-20 11:46:26 +02:00
Thomas Krijnen
4cfb2f1027
SetNonDestructive does not exist prior to OCCT 7.0
2018-06-15 12:39:29 +02:00
Thomas Krijnen
136ec5b224
'nondestructive' boolean ops
2018-06-12 16:15:12 +02:00
Thomas Krijnen
3ac8379187
Set precision on fix after boolean op
2018-06-08 14:12:01 +02:00
Yorik van Havre
127bcaf96e
adding exception for OCCT 7.3
2018-05-16 16:10:40 +02:00
Yorik van Havre
2d59f9d53a
Removed one last remaining BOPCol_ListOfShapes
...
Replaced one last remaining BOPCol_ListOfShapes with TopTools_ListOfShapes (deprecated in OCC7.3)
2018-05-16 16:10:40 +02:00
Thomas Krijnen
637d3e2eb6
Optimize generation of faces with large (n > 128) number of edges.
2018-05-14 11:06:07 +02:00
Thomas Krijnen
ef7a1ab421
Limit boolean fuzz to edge length
2018-05-13 09:15:06 +02:00
Thomas Krijnen
8ffc12e6cd
Reduce radius on wire intersections
2018-05-08 09:41:19 +02:00
Thomas Krijnen
161f24d804
Copy operands prior to boolean operation
2018-05-05 16:09:12 +02:00
Thomas Krijnen
656346741e
#288 #297
2018-04-18 11:33:57 +02:00
Thomas Krijnen
42c09deb8c
#354 loose faces in SewedShape
2018-04-11 12:26:01 +02:00
Thomas Krijnen
c0a2e3395f
Triangulate non-planar wires when invoked with --sew-shells
2017-11-27 16:27:36 +01:00
Thomas Krijnen
6463690a8b
Fix typo
2017-11-13 13:01:59 +01:00
Thomas Krijnen
148432c011
Fixes for boolean ops on recent OCCT versions
2017-11-13 12:41:37 +01:00
Thomas Krijnen
b7ce547a0c
Fill holes in composite curves, fixes #282
2017-11-08 13:27:45 +01:00
Thomas Krijnen
25d68d320d
Remove auto keyword
2017-10-06 16:01:18 +02:00
Thomas Krijnen
6c4fee1028
Color elements by material association. Reimplement reuse detection. Fix #265
2017-10-06 15:36:51 +02:00
Thomas Krijnen
ebfe8f9c54
Take into account Position is optional in IFC4 when processing layersets on slabs
2017-08-09 17:01:10 +02:00
Thomas Krijnen
132e5d5f6e
Disable log_notice message on exceeding tolerance values
2017-08-09 17:00:41 +02:00
Thomas Krijnen
aa0a6aa5d1
Fix #178
2017-08-01 16:45:11 +02:00
Thomas Krijnen
6f7afd4b2a
Build comprehensive representation id. Fix #225
2017-06-28 15:24:49 +02:00
Thomas Krijnen
9a43658716
Correct verbosity check
2017-06-05 13:08:07 +02:00
Thomas Krijnen
d713b7e06a
Limit retries for boolean op on OCCT 6.9 and higher
2017-05-03 12:07:10 +02:00
Thomas Krijnen
f71ee35f57
More 'tolerant' to tolerances higher than the modeling precision
2017-04-03 14:55:34 +02:00
Stinkfist0
195d68cd0a
Generalize IfcGeom::Iterator filtering and move make the filter specification external to the Iterator.
2017-03-04 13:54:19 +01:00
Stinkfist0
63b0488909
Implement filtering created geometry by layer assignments.
2017-03-04 13:54:19 +01:00
Thomas Krijnen
8ce4bbdf61
Adaptive tolerance boolean ops
2017-02-16 15:54:34 +01:00
Thomas Krijnen
f95ad29c7a
Extra check for single-face IfcConnectedFaceSets. Fixes #181 .
2017-01-19 10:42:03 +01:00
Thomas Krijnen
c08aa3216d
Fix #163 Disallow narrow IfcPolygonalBoundedHalfSpace
2016-12-10 14:11:01 +01:00
Thomas Krijnen
4354361a13
More elaborate wire ordering check and shell sewing code ( #147 )
2016-12-09 16:40:14 +01:00
Ali Kämäräinen
a171b2b9b0
Couple warning fixes ( #139 )
...
* Use -Wno-tautological-constant-out-of-range-compare for Clang (these warnings come from the sanity checks in generated IfcXXX files).
* Remove unused variable and typedefs + suppress uint->bool conversion warnings (MSVC) + add note about Clang in README
* MSVC uint->bool convesion warning fixes when IFC4 is defined
2016-10-09 12:39:47 +02:00
Thomas Krijnen
8efd9757b7
Check for null shapes among layer set slicing results
2016-09-01 15:13:48 +02:00
Ali Kämäräinen
64dc2ea95c
Windows/MSVC + OCCT 7.0.0 ( #124 )
...
* Windows/MSVC build scripts: option to build and use official Open CASCADE instead of the community edition.
* Fix C4800 warnings ("'Standard_Boolean': forcing value to bool 'true' or 'false' (performance warning)") + unnecessary integer cast.
* build-deps.cmd: fix OCCT download
* Fix MSVC linking against OCCT 7.0.0. Example executables fail still, needs research.
* occt-V7_0_0-9059ca1_CMakeLists.txt: add_definitions(-DHAVE_NO_DLL) in order to fix static linking to OCCT. Mark IfcOpenShell patches in the OCCT patch files for clarity.
* Patch OCCT in order to fix compliaction when HAVE_NO_DLL is defind. Clean up IfcOpenSHell's linker warnings by defining HAVE_NO_DLL.
* CMakeLists.txt: remove linking to the newly added OCCT libs, these are not needed when HAVE_NO_DLL is defined.
* cmake/CMakeLists.txt: make add_debug_variants() function to handle filenames/paths also. Apply the coding conventions while at it. Fixes #123 .
* Patch OCCT's OpenGl_PrimitiveArray.cxx and XCAFDoc_GeomTolerance.cxx in order to fix Debug build. Do not trigger OCCT rebuild each time build-deps.cmd is ran.
* build-deps.cmd: fix OCCT file patch copy.
* Non-MSVC compiler: use -Wextra, suppress/fix -Wignored-qualifiers warnings.
* build-deps.cmd: do not check return values of copy commands as they seem not to be fully reliable.
2016-09-01 11:28:17 +02:00
Thomas Krijnen
f1099fc3b1
Merge branch 'master' into tridify_ifcgeom_dll
...
# Conflicts:
# cmake/CMakeLists.txt
2016-08-08 10:56:06 +02:00