Commit Graph

313 Commits

Author SHA1 Message Date
Thomas Krijnen 5599e52184 Option to retain original edges in cgal for non-boolean non-face-with-voids inputs #6173 2025-02-23 14:46:10 +01:00
Thomas Krijnen cdcbc2ad3b Fix 2d boolean check for periodic curves #6147 2025-02-12 16:08:32 +01:00
Thomas Krijnen fac5104bd8 Take into account edge orientation also for polygonal edges #6113 2025-02-12 10:57:30 +01:00
Thomas Krijnen fa191e44f2 cgal kernel: Move orientation logic #5987 2025-01-23 16:35:51 +01:00
Kipre 039b7ef4ca Fix issue with eliminate_touching_operands 2025-01-23 11:23:34 +01:00
Thomas Krijnen 579628fcb1 Properly handle taxonomy::loft with curved edges coming from ExSolidTapered #5891 2024-12-20 13:49:33 +01:00
Thomas Krijnen eb68264bed Support inner loops in occt sweep_along_curve #5859 2024-12-11 10:54:01 +01:00
Thomas Krijnen a84a5815d6 Don't check for BOPAlgo_AlertAcquiredSelfIntersection at all for now 2024-12-10 21:45:39 +01:00
Thomas Krijnen ab17c8ffd9 Re-enable force_close in profile curve handling 2024-12-10 21:26:58 +01:00
Thomas Krijnen 0708f49973 Re-enable wire self-intersection handling 2024-12-10 21:26:06 +01:00
Thomas Krijnen a728470b76 Allow BOPAlgo_AlertAcquiredSelfIntersection when its our final fuzziness attempt 2024-12-10 21:18:20 +01:00
Thomas Krijnen 064ccf8ab6 Always apply shape healing to faces with inner bounds for wrong orientation 2024-12-10 09:24:29 +01:00
Thomas Krijnen 9160038359 Reuse more existing api in cgal face self-intersection detection #5820 2024-12-07 16:26:59 +01:00
Thomas Krijnen 63e98e69e9 Test whether polygonal boundary is simple #5665 2024-11-01 11:15:09 +01:00
Thomas Krijnen 0446befefa More permissive interval overlap test for 2d opening evaluation #5661 2024-10-31 10:35:30 +01:00
Thomas Krijnen 3d4988349a Remove self-intersecting faces #5650 2024-10-29 15:43:02 +01:00
Thomas Krijnen ecba1c3e7b Fix for UVs in python binding #5592 2024-10-18 10:37:53 +02:00
Thomas Krijnen a04912e174 Assure edges are emitted in some topological order 2024-10-17 14:35:17 +02:00
Thomas Krijnen d01438e7f1 Retain transform when doing unification in kernel 2024-10-09 13:16:58 +02:00
Thomas Krijnen da0d383666 Distinction between general exception / not supported / not implemented #5484 2024-10-09 13:14:49 +02:00
Thomas Krijnen 4c2fc55cfe Bring back some v0.7 logic for sweeps over continuous wires #5473 2024-10-08 15:44:51 +02:00
Thomas Krijnen 36a0a0f2dd Work-around for tiny radii sweeps #5474 2024-10-08 14:53:56 +02:00
krande 742b3ca120 add ifdef for cgal 6 2024-10-08 09:12:04 +02:00
Thomas Krijnen 250fad696e --unify-shapes setting 2024-10-07 20:47:01 +02:00
Thomas Krijnen 07fda60794 Return edges as planar-component boundaries in CGAL #5485 2024-10-04 19:11:02 +02:00
Thomas Krijnen 5d1dee4480 Apply transformation to swept surfaces in occt advanced brep impl #5484 2024-09-30 12:29:14 +02:00
Thomas Krijnen 62f696da51 Don't handle bspline-edges on planar faces in cgal-kernel #5484 2024-09-30 12:28:28 +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 0c70d4c828 Manually detect facet boundary intersections before triangulation #5470 2024-09-24 13:09:30 +02:00
Thomas Krijnen 2557fcf628 Do let cgal handle planar adv brep #4915 2024-09-24 08:54:52 +02:00
Thomas Krijnen 0389f1e984 Make cgal implementation a little bit less confident #5453 2024-09-23 16:03:10 +02: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 fea8e3a5c9 Perform similar face bound lenciency in cgal kernel 2024-08-24 20:03:44 +02:00
Thomas Krijnen 5fdad744d3 Cgal kernel: Fail boolean op altogether when part conversion to Nef fails 2024-08-23 20:42:32 +02:00
Thomas Krijnen ab6f408db4 Unify edge orientation logic among kernels 2024-08-23 20:41:42 +02:00
Thomas Krijnen cdf8b9c038 Cgal kernel: taxonomy::line is intended to run along local Z 2024-08-23 20:41:17 +02:00
Thomas Krijnen 918fb41a7e Unify face bound counting logic among kernels 2024-08-23 20:39:20 +02:00
Thomas Krijnen 1d8e39e55f NB! For now let's use Epick for cgal-simple instead of actually Simple_cartesian 2024-08-23 20:38:38 +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