Commit Graph

248 Commits

Author SHA1 Message Date
Thomas Krijnen 88c8bcf119 Pin OCCT serialization version to v2 #4393 2024-06-19 14:44:52 +02:00
Thomas Krijnen a3d4642ea9 Fix boolean results on non-solid shells #4832 2024-06-18 21:30:00 +02:00
Thomas Krijnen f5979be4d5 Keep old behaviour of subtractions, when failed use first operand #4832 2024-06-18 13:09:32 +02:00
Thomas Krijnen 9c22e6ecc8 Support evaluation of faces directly, add identity matrix on unplaced circle profile curves #4832 2024-06-18 12:32:00 +02:00
Thomas Krijnen ecef745c3b OCCT doesn't like null shapes even on symmetric bools 2024-06-12 11:47:27 +02:00
Thomas Krijnen d400a48a9d Remember your own conventions: lines run along positive Z 2024-06-11 14:14:47 +02:00
Thomas Krijnen 07827940cc Some defensiveness against null shapes (should look into this better) 2024-06-11 11:20:55 +02:00
Dion Moult c4dfbdbe2e Merge branch 'v0.7.0' into v0.8.0 2024-06-07 23:48:39 +10:00
Thomas Krijnen 6fdf46f151 Add back support for IfcSphere 2024-04-29 20:56:37 +02:00
Thomas Krijnen 0edfb0e791 Settings rework for plan/model/context and interfacing with python 2024-04-18 21:04:02 +02:00
Thomas Krijnen 745f7674ff Update clash code to conform to v0.8 2024-04-18 12:02:22 +02:00
Thomas Krijnen f6a0d1f073 Fix #4273 ignore degenerate triangles in mesher output 2024-04-18 10:47:23 +02:00
Dion Moult 36ca54f3a2 Don't consider borderline points to be inside a shape for more robust protrusion results 2024-04-18 10:45:31 +02:00
Dion Moult 4f20ebce80 Change precision check of "is point on line" to be 0.01mm
Precision::Confusion() is 1e-7 which is too small apparently when doing this math. There are plenty of results which are things like 5e-7.
2024-04-18 10:45:31 +02:00
Dion Moult 8f19f6ce07 Reinclude missing max_protrusions_ 2024-04-18 10:42:35 +02:00
Thomas Krijnen ea17cd9b42 Fix is_manifold(), sorry :( 2024-04-18 10:42:35 +02:00
Thomas Krijnen 75732d1d5d Integrate @Moult's add_element(TriangulationElement*) 2024-04-18 10:42:33 +02:00
Dion Moult 23f91c73af Clash detection features 2024-04-18 10:40:32 +02:00
Thomas Krijnen 75b9e6cec9 setOnlyValid() option that skips and logs invalid topology #4130 2024-04-17 14:57:44 +02:00
Martin15135215 47e4c6c22b add cff for ifcgeom_schema_agnostic 2024-04-16 11:12:02 +02:00
Thomas Krijnen d233f3e488 #3616 Only consider distance orthogonal to projection vector for 2d boolean preprocessing 2024-04-16 10:24:59 +02:00
Thomas Krijnen d9e9013e38 #3429 Fix b operand non-planar face check 2024-04-16 10:24:57 +02:00
Thomas Krijnen 1f4b12443a fix edge segments in world coords #3536 2024-04-16 10:24:43 +02:00
Thomas Krijnen ee09f2404b Filter duplicate edge indices #3546 2024-04-16 10:22:34 +02:00
luzpaz 1819a45e4c Fix various typos in src/ifcgeom* subdirs 2024-04-16 10:05:04 +02:00
Thomas Krijnen 20f279dfa3 IFC4X3 codegen #2805 2024-04-15 13:24:59 +02:00
Thomas Krijnen dc81be8a9a item_id vector #3120 2024-04-15 13:02:45 +02:00
Thomas Krijnen cd8bc823c2 #3305 Less pessimistic tolerance comparison in newells method 2024-04-15 11:44:56 +02:00
Thomas Krijnen 1efe5761c0 #3305 one more iteration on lower fuzziness level for boolean ops 2024-04-15 11:44:56 +02:00
Thomas Krijnen 5714bd1ec4 take into account edge orientation correctly #3201 2024-04-15 11:07:23 +02:00
Thomas Krijnen 236c064849 unreferened param #3255 2024-04-15 11:04:09 +02:00
Thomas Krijnen b33f5e19b7 eliminate_narrow_operands() #3141 2024-04-15 10:55:29 +02:00
Thomas Krijnen 5d4b01e10f apply boolean results in batches as well #3201 2024-04-15 10:34:24 +02:00
Thomas Krijnen 16e6cf86b6 approximate circular sharp corners #3201 2024-04-15 10:28:35 +02:00
Thomas Krijnen f0dbef88c1 Respect ReorientShells setting in shell.cpp 2024-04-05 15:37:10 +02:00
Thomas Krijnen 3babe852de Don't use BRepFill, but rather triangulate. Implement IfcSectionedSolidHorizontal 2024-03-15 17:32:05 +01:00
Thomas Krijnen bf1d2befd8 Address compiler warnings 2024-03-14 11:10:19 +01:00
Thomas Krijnen d06280f0e7 First rough draft of alignment-based IfcFixedReferenceSweptAreaSolid 2024-03-13 13:18:12 +01:00
Thomas Krijnen a60e272eee build_halfspace_tree_is_decomposed() for polies already tagged as convex 2024-02-18 12:06:02 +01:00
Thomas Krijnen 8af6903505 Convex tag on cgal shape 2024-02-18 12:06:02 +01:00
Thomas Krijnen 142b15e332 CgalShape: Triangulate before calculating area/volume 2023-12-28 19:08:08 +00:00
Thomas Krijnen 9fddb564b1 OpaqueCoordinate rule of 3 2023-12-19 12:40:16 +01:00
Thomas Krijnen ca4781f559 Return value 2023-12-18 19:22:29 +00:00
Thomas Krijnen 796c1d6210 Comment out obsolete code 2023-12-15 13:41:51 +01:00
Thomas Krijnen c2492c8655 --circle-segments conversion setting instead of hardcoded number in cgal kernel 2023-12-15 13:41:37 +01:00
Thomas Krijnen 6ed91d3ea4 to_string() option, no shared_ptr in OpaqueCoord, add ConvResShape::vertices(), newell instead of simple cross product, create_epeck(double/str) 2023-12-13 16:43:33 +01:00
Thomas Krijnen 14e924cd8c typename 2023-12-11 21:33:08 +01:00
Thomas Krijnen 9c82b752b6 Fix OBJ writer from Nef 2023-12-11 21:05:58 +01:00
Thomas Krijnen e74f160a48 Use predefined templates 2023-12-11 21:05:39 +01:00
Thomas Krijnen 17bf6691c6 Use custom poly converter 2023-12-11 21:04:54 +01:00