Commit Graph

2141 Commits

Author SHA1 Message Date
Jane Tournois c95bcb5cb7 wip review Mael 2025-04-29 15:17:54 +02:00
Laurent Rineau fa7a62bd69 fix static_assert(std::is_nothrow_move_assignable<CDT_plus_2> 2025-04-29 11:52:40 +02:00
Sébastien Loriot cb747e8201 Merge pull request #8721 from sloriot/PMP-new_clip
Add refine_with_plane and new fast clip method
2025-04-24 20:43:26 +02:00
Sébastien Loriot d5a2d332eb Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-04-10 18:12:06 +02:00
Sebastien Loriot 051f56967b
Workaround bug in gcc (#8820)
Fixes [these
errors](https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.1-Ic-122/Alpha_wrap_3/TestReport_lrineau_Ubuntu-GCC_master_CXX20-Release.gz)

cc @mglisse
2025-04-10 18:07:13 +02:00
Andreas Fabri 6f455c6fd8 Use the old code for VC++ 2025-04-09 09:14:28 +01:00
Andreas Fabri d0e74e555c Extend workaround of workaround to all VC++ 2025-04-08 16:53:09 +01:00
Andreas Fabri 7925d2a08b merge master 2025-04-08 11:49:02 +01:00
Andreas Fabri a796551a2f ws 2025-04-08 09:38:46 +01:00
Andreas Fabri 88622da91b Workaround for Visual 2017 2025-04-08 09:32:29 +01:00
Sébastien Loriot 6da7046307 revert change backported that was not correct at this point in time 2025-04-07 11:45:09 +02:00
Laurent Rineau f40df0dd20 fix the compilation error with g++ 15.0 2025-04-04 17:15:21 +02:00
Laurent Rineau 150e129b33 fix with AppleClang 12 (CGAL_CXX20==1 but <ranges> is not implemented) 2025-04-04 15:43:39 +02:00
Sébastien Loriot cc77715588 Merge pull request #6849 from JulyCode/gsoc2022-isosurface
Isosurfacing_3 (new package)
2025-04-03 21:41:22 +02:00
Sébastien Loriot 7ff41a8950 Merge pull request #7837 from hoskillua/gsoc2023
GSoC2023 - ACVD for Simplification & Remeshing
2025-04-03 18:00:57 +02:00
Sébastien Loriot a4170b1fb9 Merge pull request #8586 from MaelRL/Kernel_23-Fix_dangling_ref_in_CC3-GF
Do not rely on result_type definitions in kernels
2025-04-03 16:12:09 +02:00
Sebastien Loriot ede0864914
BGL - add `CGAL::dijkstra_shortest_path(vs, vt, mesh)` (#8724)
## Summary of Changes

computes the shortest path between two vertices, using Dijkstra
algorithm

Todo
- [x] write doc and integrate to 
- [x] add np
- [x] add measure to define what "shortest" means
- [x] add to ref manual top page
- [x] use in demo code

## Release Management

* Affected package(s): BGL
* [Small
feature](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Add_CGAL::shortest_path(vs,_vt))
* Link to compiled documentation
[CGAL::shortest_path_between_two_vertices()](https://cgal.github.io/8724/v0/BGL/group__PkgBGLTraversal.html#ga5627dee8a6fe4d238cb5c91e123aa763)
* License and copyright ownership: unchanged
2025-04-03 16:07:02 +02:00
Sébastien Loriot 93e8257255 workaround possible optimisation that would alter the value of the erase_counter
The code is still not legal but works in practise.

fix similar to 5853673267
2025-04-03 12:16:27 +02:00
Jane Tournois c1a3b2dc09 merge cgal/master 2025-04-02 07:26:08 +01:00
Sébastien Loriot a838073ec7 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-03-31 15:31:19 +02:00
Sebastien Loriot 3483e40b10
Mesh_3 - add `surface_only()` named parameter (#8781)
## Summary of Changes

Add the option `surface_only()` to `make_mesh_3()`, to completely skip
the "refine_cells" part of Mesh_3, and cancel perturbation and
exudation.
@soesau and I noticed that scanning cells, even in the context of
"Surface mesher", takes a lot of useless time.


@soesau you can use this branch for your benchmark

@lrineau do you think `surface_only` should be a member of `Mesher_3` or
a parameter of `Mesher_3::refine_mesh()` (as done here)?

## Release Management

* Affected package(s): Mesh_3
* [Small
Feature](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Mesh_3_surface_only())
Pre-approved by
[User:Sloriot](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/User:Sloriot)
-- 2025/03/17
* Link to compiled documentation
[make_mesh_3()](https://cgal.github.io/8781/v0/Mesh_3/group__PkgMesh3Functions.html#gac8599a0c967075f740bf8e2e92c4770e)
and
[parameters::surface_only()](https://cgal.github.io/8781/v0/Mesh_3/group__PkgMesh3Parameters.html#gaa2618c09b6117d7caab12dccca16ee58)
* License and copyright ownership: unchanged
2025-03-28 18:23:22 +01:00
Mael Rouxel-Labbé 691fd789f9 Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2025-03-24 21:34:55 +01:00
Mael Rouxel-Labbé be7de12acb Fix used uninitialized warning 2025-03-23 22:22:33 +01:00
Laurent Rineau 6b97b34a10 Merge 'cgal/master' into Triangulation_3-CDT_3-lrineau 2025-03-21 18:01:23 +01:00
lvalque cc593c35d8 Merge branch 'CGAL:master' into PMP_triangle_soup_rounding-GF 2025-03-18 15:47:50 +01:00
Mael Rouxel-Labbé 25f5f5a548 Replace linear_subdivision with a NP in Loop and Catmull-Clark methods
As to support fixed subdivsion for quad meshes
2025-03-17 16:50:11 +01:00
Mael Rouxel-Labbé f9001833b1 Merge remote-tracking branch 'cgal/master' into Kernel_23-Fix_dangling_ref_in_CC3-GF 2025-03-15 14:09:28 +01:00
Jane Tournois 3a94fcb68a add surface_only() as a named parameter to make_mesh_3()
to completely skip the "refine_cells" part of Mesh_3
2025-03-11 16:58:28 +01:00
Andreas Fabri 6eaeb7a148 merge cgal/master 2025-02-28 08:55:20 +00:00
Sven Oesau 24d44e786b Merge remote-tracking branch 'cgal/master' into PMP-PoissonDiskSampling-GF 2025-02-25 12:24:19 +01:00
Sébastien Loriot 4f9bf703e3 Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2025-02-19 07:19:25 +01:00
Sébastien Loriot f7629fa682 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-02-19 07:18:41 +01:00
Léo Valque 9b84d4c73c rename do_snap to apply_iterative_snap_rounding, remove trailing whitespace 2025-02-17 18:09:04 +01:00
Léo Valque d4e66753ad made snap polygon soup an option of autorefine_triangle_soup 2025-02-17 14:17:45 +01:00
Sébastien Loriot b589c88869 Merge remote-tracking branch 'cgal/master' into gsoc2023-hoskillua 2025-02-13 01:00:12 +01:00
Sébastien Loriot 2d0ffba5b4 rename parameters 2025-02-12 23:50:00 +01:00
Sébastien Loriot 21f615aa25 rename parameters 2025-02-12 22:21:59 +01:00
Sébastien Loriot 043becfe7f Merge pull request #8273 from lrineau/CGAL-followup_PR_8170-lrineau
Improvement backports from CDT_3 branch (Follow-up to PR #8170)
2025-02-12 19:43:35 +01:00
Sebastien Loriot 636368ed8f
Always init time_stamp to -2 (#8714)
It is not clear to me that this is the right thing to do:
- it is done for some classes
- but in some test, a comment mention that it should be uninitialized
(the test works if init to -1 but not to 0).
- Base_time_stamper is doing an init to -2
2025-02-12 19:40:27 +01:00
Sebastien Loriot 14b83f0d3e
boost::tie -> std::tie (#8715) 2025-02-12 19:36:19 +01:00
Andreas Fabri 98b6cf398d change iterator category to bidirectional 2025-02-12 17:48:55 +00:00
Sven Oesau bc97771d6a added documentation
renamed weight_functor to weight_function
changed some default values of named parameters
2025-02-11 22:54:52 +01:00
Laurent Rineau a2571bbab8 Merge remote-tracking branch 'lrineau/CGAL-followup_PR_8170-lrineau' into Triangulation_3-CDT_3-lrineau 2025-02-11 18:26:52 +01:00
Sébastien Loriot b1e3ed1e3c add ratio as parameter 2025-02-10 21:57:29 +01:00
Sébastien Loriot e6961ef94c factorize qem metric and non qem metric impl 2025-02-10 21:33:46 +01:00
Laurent Rineau fa83d0bd45 fix Compact_container::reserve, with timestamps 2025-02-10 18:07:32 +01:00
Laurent Rineau 8eefb7f173 Merge branch 'master' into pr/lrineau/8273 2025-02-07 16:10:52 +01:00
Sebastien Loriot e871025f36
update our CMake supported versions to ...3.31 (#8727)
## Summary of Changes

Update our CMake supported versions to ...3.31. That will suppress the
warnings about `CMP0167` (from CMake 3.30):

```
CMake Warning (dev) at cmake/modules/display-third-party-libs-versions.cmake:37 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
```

## Release Management

* Affected package(s): all cmake scripts
* License and copyright ownership: maintenance by GF
2025-02-07 14:03:47 +01:00
Sven Oesau f41a0a2e78 working poisson disk elimination 2025-02-05 17:27:20 +01:00
Laurent Rineau e5001d1a50 update our CMake version 3.18...3.31
That will suppress the warnings about `CMP0167` (from CMake 3.30):

```
CMake Warning (dev) at cmake/modules/display-third-party-libs-versions.cmake:37 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
```
2025-02-04 14:32:37 +01:00
Léo Valque 14ccffcd13 Doc, verbose and named parameter of snap_polygon_soup 2025-02-04 13:51:53 +01:00
Laurent Rineau 094507cfaa fix an unrelated warning
That is not correct C++ code to copy uninitialized values.
2025-02-03 17:25:31 +01:00
Jane Tournois 0a8d61bbd1 add edge_weight property map 2025-02-03 11:59:04 +01:00
Laurent Rineau 45da3684ba Bug with Linear_cell_complex
One cannot call `std::allocator_traits<Alloc>::construct`, because some of linear cell complex classes have protected constructors with a lot of friend classes. They cannot be friend of all possible allocator classes, so...
2025-01-31 19:19:45 +01:00
Laurent Rineau d582ec6ee1 bug fix 2025-01-31 19:17:36 +01:00
Laurent Rineau fad5e30a54 initialize to -2, to use the debugging assertions 2025-01-31 18:09:07 +01:00
Laurent Rineau 5853673267 fix the concurrent compact container with timestamps 2025-01-31 18:07:59 +01:00
Laurent Rineau b50579bd09 another fix for the buggy compiler from MSVC 2017 2025-01-31 10:12:04 +01:00
Laurent Rineau 571c2ccadc fix compilation errors with C++>=20, or g++12.2.0 2025-01-30 17:39:32 +01:00
Sébastien Loriot 5b4b19a1c8 add cut_with_plane and new clip method 2025-01-28 14:54:27 +01:00
Sébastien Loriot 107f3696dc boost::tie -> std::tie 2025-01-24 14:20:00 +01:00
Sébastien Loriot eb0da467ed always init time_stamp to -1 2025-01-24 11:08:34 +01:00
Laurent Rineau 0dcc287941 add CGAL::unordered_flat_set 2025-01-23 17:23:12 +01:00
Laurent Rineau 9ddc5294fa cleanup in CGAL/Iterator_range.h
... and add a default constructor to create an
empty range (with singular iterators).
2025-01-23 09:32:51 +01:00
Laurent Rineau 1ce108778f rewrite/refactor a lot of the code 2025-01-22 16:03:26 +01:00
Mael Rouxel-Labbé 3b7a4ed21e Merge remote-tracking branch 'cgal/master' into Kernel_23-Fix_dangling_ref_in_CC3-GF 2025-01-16 11:52:34 +01:00
Laurent Rineau 2869ad810b fix compilation errors with C++<20 2025-01-15 19:08:01 +01:00
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 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
Mael Rouxel-Labbé b7de40afce Update enum_cast<Uncertain> calls to new API 2025-01-08 17:17:55 +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
Mael Rouxel-Labbé c85b3884fa Update test for enum_cast<Uncertain> 2024-12-29 23:37:47 +01:00
Mael Rouxel-Labbé 7b160e34e3 Template the Uncertain enum_cast overload with Uncertain, not base enum
Templating by the base CGAL enum is just a way to have unintended
loss of uncertainty.
2024-12-29 23:17:58 +01:00
Andreas Fabri a9a51d2af7 whitespace 2024-12-27 12:22:24 +00:00
Andreas Fabri bef2c3c706 Test Cartesian_const_iterator with Concatenate_iterator 2024-12-27 09:54:20 +00:00
Andreas Fabri 12801ed85a advance the iterator 2024-12-27 09:18:32 +00:00
Sébastien Loriot 9296fe78c2 hide force filtering and the traits in NP 2024-12-20 14:19:58 +01:00
Sébastien Loriot f78f51450b add missing operator 2024-12-20 11:21:07 +01:00
Jane Tournois 7e3aa09f2a complete move file 2024-12-19 22:03:28 +01:00
Jane Tournois a98101aa75 move tuple_like_helpers.h to STL_Extension to avoid dependency on Mesh_3 2024-12-19 17:38:14 +01:00
Laurent Rineau 8e5fab0c98 allow the initial points generator to be non-const
A lot of type erasure was necessary.
2024-12-18 16:45:25 +01:00
Laurent Rineau e2d11a0fc5 allow a range as parameter
The preview implementation enforced the use of a full container.
2024-12-18 13:44:54 +01:00
Andreas Fabri 000bae9889 Add operator+(int) and operator-(other) 2024-12-18 11:07:13 +00:00
Sébastien Loriot b32558b87e Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-12-16 11:47:34 +01:00
Sven Oesau b7e1841b1d added hidden named parameters for isovalue nudging and interior vertex placement 2024-12-16 11:32:48 +01:00
Sébastien Loriot c050bb15a3 Merge remote-tracking branch 'cgal/master' 2024-11-15 11:41:07 +01:00
Laurent Rineau 02632017a5 Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau 2024-11-12 12:33:37 +01:00
Jane Tournois 75d3d30cb4 fix unused variable warnings and add a const 2024-11-05 10:27:54 +01:00
Jane Tournois f3abf598ed Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement
# Conflicts:
#	Mesh_3/examples/Mesh_3/CMakeLists.txt
2024-11-04 12:42:37 +01:00
Sebastien Loriot 1690619625
CGAL: Modernize CMakeLists.txt (#8528)
## Summary of Changes

- Changed `PUBLIC` to `PRIVATE`  in the `target_link_libraries()`
- ~~Link against `Boost::<COMPONENT>`~~ as we do more than just linking
and must use the `CGAL::_.._support`
- Use `target_compile_definitions()` and `add_compile_definitions()`

More to be done.

## Release Management

* Affected package(s): all
* Issue(s) solved (if any): fix one item of  #4815
* License and copyright ownership: unchanged
2024-10-31 10:32:25 +01:00
Jane Tournois f77f9c6847 Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement
# Conflicts:
#	Installation/CHANGES.md
2024-10-23 16:35:56 +02:00
Sébastien Loriot dd25a38a14 Merge pull request #8467 from afabri/STL_extension-Openmesh_conversion-GF
STL_extension: Add conversion operator
2024-10-21 19:15:22 +02:00
Sébastien Loriot 619875392c Merge branch 'gsoc2023' into master 2024-10-18 14:33:31 +02:00
Laurent Rineau 96cd3e6f09 Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-17 00:25:24 +02:00
Sven Oesau a06002ab2b Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-10-14 14:42:46 +02:00
Andreas Fabri 95616154d5 More PRIVATE in LCC and Generalized_map 2024-10-09 07:19:52 +01:00
Andreas Fabri 527569346e CGAL: Modernize CMakeLists.txt 2024-10-08 17:02:41 +01:00
albert-github dd02af92a2 issue #8515 Spelling mistakes found checking `en-GB` to `en-US`
Spelling corrections, `en-GB` -> `en-US`
2024-10-05 11:28:29 +02:00
Jane Tournois c1f2236ee3 Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement
# Conflicts:
#	Installation/CHANGES.md
2024-09-30 14:02:09 +02:00