Commit Graph

110382 Commits

Author SHA1 Message Date
Laurent Rineau d4e6ffddf4 fix protection against min/max macros
The regular expression I used was:

```
((?!(?:^.*(\/\/|\/\*).*|^ *\* .*|^[^"]*"(?:"[^"]*"|[^"])*))^(?:.*[ ,\(]|))(\b(?:(?:[A-Za-z]+::)*)(?:max|min))\b *\(
```
2025-01-14 16:12:34 +01:00
Laurent Rineau 1f70e59210 doc bug-fix 2025-01-14 14:11:08 +01:00
Laurent Rineau eafa97a862 major cleanup of Polyline_constraint_hierarchy_2
- remove all mentions of `Edge` and `Constraint`
- `Subconstraint_iterator` is renamed `Subconstraint_and_contexts_iterator` (because of its value type)
- a new `Subconstraint_iterator`, with value type `Subconstraint`
- a few unused/untested and uncompilable functions are removed from the code
- a lot of internal renamings

== Breaking changes ==

For `Constrained_triangulation_plus_2`, there are a few breaking changes...

- The value type of `subconstraints_begin()`, `subconstraints_end()`, of the range `subconstraints()` has changed to `Subconstraint` (a simple `std::pair` of vertex handles). That is actually a kind of bug-fix, because it was documented as such in the user manual.
- The new member functions `subconstraints_and_contexts_begin()`, `subconstraints_and_contexts_end()`, `subconstraints_and_contexts()` are created get the old value type (`std::pair<const Subconstraint, std::list<Context>*>`).
- A few range types have changed from `CGAL::Iterator_range<It>` to `unspecified_type`, for efficiency reasons.
- Doc fixes.

== Determinism ==

Even if it was not documented, the range `subconstraints()` is deterministic (used by Mesh_2), and `subconstraints_and_contexts()` is not.
2025-01-13 17:06:58 +01:00
Laurent Rineau 926bb0cf89 hierarchy: remove two undefined member functions 2025-01-13 11:36:05 +01:00
Laurent Rineau d468962663 hierarchy: remove `remove_Steiner(T v, T va, T vb)`
That code was never used nor tested, and cannot compile anyway.
2025-01-13 11:36:05 +01:00
Laurent Rineau 93ac1845fa CDT_plus_2 hierarchy: add Edge_iterator, that is deterministic
That uses Boost.STLInterfaces from Boost >= 1.74.
2025-01-13 11:36:05 +01:00
Laurent Rineau e03ba91f54 Boost >= 1.74 is now required 2025-01-13 11:36:05 +01:00
Laurent Rineau 56bb4191ed cleanup existing code 2025-01-13 11:24:30 +01:00
Sébastien Loriot e5807ca048 TWS 2025-01-10 14:45:51 +01:00
Laurent Rineau 364ba1595c fix a missing #include 2025-01-08 21:53:53 +01:00
Laurent Rineau bc8c1e6594 new allocator type, that allocates randomly on purpose
To debug non-determinism on Linux platforms.
2025-01-08 21:53:44 +01:00
Laurent Rineau ea151ff987 fix CGAL_USE_BARE_STD_MAP with Polyline_constraint_hierarchy_2 2025-01-08 21:15:22 +01:00
Laurent Rineau b12625f169 fix an error detected by UBSAN 2025-01-08 21:13:43 +01:00
Laurent Rineau 552685784b Add CGAL::unordered_flat_map implementation
...and `refactor Polyline_constraint_hierarchy_2` to use it.

`CGAL::unordered_flat_map` will be Boost `unordered_flat_map` if availlable, or the standard `std::unordered_map` otherwise.
2025-01-08 11:46:23 +01:00
Laurent Rineau aaac2c2dc1 Merge remote-tracking branch 'cgal/master' into pr/lrineau/8273 2025-01-08 11:34:54 +01:00
Sebastien Loriot 1c04f5768c
Doxygen incompatibility in respect to `FULL_SIDEBAR` setting (#8674)
Due to an incompatibility change in doxygen (see
2a62c19755 (commitcomment-150534822))
it is necessary to add the setting for `FULL_SIDEBAR` to the setup of
the CGAL documentation.
2024-12-27 10:28:24 +01:00
Sebastien Loriot f30cdccb67
Spelling correction (#8672)
Spelling correction

Note: we also have a similar spelling error in:
```
Surface_mesh_skeletonization/benchmark/Surface_mesh_skeletonization/mcf_scale_invariance.cpp:104:  output.open("correspondance.cgal");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_example.cpp:68:  output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_LCC_example.cpp:66:  output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_om_example.cpp:75:  output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_sm_example.cpp:67:  output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_example.cpp:72:  output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_LCC_example.cpp:72:  output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_sm_example.cpp:51:  output.open("correspondance-sm.polylines.txt");
```
but as this in filenames I didn't change it.
2024-12-27 10:28:06 +01:00
Sébastien Loriot 9a860ac3f4 rename output file 2024-12-26 11:05:16 +01:00
albert-github 0c338ca736 Doxygen incompatibility in respect to `FULL_SIDEBAR` setting
Due to an incompatibility change in doxygen (see 2a62c19755 (commitcomment-150534822)) it is necessary to add the setting for `FULL_SIDEBAR` to the setup of the CGAL documentation.
2024-12-25 12:23:59 +01:00
albert-github f5ec9b05b7 Spelling correction
Spelling correction

Note: we also have a similar spelling error in:
```
Surface_mesh_skeletonization/benchmark/Surface_mesh_skeletonization/mcf_scale_invariance.cpp:104:  output.open("correspondance.cgal");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_example.cpp:68:  output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_LCC_example.cpp:66:  output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_om_example.cpp:75:  output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_sm_example.cpp:67:  output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_example.cpp:72:  output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_LCC_example.cpp:72:  output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_sm_example.cpp:51:  output.open("correspondance-sm.polylines.txt");
```
but as this in filenames I didn't change it.
2024-12-23 15:23:47 +01:00
Sébastien Loriot f5f5dc7244 Merge remote-tracking branch 'cgal/6.0.x-branch' into HEAD 2024-12-23 09:40:20 +01:00
Sébastien Loriot cb3e182284 Merge remote-tracking branch 'cgal/5.6.x-branch' into HEAD 2024-12-23 09:38:35 +01:00
Sebastien Loriot 06fa730c75
Flip it if you can't collapse it (#8609)
if a needle is also a cap, it will be handled as a needle only. But if
we can't collapse the edge, a flip will not be tried. Try the flip too.

Note that this will slow down the method as the status of a triangle is
tested twice.

Fix #8605
2024-12-23 09:34:33 +01:00
Sebastien Loriot 8f499a43da
PMP - add isotropic remeshing examples to the doc (#8655)
## Summary of Changes

For no reason, these examples where present but not available from the
documentation web pages.

## Release Management

* Affected package(s): PMP
* License and copyright ownership: unchanged
2024-12-23 09:34:05 +01:00
Sebastien Loriot b55bdc0103
Fix link to replacement function (#8657)
## Release Management

* Affected package(s): `Polygon_mesh_processing`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2024-12-23 09:33:22 +01:00
Sebastien Loriot 0799b97e50
Add missing kernel functor overloads + cleaning (#8660)
## Release Management

* Affected package(s): `Kernel_23`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2024-12-23 09:32:43 +01:00
Sebastien Loriot 50ca5f1833
Fix Coref Boolean for identical nested patches (#8668) 2024-12-23 09:32:04 +01:00
Laurent Rineau b145d1ce76 restrict actions a bit more 2024-12-20 11:09:35 +01:00
Laurent Rineau db347eab0e
Generate CGAL TestSuite Markdown Report (#8620) 2024-12-19 17:34:26 +01:00
Sébastien Loriot 8bc0b888b8 clean up patch and make filling lazy 2024-12-18 11:42:10 +01:00
Sébastien Loriot dfb77dde96 add test 2024-12-18 11:42:05 +01:00
Sébastien Loriot a6f7b3c163 WIP handle nested coplanar CC 2024-12-18 11:37:14 +01:00
Mael Rouxel-Labbé de214f488c Add / Fix \sa links to functors for CGAL kernel objects 2024-12-16 17:44:06 +01:00
Mael Rouxel-Labbé bb2cd839a7 Add missing overloads 2024-12-16 17:43:42 +01:00
Laurent Rineau b3a59ac00a save my last version
- linter warnings,
- better use of `column|bat`
2024-12-13 16:23:15 +01:00
Laurent Rineau 1cf07aaa07 fix the linter warnings 2024-12-13 16:22:51 +01:00
Nicolas Saillant 70353fb547 Refactor cgal_testsuite_report.py to improve variable naming and enhance third-party library handling 2024-12-13 14:35:05 +01:00
Nicolas Saillant 44f4faa69b Merge branch 'master' into platform-info-script-GF 2024-12-13 12:34:50 +01:00
Mael Rouxel-Labbé 4efaa1e9cb Fix link to replacement function 2024-12-13 11:57:30 +01:00
Laurent Rineau 5050ba0490
Testsuite: Custom platform names display in test results (#8622)
## Summary of Changes

Update Perl scripts to support custom platform display names through
CGAL_SUMMARY_NAME variable.
This PR is the companion of
[PR166](https://github.com/CGAL/cgal-testsuite-dockerfiles/pull/166)
(cgal-testsuite-dockerfiles) that introduces this variable.
2024-12-13 11:23:17 +01:00
Laurent Rineau 0c1ccd6ed1 lint and format the Python script 2024-12-12 18:20:20 +01:00
Laurent Rineau b0ca0e2e51 Add shebang and fix list_test_runner_machines path in cgal_testsuite_report.py 2024-12-12 18:12:05 +01:00
Laurent Rineau d602987879 update the script 2024-12-12 18:11:36 +01:00
Jane Tournois 30dda7ae89 add examples to the doc! 2024-12-12 14:26:24 +00:00
Nicolas Saillant 81932f1083 improve platform options handling and clean up OS formatting 2024-12-12 11:10:26 +01:00
Nicolas Saillant ab02480ff0 refactor: streamline platform sorting and information retrieval in test result processing 2024-12-12 10:39:27 +01:00
Nicolas Saillant acbd7ae3a0 refactor: update platform name handling in test result page 2024-12-12 08:47:35 +01:00
Sébastien Loriot 078053314e Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2024-12-10 16:33:32 +01:00
Sébastien Loriot 3fa3568e6b Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2024-12-10 16:32:33 +01:00
Sebastien Loriot 289a8bda49
`PMP::isotropic_remeshing()` - fix relaxation of constrained vertices (#8604)
## Summary of Changes

Constrained vertices, and constrained edges were not properly protected
during the smoothing step.

## Release Management

* Affected package(s): PMP
* Issue(s) solved (if any): fix #8388
* License and copyright ownership: unchanged
2024-12-10 16:30:25 +01:00