Commit Graph

2028 Commits

Author SHA1 Message Date
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
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
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
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é 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
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
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
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
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