Commit Graph

188 Commits

Author SHA1 Message Date
Laurent Rineau de34b83d26 cleanup 2024-03-22 10:53:18 +01:00
Laurent Rineau 3d14707b0c reimplement does_first_triangle_intersect_second_triangle_interior
Now use a modified code of the original predicate `do_intersect(Tri_3, Tri_3)`.
2024-03-22 10:52:17 +01:00
Laurent Rineau 379bb331cf optimizations about vtuning 2024-03-18 17:22:37 +01:00
Laurent Rineau a7f97ca017 fix a debug message 2024-03-06 14:21:39 +01:00
Laurent Rineau 8127850dca fix for 90224.stl
-> a face restricted to one point (its 2D triangulation is dimension 0)
2024-03-04 10:11:25 +01:00
Laurent Rineau d968bc3f4a fix for data/113344-min3.off
There was a hole in the cavity: the set of intersecting cells was not simply connected.
There was a sliver, in the interior of the cavity, that was not intersecting the region.
2024-03-01 16:24:35 +01:00
Laurent Rineau 2fbad9aa4e fix for error_mesh-p_not_equal_0-min2 2024-02-27 16:52:51 +01:00
Laurent Rineau 283c1a2116 More debug message in cdt.is_valid(true) 2024-02-27 16:39:56 +01:00
Laurent Rineau 7393922e2e minor debug modifications 2024-02-22 17:01:24 +01:00
Laurent Rineau 6c6d0ed8ff fix for data/106884-min1.off 2024-02-22 15:01:18 +01:00
Laurent Rineau 2468ca956e add --debug-validity 2024-02-15 13:05:23 +01:00
Laurent Rineau 4957209967 better debugging with --debug--regions 2024-02-15 11:57:36 +01:00
Laurent Rineau fca87120b1 remove debugging lines 2024-02-15 11:46:34 +01:00
Laurent Rineau 0fc61e6b3f fix the assertions
That makes `1435440-min2.off` pass.
2024-02-15 11:45:55 +01:00
Laurent Rineau 2da7b21865 stupid bug 2024-02-15 11:45:08 +01:00
Laurent Rineau 228bad53d8 use a border edge of the region to orient the cavity (above/below) 2024-02-14 12:04:14 +01:00
Laurent Rineau 9979b88f1a small bug fix 2024-02-13 22:50:10 +01:00
Laurent Rineau 411fe9deab add option --use-new-cavity-algorithm
That option allows to use, or not, the previous implementation of the cavity construction, to compare.
2024-02-13 22:45:07 +01:00
Laurent Rineau 81d7fce5bc new markers for vertices 2024-02-13 14:06:16 +01:00
Laurent Rineau 7903e5d41f new debug flag 2024-02-13 13:40:15 +01:00
Laurent Rineau 30149d3a4f wip 2024-02-11 22:56:51 +01:00
Laurent Rineau f428cad11c rename from set_Steiner_vertex_on_face to set_Steiner_vertex_in_face 2024-02-09 15:20:17 +01:00
Laurent Rineau b51f3af912 WIP: cells markers 2024-02-09 15:11:19 +01:00
Laurent Rineau ba66191b30 better handling of polygon vertices markers 2024-02-09 14:52:05 +01:00
Laurent Rineau 69abbc0c6f Add debug_regions(bool) 2024-02-03 17:29:39 +01:00
Laurent Rineau a75f4cdaa5 fix for Thingi 243014.stl 2024-01-31 16:50:43 +01:00
Laurent Rineau 27de164679 fix my previous commit about Thingi 243014 2024-01-31 12:25:03 +01:00
Laurent Rineau eaa5c98289 better debugging message 2024-01-31 11:31:32 +01:00
Laurent Rineau d46d51d08e partial fix for Thingi 243014 2024-01-30 22:54:33 +01:00
Laurent Rineau e8f6b60350 Add debug_missing_region() at runtime 2024-01-30 14:51:38 +01:00
Laurent Rineau d6ac147b4d cosmetic renaming of a parameter (during code review with Jane)
plus use of `tr.vertices(Edge)` instead of home-made function.
2024-01-30 14:50:32 +01:00
Laurent Rineau 3cfa54ce1a proper class encapsulation for CDT_vb_3 2024-01-30 14:50:24 +01:00
Laurent Rineau bbc45c01fa rename to polygon_border_vertices 2024-01-29 09:34:31 +01:00
Laurent Rineau a5cf779795 debug debugging of missing faces from cavities 2024-01-26 16:36:31 +01:00
Laurent Rineau 37c5f131ac add an cmdline option to debug Steiner points
That replaces debug macros.
2024-01-26 16:35:52 +01:00
Laurent Rineau f753446633 oformat(x, tag) passed the tag value to the Output_rep
That allows to pass an integral offset to the displayed time stamps.

The goal is to set it to -1, to display vertices IDs that are identical to the input vertices indices of `the Surface_mesh`.
2024-01-15 09:45:25 +01:00
Laurent Rineau c6ac1e890d Add timestamps to base classes 2024-01-14 20:40:30 +01:00
Laurent Rineau f422541cb8 faster visitor implementation during the conforming 2024-01-09 17:26:20 +01:00
Laurent Rineau de6c5f2895 change the loop pattern when there are PLC errors
That gave a direct improvement for the four PLC error case from Thingi:

```
            name status       time     error new status   new time new error
Thingi10K_104400 FAILED   1.710520 PLC_error     FAILED   1.243950 PLC_error
Thingi10K_162100 FAILED   1.970900 PLC_error     passed   1.018690
Thingi10K_285604 FAILED  13.096400 PLC_error     FAILED   4.543940 PLC_error
Thingi10K_464846 FAILED 321.774000 PLC_error     FAILED  16.658500 PLC_error
```

One case `Thingi10K_162100` passed. And the other three got runtime
improvement before they reach the error.
2024-01-05 16:59:55 +01:00
Laurent Rineau c25f443368 fix a regression in speed 2024-01-04 18:17:31 +01:00
Laurent Rineau 7d9e84e685 dump region in case of a fatal PLC error 2024-01-04 14:49:31 +01:00
Laurent Rineau 87f6a352d1 factorize a lambda function 2024-01-04 14:47:45 +01:00
Laurent Rineau 62e3e8dc12 port back to C++17
The lack of `std::set::contains` is a real pain! Using `count()`
instead reduces the readability of the code.
2023-12-13 16:56:03 +01:00
Laurent Rineau 0b9133fba3 reduce timings in cases of PLC errors 2023-12-13 14:57:27 +01:00
Laurent Rineau 3f42717b5a remove a spurious assertion 2023-12-08 16:05:07 +01:00
Laurent Rineau 934e65cd35 fix the assertion `v->nb_of_incident_constraints < 0` 2023-12-07 11:33:55 +01:00
Laurent Rineau 0c8697168f detect small distances 2023-12-05 13:20:46 +01:00
Laurent Rineau 223454ab57 Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau 2023-11-16 16:01:01 +01:00
Laurent Rineau 5a5a5618f8 [_, inserter] = set.insert... Use .second instead
That addresses a TODO from Jane's review.
2023-11-16 11:40:42 +01:00
Laurent Rineau bbf2e8da31 simplify those lines 2023-11-16 11:38:29 +01:00