Commit Graph

112103 Commits

Author SHA1 Message Date
Sven Oesau 0acf9cc588 renaming poisson_eliminate example 2025-02-09 18:18:59 +01:00
Léo Valque bc35e39e1c add the cgalModels to int.h 2025-02-07 16:54:06 +01:00
Léo Valque 30a8e52c51 Replace Sqrt with KthRoot and modify description of longlong int 2025-02-07 16:19:29 +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
Sébastien Loriot 00bf449e04 restore test 2025-02-06 20:57:28 +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 bc44c91536 add a benchmark for Polyline_simplification_2
Using the tool `compare.py` from [Google Benchmark Tools][1]...

[1]: https://github.com/google/benchmark/blob/main/docs/tools.md

...given that:

  - `benchmark_simplify-AFTER` is the file `benchmark_simplify.cpp`
    compiled from this branch, and flags `-msse3  -DNDEBUG -O3`
    with gcc version 14.2.1,
  - `benchmark_simplify-BEFORE` is the same file
    compiled from the branch `master`, and same flags and compiler.

the command line was:

```shell
compare.py benchmarks build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-BEFORE build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-AFTER Data/data/wkt/norway-MP.wkt --benchmark_repetitions=20 --benchmark_counters_tabular=true --benchmark_time_unit=s
```

The following results show that there is a speedup
of about 15% (mean) or 18% (median)

```
RUNNING: build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-BEFORE Data/data/wkt/norway-MP.wkt --benchmark_repetitions=20 --benchmark_counters_tabular=true --benchmark_time_unit=s --benchmark_out=/tmp/tmpvxyq_i24
2025-02-06T17:23:08+01:00
Running Data/data/wkt/norway-MP.wkt
Run on (16 X 800 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x8)
  L1 Instruction 32 KiB (x8)
  L2 Unified 1280 KiB (x8)
  L3 Unified 24576 KiB (x1)
Load Average: 1.47, 2.07, 1.65
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                 Time             CPU   Iterations    #points  #polygons #polylines nb of constraints nb of sub-constraints nb of vertices
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
simplify file Data/data/wkt/norway-MP.wkt             0.067 s         0.067 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.066 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.065 s         0.065 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.073 s         0.072 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.066 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.067 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.071 s         0.071 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.074 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.066 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.075 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.074 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.076 s         0.076 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.078 s         0.078 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.074 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.067 s         0.067 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.069 s         0.069 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_mean        0.069 s         0.069 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_median      0.067 s         0.067 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_stddev      0.005 s         0.005 s            20          0          0          0                 0                     0              0
simplify file Data/data/wkt/norway-MP.wkt_cv           6.73 %          6.68 %            20      0.00%      0.00%      0.00%             0.00%                 0.00%          0.00%
RUNNING: build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-AFTER Data/data/wkt/norway-MP.wkt --benchmark_repetitions=20 --benchmark_counters_tabular=true --benchmark_time_unit=s --benchmark_out=/tmp/tmp59ui0dsw
2025-02-06T17:29:26+01:00
Running Data/data/wkt/norway-MP.wkt
Run on (16 X 800.961 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x8)
  L1 Instruction 32 KiB (x8)
  L2 Unified 1280 KiB (x8)
  L3 Unified 24576 KiB (x1)
Load Average: 1.61, 1.94, 1.73
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                 Time             CPU   Iterations    #points  #polygons #polylines nb of constraints nb of sub-constraints nb of vertices
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.057 s         0.057 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.059 s         0.059 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.065 s         0.065 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.058 s         0.058 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.056 s         0.056 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.053 s         0.053 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.061 s         0.061 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.058 s         0.058 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.052 s         0.052 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.055 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.055 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.059 s         0.059 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.057 s         0.057 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.058 s         0.057 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.055 s         0.055 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.059 s         0.059 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_mean        0.057 s         0.057 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_median      0.057 s         0.056 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_stddev      0.003 s         0.003 s            20          0          0          0                 0                     0              0
simplify file Data/data/wkt/norway-MP.wkt_cv           5.37 %          5.32 %            20      0.00%      0.00%      0.00%             0.00%                 0.00%          0.00%
Comparing build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-BEFORE to build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-AFTER
Benchmark                                                          Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------------------------------------
simplify file Data/data/wkt/norway-MP.wkt                       -0.1941         -0.1942             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1269         -0.1272             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.0900         -0.0918             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1049         -0.1065             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1204         -0.1206             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1279         -0.1282             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1962         -0.1961             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1370         -0.1377             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.0951         -0.0962             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1851         -0.1852             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2720         -0.2716             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1702         -0.1717             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2700         -0.2703             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2644         -0.2634             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2861         -0.2856             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2492         -0.2488             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2310         -0.2301             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1382         -0.1389             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1401         -0.1406             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1464         -0.1467             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_pvalue                 0.0000          0.0000      U Test, Repetitions: 20 vs 20
simplify file Data/data/wkt/norway-MP.wkt_mean                  -0.1804         -0.1806             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_median                -0.1547         -0.1549             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_stddev                -0.3458         -0.3479             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_cv                    -0.2018         -0.2041             0             0             0             0
OVERALL_GEOMEAN                                                 -0.1797         -0.1800             0             0             0             0
```
2025-02-06 17:44:28 +01:00
Sven Oesau bf027e210f adding documentation 2025-02-06 16:16:48 +01:00
Sven Oesau 1c8fc608df cleaning and simplifying poisson_eliminate example 2025-02-06 15:25:47 +01:00
Sven Oesau 914d51ecd2 adding test 2025-02-06 15:25:09 +01:00
Sven Oesau a6882f45f2 adapting poisson_eliminate.h after moving to PSP3 2025-02-06 15:24:35 +01:00
Léo Valque d76edec2f0 Correct documentation mistakes in double.h and long_double.h 2025-02-06 14:29:58 +01:00
Sven Oesau 636721e7f5 doc typo fix 2025-02-06 13:09:58 +01:00
Sven Oesau 88163cc512 typo fix 2025-02-06 13:03:41 +01:00
Léo Valque 931ae674d2 add a reference to repair rule group in the description of repair for more clarity 2025-02-06 12:58:36 +01:00
Sven Oesau 71682b669e added moved files
added default file for example
2025-02-06 12:36:01 +01:00
Léo Valque 1407790f6c Doc: Improve description of the repair rules of Repair_polygon and create a group Repair Rules 2025-02-06 11:21:14 +01:00
Sven Oesau 531e612e5f fix warnings 2025-02-06 10:34:41 +01:00
Mael Rouxel-Labbé 07d7615d91 Require a FaceGraph for boundary checks 2025-02-06 10:16:10 +01:00
Sébastien Loriot ab1983a066 another missing tuple 2025-02-06 09:09:47 +01:00
Laurent Rineau 765744e8b2 fix WKT I/O error handling 2025-02-06 01:22:02 +01:00
Laurent Rineau 050677f002 add CMake option CGAL_with_benchmarks 2025-02-06 01:21:42 +01:00
Sven Oesau 7134b3808c moved poisson disk elimination to PSP3 2025-02-05 21:13:56 +01:00
Sven Oesau f41a0a2e78 working poisson disk elimination 2025-02-05 17:27:20 +01:00
Sébastien Loriot 6f65025259 use std tuple 2025-02-05 16:54:18 +01:00
Camille Lanuel 15e7ebff89 Merge branch 'Hyperbolic_surface_triangulation_2-dubois' of github.com:loic-dubois/cgal into Hyperbolic_surface_triangulation_2-dubois 2025-02-05 15:45:55 +01:00
Camille Lanuel 6498676c41 bug fix 2025-02-05 15:45:51 +01:00
Sven Oesau 9f049bd425 added missing header 2025-02-05 14:40:43 +01:00
Laurent Rineau 249a6ac47e
typo correction (#8728)
Spelling correction
2025-02-05 13:57:16 +01:00
Sven Oesau 61ab2d3bfd bugfix 2025-02-05 13:47:31 +01:00
Sven Oesau 408730b30a Median_of_rectangle: prevent using largest span of bbox as split axis when actual spread is 0 2025-02-05 13:29:02 +01:00
Sven Oesau 275096efe1 fix warnings 2025-02-05 10:59:15 +01:00
albert-github 26c3e9cd21 Spelling correction
Spelling correction
2025-02-05 10:28:46 +01:00
Sébastien Loriot a6eff02a62 Merge remote-tracking branch 'cgal/6.0.x-branch' into master 2025-02-05 08:42:33 +01:00
Sébastien Loriot 5a61b6a994 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-02-05 08:40:26 +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
Sebastien Loriot 8675d06ea1
Nef_3: Fix issue with the size of the inf box (#8646)
## Summary of Changes

Fixes Issue #8644

## Release Management

* Affected package(s): Nef_3
* Issue(s) solved (if any): fix #
* License and copyright ownership:  unchanged
2025-02-05 08:26:27 +01:00
Sébastien Loriot 224acc14c7 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-02-05 08:25:32 +01:00
Sébastien Loriot 1523772379 Merge pull request #8690 from MaelRL/SLS-API_fixes-6.0.x-GF
Fix API issues in 2D Straight Skeletons (6.0.x)
2025-02-05 08:25:27 +01:00
Sebastien Loriot b81fce1e96
Fix API issues in 2D Straight Skeletons (5.6.x) (#8688)
## Summary of Changes

Fix a number of doc / API issues in 2D straight skeletons, and add more
tests.

TODO:
- [x] More API tests in weighted skeletons
- [x] 6.0.1 version to deal with boost::shared_ptr -> std::shared_ptr

## Release Management

* Affected package(s): `Straight_skeleton_2`
* Issue(s) solved (if any): fix #8686
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2025-02-05 08:24:24 +01:00
Sebastien Loriot f72e69f8af
Fix warnings (#8712)
Revealed by #8704
2025-02-05 08:20:29 +01:00
Jane Tournois f24d3ca97f use Dijkstra_end_exception instead of std::exception 2025-02-04 18:50:34 +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 a64af9881a doc 2025-02-03 15:43:00 +01:00
Jane Tournois dc3fabfb66 use shortest_path_between_two_vertices() in demo 2025-02-03 15:42:44 +01:00
Jane Tournois 96cd968423 a little bit of doc + rename "mesh" to "graph" 2025-02-03 12:41:19 +01:00