Commit Graph

86 Commits

Author SHA1 Message Date
Thomas Krijnen 5d1dee4480 Apply transformation to swept surfaces in occt advanced brep impl #5484 2024-09-30 12:29:14 +02:00
Andrej730 9f02737a2e Fix segfault trying to create IfcSweptDiskSolid with invalid curve #5474
In my case it was IfcIndexedPolyCurve with just 1 vertex. Though kernel->convert does return a boolean value to indicate if conversion was successful, we never used it - so it failed silently leading to segfault later on.
Now we also stop processing those polycurves during mapping stage but checking kernel->convert result still might be useful in some other cases.
2024-09-27 17:00:33 +05:00
Andrej730 7d8ef3ffd0 Fix invalid IfcRevolvedAreaSolid representations with angle <360 deg
It was always assuming angle is 360 deg
2024-09-26 18:40:52 +05:00
Andrej730 dd9de98290 Store edges representation item ids in Triangulation 2024-09-25 19:09:14 +05:00
Andrej730 aad66f94a3 rename addEdge overload to registerEdgeCount
So it won't be confused with addEdge that actually does add an edge to edges_.
2024-09-25 19:09:14 +05:00
Thomas Krijnen 4c048e4695 Update face.cpp - snail artefact on 7.8 as well #4924 2024-09-23 09:12:10 +02:00
Thomas Krijnen 2554280e50 triangulation-type setting for non-triangulated polyhedral from iterator 2024-09-18 19:28:07 +02:00
Thomas Krijnen 2545769f67 Add support for IfcSectionedSurface 2024-09-12 11:20:48 +02:00
Thomas Krijnen 680c73f15b Less noisy faceset helper messages 2024-09-09 09:58:02 +02:00
Thomas Krijnen 89e3650d77 No need to check for manifoldness when processing boolean ops in 2d 2024-09-09 09:57:43 +02:00
Thomas Krijnen b786e129bd Fix faceset helper stats 2024-09-01 15:12:43 +02:00
Thomas Krijnen d80bcd1a94 Unify variant storage (#5118) 2024-08-23 20:29:07 +02:00
Thomas Krijnen db5167bbaf Prevent infinite recursion 2024-08-01 07:59:23 +02:00
Thomas Krijnen 7d6e26bfd5 Add revolve as top-level item in occt kernel 2024-08-01 07:48:42 +02:00
Thomas Krijnen 2fd339ac6b Hack/workaround for #5064 2024-08-01 07:48:28 +02:00
Thomas Krijnen c0f2ac592e Consider edge orientation in faceset helper for advanced planar breps #4895 2024-07-22 13:07:40 +02:00
Thomas Krijnen 70336f179d Keep identities on indexed face sets #5020 2024-07-17 03:12:35 +02:00
Thomas Krijnen dda4dd3ab5 occt 7.6 compatibility 2024-07-04 09:08:30 +02:00
Thomas Krijnen 10c3893b79 Missing file 2024-07-03 15:07:28 +02:00
Thomas Krijnen e2198c3ba7 Advanced brep: closed underlying nurbs curve handling #4895 2024-07-03 15:03:49 +02:00
Thomas Krijnen 71ef1bf056 Advanced brep, sweeps and various fixes #4848 #4895 2024-07-03 14:42:51 +02:00
Thomas Krijnen d4efcd40f9 Advanced brep, sweeps and various fixes #4848 #4895 2024-07-03 14:36:35 +02:00
Thomas Krijnen 19b89a3b1f Workarounds for unstyled elements in tree and wrapper #4924 2024-07-02 11:44:00 +02:00
Thomas Krijnen 675e1982ee Move macro logic into template function; mark failures as intended #4915 2024-07-01 20:34:51 +02:00
Thomas Krijnen c7232a780a Remove debug print 2024-06-28 16:21:33 +02:00
Thomas Krijnen e96b4c11a2 Implement edge as top-level representation item #4924 2024-06-28 16:19:43 +02:00
Thomas Krijnen 42b96d6290 Further work on trying to get orientation properly mapped 2024-06-28 13:41:01 +02:00
Dion Moult 2d5be6cf89 Search replace 0.7.0 with 0.8.0 2024-06-27 11:49:12 +10:00
Thomas Krijnen 8da68f599b Move print() to header, distinguish properly between curve_sense and edge orientation, unwrap trimmed curves as edge bases, don't mutated cached edge in oriented edge processing, etc. #4895 2024-06-24 21:56:27 +02:00
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