Commit Graph

175 Commits

Author SHA1 Message Date
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
Laurent Rineau a31fed66f1 construct_cavities: turn into vectors 2023-11-16 11:35:05 +01:00
Laurent Rineau 446d842586 insert_in_CDT_3: mirror facets directly
Facets are pushed directly as mirror facets, on the border of the cavity
so that they are seen from the exterior of the cavity.

That avoids a copy of a vector of facets.
2023-11-16 11:26:13 +01:00
Laurent Rineau 06e630287b another fix
Now it seems to work!
2023-11-16 10:32:14 +01:00
Laurent Rineau 1f75f30ab2 WIP: more fix 2023-11-16 10:32:14 +01:00
Laurent Rineau cc98a40424 WIP : fix 2023-11-16 10:32:14 +01:00
Laurent Rineau c9540b13c5 WIP: add insert_in_cdt_3 2023-11-16 10:32:14 +01:00
Laurent Rineau 4f50a45374 Extract inner_map_of_cavity to a member function 2023-11-16 10:32:14 +01:00
Laurent Rineau 569aeb33f4 fix a bug?
The code review found that as a bug, but it never showed.
2023-11-16 10:32:14 +01:00
Laurent Rineau 16171923c7 extract the lambda register_facet_to_be_constrained
to a member function
2023-11-16 10:32:14 +01:00
Laurent Rineau dc95d1ac59 fix typos (detected by spell-checker) 2023-11-16 10:32:14 +01:00
Laurent Rineau f46654ef8c more a function
Now the two functions are adjacent:
- `try_to_insert_circumcenter_in_face_or_return_encroached_edge` and
- `insert_mid_point_in_constrained_edge`
2023-11-09 19:39:47 +01:00
Laurent Rineau 255178644d `inner_map_of_cavity` uses `this` as const and nothing else
That means it could be replaced by a const member function
2023-11-09 19:38:46 +01:00
Laurent Rineau d1c513ac0d result of the review with Jane 2023-11-09 19:38:01 +01:00