Commit Graph

5244 Commits

Author SHA1 Message Date
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
Sébastien Loriot 5a83d07e6d Merge remote-tracking branch 'cgal/6.0.x-branch' into master 2025-03-28 18:16:42 +01:00
Sébastien Loriot a3db73dc68 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-03-28 18:15:16 +01:00
Sébastien Loriot f3ff704eea Merge pull request #8554 from afabri/PMP-PoissonDiskSampling-GF
Add Weighted Sample Elimination
2025-03-28 18:03:36 +01:00
Sébastien Loriot d51af86a65 update changes 2025-03-25 23:51:20 +01:00
Sébastien Loriot cf301c4d22 Merge pull request #8786 from efifogel/Aos_2-fixes-efif
Fixed do_intersect() of curves (provided by Edkirito).
2025-03-24 11:51:09 +01:00
Sébastien Loriot e463bcaec1 Merge pull request #8713 from efifogel/Aos_2-traits_concept-efif
Aos 2 traits concept efif
2025-03-24 11:45:17 +01:00
Laurent Rineau ab56f763cd sort 3rd party libs by name 2025-03-17 14:18:46 +01:00
Sebastien Loriot 5451674075
Aos 2 dcel extension efif (#8710)
## Summary of Changes

The changes fix a bug in the extensions of vertex and halfedge types of
the DCEL when used to instantiate Arrangement_with_history_2 or similar
arrangement classes that derive from Arrangement_2.
Typically, only the face type is extended or all the 3 types (vertex,
halfedge, and face) are extended, and for such extensions we have
dedicated class templates. The bug shows up when trying to extend any
other subset of the 3 types, and apparently, this hasn't been used much
with Arrangement_with_history_2.

## Release Management

* Affected package(s): Arrangement_on_surface_2
* Issue(s) solved (if any): NA
* Feature/Small Feature (if any): NA
* Link to compiled documentation: NA
* License and copyright ownership: TAU
2025-03-17 09:11:49 +01:00
Efi Fogel 30e5d27ffc Added comment of a fix in the 2D Arrangement on Surface package 2025-03-15 12:09:10 +02:00
Jane Tournois b3f438ea51 CHANGES.md 2025-03-13 15:45:43 +01:00
Sven Oesau 9cb7c57345 removing FindEigen3.cmake
as it is outdated and no longer required
2025-03-10 15:56:40 +01:00
Sven Oesau 058d7705fa [skip ci] 2025-02-25 13:20:52 +01:00
Sven Oesau e4f420b53a update changes.md
[skip ci]
2025-02-25 13:19:55 +01:00
Sven Oesau 72b6c16fff updated changes.md 2025-02-25 12:42:57 +01:00
Efi Fogel 5ea830d030 Merge branch 'master' into Aos_2-traits_concept-efif 2025-02-18 17:32:57 +02:00
Sébastien Loriot 06b511cc65 Merge pull request #6088 from sloriot/PMP-add_discrete_curvature
Add functions to compute discrete curvatures
2025-02-12 21:22:40 +01:00
Sébastien Loriot de1fb95d15 Merge pull request #8658 from MaelRL/Tr-Document_point-GF
Document `point()` in all triangulations
2025-02-12 21:18:27 +01:00
Sébastien Loriot 9c536ddae6 Merge pull request #8234 from MaelRL/BGL-Add_remove_deg_2_vertex-GF
Add an Euler operation to remove degree 2 vertices
2025-02-12 21:17:43 +01:00
Sebastien Loriot 8836f5e705
Polygon repair using union and intersection (#8510)
## Summary of Changes

Add new repair rules in Polygon_repair package

## Release Management

* Affected package(s): Polygon_repair
* Feature/Small Feature (if any):
[link](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Polygon_repair_union_intersection)
-- **pre-approval 2025/01/03**
* Link to compiled documentation:
[link](https://cgal.geometryfactory.com/~afabri/Repair/Manual/packages.html#PkgPolygonRepair)
* License and copyright ownership: GF
2025-02-12 19:47:30 +01:00
Laurent Rineau 4e5fed81de fix a bug when `CGAL_BRANCH_BUILD` is falsy (in testsuite tarballs for example) 2025-02-10 15:08:19 +01:00
Mael b2ea32cafc
Fix typo
Co-authored-by: Laurent Rineau <Laurent.Rineau@cgal.org>
2025-02-10 14:22:54 +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
Mael Rouxel-Labbé 4cc3eef67b Update CHANGES.md 2025-02-06 20:17:19 +01:00
Mael Rouxel-Labbé 94bd217b2b Update CHANGES.md 2025-02-06 20:16:43 +01:00
Mael Rouxel-Labbé ad53f4c3ce Update changelog 2025-02-06 20:14:30 +01:00
Laurent Rineau 050677f002 add CMake option CGAL_with_benchmarks 2025-02-06 01:21:42 +01:00
Sebastien Loriot 54bfdfe04d
Mesh 3 : initial_points_generator parameter for make_mesh_3 point initialization (#7798)
## Summary of Changes

Added a `initial_points_generator` parameter in make_mesh_3.
With this parameter, we can use a custom functor when initializing the
C3t3 complex.
This functor must follow the
[Initial_points_generator](https://cgal.github.io/7798/v0/Mesh_3/classInitialPointsGenerator.html)
concept.

Tasks:
 - [x] Add `initial_points_generator` parameter in `make_mesh_3`
 - [x] Make an example
 - [x] Write `Construct_initial_points_labeled_image` into a header
- [x] Make `initialize_triangulation_from_labeled_image` use
`Construct_initial_points_labeled_image`
- [x] Change definition of concept `InitialPointsGenerator` to output
`std::tuple<MeshDomain::Point_3, int dimension, MeshDomain::Index>`
(instead of `std::pair<MeshDomain::Point_3, MeshDomain::Index>`)
 - [x] Make it pass checks
 - [x] Document `initial_points_generator` parameter in `make_mesh_3`
 - [x] Document `Construct_initial_points_labeled_image` header
 - [x] Document example
- [x] Delete `initialize_triangulation_from_labeled_image` and
`initialize_triangulation_from_gray_image`
- [x] Make an example of labelled and gray image initialisation with the
parameter or the old custom initialization.
 - [x] Make small feature page
- [x] add `Construct_initial_points_gray_image.h`, similar to
`Construct_initial_points_labeled_image.h`
 - [x] Maybe add a test ?
- [x] announce in `CHANGES.md`, see
https://github.com/CGAL/cgal/pull/7798#issuecomment-2082701644

## Release Management

* Affected package(s): Mesh_3
* Issue(s) solved (if any): 
  * fix #922
  * fix #7469 
  * discussion #7537
  * previous closed PR #7757
* Feature/Small Feature (if any):
[Mesh_3_initial_points_generator_parameter](https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Mesh_3_initial_points_generator_parameter)
* Link to compiled documentation
[*here*](https://cgal.github.io/7798/v4/Manual/index.html):
*
[make_mesh_3](https://cgal.github.io/7798/v4/Mesh_3/group__PkgMesh3Functions.html#gac8599a0c967075f740bf8e2e92c4770e)
has been modified to receive the parameters :
*
[initial_points_generator](https://cgal.github.io/7798/v4/Mesh_3/group__PkgMesh3Parameters.html#gaf53777b83f1b2f3e7d49275dbab6e46b)
*
[initial_points](https://cgal.github.io/7798/v4/Mesh_3/group__PkgMesh3Parameters.html#gae94f38c6cd23cce45a55608e881a546a)
* The
[InitialPointsGenerator](https://cgal.github.io/7798/v4/Mesh_3/classInitialPointsGenerator.html)
concept that the functor must be a model of.
* A model of this concept :
[Construct_initial_points_labeled_image](https://cgal.github.io/7798/v4/Mesh_3/structCGAL_1_1Construct__initial__points__labeled__image.html)
* License and copyright ownership:
2025-02-05 08:29:06 +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 a45ac3eb69 fix the detection of <format> and std::format 2025-01-29 16:28:48 +01:00
Sébastien Loriot b19515e1f8 Merge remote-tracking branch 'cgal/6.0.x-branch' 2025-01-24 08:09:18 +01:00
Sébastien Loriot 7720caa9dc Merge remote-tracking branch 'cgal/5.6.x-branch' into HEAD 2025-01-24 08:08:33 +01:00
Efi Fogel 017dacaf26 Announced the introduction of the new AosApproximatePointTraits_2 concept 2025-01-22 14:22:47 +02:00
Efi Fogel 898f933d28 Added a comment about a fix of a bug in the Arrangement_on_surface_2 package 2025-01-22 13:26:41 +02:00
Sébastien Loriot d8106aab4b we now use ctest for testing + extra clean up 2025-01-22 11:42:50 +01:00
Laurent Rineau cf50ad8b13 document the breakng change 2025-01-16 13:47:33 +01:00
Laurent Rineau e03ba91f54 Boost >= 1.74 is now required 2025-01-13 11:36:05 +01:00
Efi Fogel a3d5856c2e Added a note regarding fixes of the Landmark point-location strategy so that it can be applied to arrangements on a sphere 2024-12-17 22:40:11 +02:00
Andreas Fabri 927d52e79e Add to changes.md 2024-12-12 09:54:04 +00:00
Jane Tournois 18a0f69ca2 Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement
# Conflicts:
#	Installation/CHANGES.md
2024-12-05 10:17:14 +01:00
Sébastien Loriot 11640a3946 Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2024-12-04 14:13:01 +01:00
Sebastien Loriot ca8898c156
Aos 2 metadata traits decorators efif (#8592)
## Summary of Changes

Introduces two traits decorators, namely `Arr_tracing_traits_2` and
`Arr_counting_traits_2`, which can be used to extract debugging and
informative metadata about the traits in use while the program is being
executed. They have been part of the CGAL distribution for several years
now . (Probably more than a decade.) I gave it a face lift, wrote the
necessary documentation, and added a small example program called
count_and_trace.cpp.

## Release Management

* Affected package(s): 2D Arrangements (Arrangement_on_surface_2)
* Issue(s) solved (if any): NA
* Feature/Small Feature (if any): Aos 2 Metadata Traits Decorators --
**Pre-approval date 2024/11/12**
* Link to compiled documentation (obligatory for small feature)
[Manual](https://www.cs.tau.ac.il/~efif/doc_output9/Arrangement_on_surface_2/)
* License and copyright ownership: TAU
2024-12-04 14:06:12 +01:00
mbarbier 56f57215b6 Fixing ICPC usage with modern cmake and wrappers
Related to conan's conan-io/conan-center-index#25843

replaced 'fp-model strict' by 'fp-model=strict' https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-8/fp-model-fp.html
for more compatibility with nvcc. as 'fp-model=strict' will be directly
transmited to the compiler while 'fp-model strict' will have 'strict'
being treated as a file input.

Also added a CXX only filter for newer cmake 3.3+
2024-11-27 09:19:23 +00:00
Laurent Rineau da588c9f95 fix a comment in <CGAL/config.h> 2024-11-21 17:02:51 +01:00
Sebastien Loriot dd6adf68b3
use assume from c++23 when possible (#8597) 2024-11-14 07:42:19 +01:00
Sébastien Loriot 333a0df9d7 also add macro for unreachable 2024-11-08 18:06:42 +01:00
Sébastien Loriot 9f83f94530 assume from c++23 2024-11-08 18:04:24 +01:00
Sébastien Loriot db4404f0cc Merge remote-tracking branch 'cgal/6.0.x-branch' 2024-11-08 16:18:00 +01:00
Laurent Rineau 0d76bb4612 remove QT_NO_KEYWORDS from CGAL::CGAL_Basic_viewer 2024-11-08 16:16:28 +01:00