Commit Graph

147 Commits

Author SHA1 Message Date
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
Laurent Rineau 92aabb00ad use std::invoke (C++17) for IILE
*Immediately Invoked Lambda Expression*

Now that CGAL can use C++17 , switch to `std::invoke`
that is more readable that the two small characters `()`
hidden somewhere a few lines below.

With `std::invoke`, we understand straight away that the lambda is
called immediately.

Ref:

https://www.cppstories.com/2016/11/iife-for-complex-initialization/
2023-11-09 19:36:53 +01:00
Laurent Rineau 5997b70327 `triangulate_cavity` is a fct without side effect
(but the debug outputs)
2023-11-08 16:39:56 +01:00
Laurent Rineau 4d7a2fee64 Extract map_cavity_vertices_to_ambient_vertices
- make it const,
 - and simplify the reuse of the API.
2023-11-08 15:52:20 +01:00
Laurent Rineau eb1ab88c04 Adapt triangulate_cavity
that will allows its reuse by the function `insert(Point)`
2023-10-24 11:39:58 +02:00
Laurent Rineau afce4db325 commit more debug code 2023-10-17 18:06:18 +02:00
Laurent Rineau 0186e9add9 add another option
this one is to dump the input surface with the extra Steiner points
of the conforming.

And add a --help option as well.
2023-10-17 16:05:35 +02:00
Laurent Rineau 4380273203 fix the number of added vertices in a cavity 2023-10-13 16:50:30 +02:00
Laurent Rineau d1e76c2099 fix typo 2023-10-13 16:48:48 +02:00
Laurent Rineau 265d3ba8fe reimplement brute_force_border_3_of_region 2023-10-04 16:16:33 +02:00
Laurent Rineau 634992dc9b Replace ERROR by NOTE because those were not errors 2023-10-02 11:46:10 +02:00
Laurent Rineau 2d87d4172d fix code when CGAL_NDEBUG or NDEBUG is defined 2023-09-26 15:34:17 +02:00
Laurent Rineau a1ac93b529 fix a warning 2023-09-26 15:33:44 +02:00
Laurent Rineau 0cdb022027 fix a bug in dimension 2
There was a warning:
```
Triangulation_3/include/CGAL/Constrained_Delaunay_triangulation_3.h:1841:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
[build]  1841 |     } // dim 2
[build]       |     ^
```
and for once that was a warning about a real bug!
2023-09-26 12:50:56 +02:00
Laurent Rineau 5bc5ec4f46 fix cheese18 --merge-facets
The explanation of the bug:
`split_graph_into_polylines` can reverse the orientation of a polygon
2023-09-25 17:58:03 +02:00
Laurent Rineau 188f99ff97 code to detriangulate facets 2023-09-13 09:25:04 +02:00
Laurent Rineau 3b77eaac1c WIP: preliminary work on detriangulate 2023-09-07 12:53:39 +02:00
Laurent Rineau 6234786dd9 is_valid: test all cells before return false 2023-09-04 11:11:23 +02:00
Laurent Rineau 6070f6e01a tweak debug macros 2023-08-31 18:23:48 +02:00
Laurent Rineau fc0cb34e64 more verbose is_valid 2023-08-31 12:06:33 +02:00
Laurent Rineau cf73165563 debug msg 2023-08-31 12:04:53 +02:00
Laurent Rineau f631d1eefe Use a centroid
That ensures that the Steiner point is inside the constrained polygon.
2023-08-31 11:59:25 +02:00
Laurent Rineau e8c6d15652 implement edge flip for regions of two triangles 2023-08-31 11:51:14 +02:00
Laurent Rineau 4d132faedd extract lambdas iinto proper member functions 2023-08-03 16:42:28 +02:00
Laurent Rineau 420a3789c5 fix the detection of encroached constrained edge in the face 2023-08-02 18:24:22 +02:00
Laurent Rineau 6f965038fa add a new assertion 2023-08-02 18:16:18 +02:00
Laurent Rineau 6c06dcbf34 change verbosity level of debug messages 2023-08-02 17:01:31 +02:00
Laurent Rineau 7df2963397 fix formatting 2023-08-02 16:03:40 +02:00
Laurent Rineau 07cfd82a84 add const/non_const ref to the CDT_2 2023-08-02 16:02:53 +02:00