Commit Graph
293 Commits
Author SHA1 Message Date
Laurent Rineau baab52ae3c Merge remote-tracking branch 'lrineau/Stream_support-color_and_indenting_streams-lrineau' into CDT_3-fix_v2-lrineau 2026-02-12 15:07:12 +01:00
Laurent Rineau f498226561 fix conflicts (merge 'cgal/main') 2026-02-12 10:02:05 +01:00
Laurent Rineau d4008bc0e4 re-indent the code correctly 2026-02-12 09:59:36 +01:00
Sebastien Loriot 4f51de4491 Modify subdomain labeling strategy in CDT3 -> TetRemesh triangulation (#9122)
## Summary of Changes

The conversion from a CDT3 triangulation to a tetrahedral remeshing
triangulation labels cells with a subdomain index that is either 0 if
the cell is in the (constrained) connected component of the infinite
vertex, and 1 otherwise.

But face constraints can also reflect multiple subdomains, and possibly
nested subdomains, which we might want to remesh differently.

The following PR modifies the labeling during conversion such that a
flood algorithm is used to mark constrained connected components.
- The connected component containing the infinite vertex is marked with
index 0.
- Nested components are marked with increasing indices.
- Disconnected components that have the same nesting level get the same
index parity: for example two cubes within a larger bounding box will be
index 2 and 4.

TODO:
- Should there be a strategy tag? Similar to
https://doc.cgal.org/latest/Polygon_repair/index.html#Chapter_2D_Polygon_repair
- This is somewhat related to `CGAL::mark_domain_in_triangulation` (by
the way, here is a 3D version for CDT3:
https://gist.github.com/MaelRL/9076cc491cd24b7a9c6f6e317263bdfe which
could be part of this PR).
- Modified example:
https://gist.github.com/MaelRL/d10daf116f562b87bc9fb854f5eeff23

## Release Management

* Affected package(s): `Constrained_triangulation_3`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): WIP
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership: no change
2026-02-03 14:21:36 +01:00
Sven Oesau e22f7f2c79 fix ice on msvc 2017 2026-02-02 12:15:09 +01:00
Laurent Rineau d0a6e51554 fix conflicts (merge 'cgal/main' ) 2026-01-30 16:38:49 +01:00
Laurent Rineau 3ce4b57770 fix warning 2026-01-30 10:14:42 +01:00
Sebastien Loriot 93093e8dd4 CDT_3: ship <tl/expected.hpp> (#9145) (#9197)
Replaces the `FetchContent` mechanism with a vendored copy of
`tl/expected.hpp` (v1.1.0).

The header is placed in `CGAL/tl/expected.hpp` to avoid namespace
pollution.
This also removes the CMake module `CGAL_setup_tl-excepted.cmake`.

## Release Management

* Affected package(s): Constrained_triangulation_3
* Issue(s) solved (if any): #9145
* License and copyright ownership: CC0 1.0 Universal (tl/expected.hpp)
2026-01-14 17:18:26 +01:00
Laurent Rineau 7cf93c0635 update tl/expected
- update to [version 1.3.1](https://github.com/TartanLlama/expected/releases/tag/v1.3.1)
- rename namespace `tl` to `CGAL::cpp23`
- rename the file to `<CGAL/expected.h>`

Once CGAL uses C++23. then that file will use `std::expected`.
2026-01-12 11:44:46 +01:00
Laurent Rineau 307baa6964 fixes for 1001930.stl 2026-01-09 16:52:45 +01:00
Laurent Rineau 837dd733ce process_cells_in_conflict: only handle each edge once 2026-01-08 17:24:09 +01:00
Laurent Rineau 90900dda20 improve debugging messages 2026-01-08 17:23:39 +01:00
Laurent Rineau 6a65546f4b fix a regression since the new cavity construction algorithm
**detect again when the result of the conforming has self-intersections**

The regression was in the following commit:

> commit 5d1f3306a6
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date:   Thu Dec 4 11:14:00 2025 +0100
>
>     WIP: new way to construct the cavity

from the current PR (#9123).
2026-01-08 17:22:30 +01:00
Laurent Rineau 614c1174ba add --debug-restore-faces 2026-01-07 16:45:33 +01:00
Laurent Rineau 8f4b82bc1b Merge remote-tracking branch 'refs/remotes/lrineau/CDT_3-fix_v2-lrineau' into CDT_3-fix_v2-lrineau 2026-01-06 09:13:24 +01:00
Laurent Rineau 16978d905d missing inline 2026-01-05 17:04:42 +01:00
Sebastien Loriot becac6347f Fix warning 2025-12-24 10:18:57 +01:00
Attaullah Ansari 1d09200a52 Installation: move tl/expected.hpp from CDT_3 2025-12-19 22:56:32 +05:30
Sébastien Loriot 69d6cdd151 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-12-19 17:37:15 +01:00
Attaullah Ansari bf5c32ec70 CDT_3: ship <tl/expected.hpp> (#9145)
Replaces the FetchContent mechanism with a vendored copy of tl/expected.hpp (v1.1.0).

The header is placed in CGAL/tl/expected.hpp to avoid namespace pollution.
This also removes the CMake module CGAL_setup_tl-excepted.cmake.

## Release Management

* Affected package(s): Constrained_triangulation_3
* Issue(s) solved (if any): #9145
* License and copyright ownership: CC0 1.0 Universal (tl/expected.hpp)
2025-12-19 17:40:39 +05:30
Mael Rouxel-Labbé aaf9bbc6d0 Merge remote-tracking branch 'cgal/main' into CDT3-Convert_with_nesting_levels-GF 2025-12-19 10:12:33 +01:00
Mael Rouxel-Labbé 42b86f5110 list > stack 2025-12-19 10:09:03 +01:00
Laurent Rineau 332cc960e9 add missing inline keywords in 6.1.x-branch 2025-12-18 16:19:26 +01:00
Laurent Rineau f611afd067 verify if the cavity contains internal vertices 2025-12-17 11:06:06 +01:00
Laurent Rineau 0a99131ec7 better debug outputs 2025-12-17 09:09:55 +01:00
Laurent Rineau d98ce5b84f fix the previous commit 2025-12-14 23:10:37 +01:00
Laurent Rineau 54627be04f add coplanar edges as potential edges intersecting the region 2025-12-11 14:42:19 +01:00
Laurent Rineau c6972bb484 detter debug messages 2025-12-11 14:41:36 +01:00
Laurent Rineau 8bf81e3121 change and simplify the cavity algorithm 2025-12-05 09:00:49 +01:00
Sébastien Loriot 39e7fe5512 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-12-04 18:44:41 +01:00
Sebastien Loriot 0a215ea65c Add missing license of GPL file (#9166)
## Release Management

* Affected package(s): `Constrained_triangulation_3`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2025-12-04 18:37:21 +01:00
Laurent Rineau 5d1f3306a6 WIP: new way to construct the cavity 2025-12-04 11:14:00 +01:00
Sébastien Loriot 26a5fc70e4 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-12-03 11:54:47 +01:00
Mael Rouxel-Labbé 53ea50a64a Add include guard and license 2025-12-03 11:33:33 +01:00
Laurent Rineau 284d228b96 WIP on does_tetrahedron_intersect_triangle_interior 2025-12-02 16:51:27 +01:00
Laurent Rineau 93c4a44b90 fix clangd warnings (IWYU warnings) 2025-12-01 09:34:30 +01:00
Andreas Fabri 40ac746be7 CDT3: Fix face_constraint_index() 2025-11-27 13:54:50 +00:00
Laurent Rineau 8c6dd11492 add new test case and a new class Exception_ostream 2025-11-26 14:05:51 +01:00
Laurent Rineau 77f3df5934 better debug messages 2025-11-25 15:01:28 +01:00
Laurent Rineau f76137d10e replace a segfault by an exception 2025-11-24 13:53:42 +01:00
Laurent Rineau 3195009f59 better debug code 2025-11-23 14:21:15 +01:00
Sébastien Loriot 9f2fcb5e28 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-11-21 17:41:27 +01:00
Laurent Rineau 3a8e4ccaed rename poly_id to polygon_id
"poly" could mean polyline or polygon. Now that is explicit.
2025-11-21 13:32:46 +01:00
Laurent Rineau 92a14c6a74 cosmetic 2025-11-21 13:31:29 +01:00
Laurent Rineau 16719ef429 fix segfault 2025-11-21 13:31:19 +01:00
Laurent Rineau 4baf6a41eb fix clangd warnings 2025-11-21 13:15:28 +01:00
Laurent Rineau cda931ec46 fix a warning 2025-11-20 15:23:40 +01:00
Laurent Rineau e0a720452d fix a warning 2025-11-20 11:35:24 +01:00
Laurent Rineau c856e40662 re-add <version> to fix clangd warnings 2025-11-20 11:35:17 +01:00
Laurent Rineau 5e04fc39da optional face_output_iterator named parameter 2025-11-17 15:20:43 +01:00