Commit Graph

110887 Commits

Author SHA1 Message Date
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
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
Sébastien Loriot 3abe02075b GMP is not always available 2025-02-01 23:11:25 +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
Sébastien Loriot ca17f813b6 fix debug 2025-01-31 08:57:21 +01:00
Sébastien Loriot f20af1a946 fix the value used creating the infimax box used for pairing halfedges
without the abs the intersection line of x=-1 and z=-1 would be on the box
leading to invalid behavior (and degenerate halfedges)
2025-01-31 08:54:42 +01:00
Andreas Fabri f7a57a6c41 Add smaller failing issue 2025-01-31 08:54:29 +01:00
Laurent Rineau d837dbde21 fix for STL debug mode
It is invalid to try to detect if an iterator is singular or value-initialized.
The only operations allowed with value-initialized iterators are:
  - copy the iterator, or
  - destroy or assign the iterator.

Comparisons like `vertex_it == Vertex_it{}` are not allowed.
2025-01-30 17:51:20 +01:00
Laurent Rineau 571c2ccadc fix compilation errors with C++>=20, or g++12.2.0 2025-01-30 17:39:32 +01:00
Laurent Rineau a45ac3eb69 fix the detection of <format> and std::format 2025-01-29 16:28:48 +01:00
Laurent Rineau c6d6d673af fix compilation error with gcc-12.2 2025-01-29 16:12:04 +01:00
Laurent Rineau 96dbd55463 extra fix for MSVC 2017 in Constrained_Delaunay_triangulation_2 2025-01-29 14:27:43 +01:00
Mael Rouxel-Labbé d3e701473e Merge remote-tracking branch 'cgal/master' into Kernel_23-Fix_dangling_ref_in_CC3-GF 2025-01-28 21:59:50 +01:00
Mael 68e7bfa4aa
Might as well use the real type 2025-01-28 21:07:58 +01:00
Mael Rouxel-Labbé 8c5515bb42 Fix types 2025-01-28 21:05:27 +01:00
Laurent Rineau b701981572 fix another compilation error
VC++ 19.16 thought there was an ambiguous call to `operator==`
between `skip_iterator` and `skip_iterator` in the internals of `boost::iterator_adaptor` (yet another matching bug) of VC++ 19.16).

I solved it by using the more modern `boost::stl_interfaces::iterator_interface` from Boost.STLintface (Boost>=1.74).
2025-01-28 15:27:48 +01:00
Laurent Rineau 7f88e5b0cf fix compilation errors with MSVC 2017 (VC++ 19.16) 2025-01-28 14:01:58 +01:00
Laurent Rineau 5a1f8cdb21 small optimization 2025-01-28 09:44:42 +01:00
Andreas Fabri 17e3878a5a Explain union/intersetion rule better 2025-01-28 07:29:25 +00:00
Sébastien Loriot 1b9dca6e1f use std tuple 2025-01-27 16:06:35 +01:00
Sébastien Loriot 4737f58130 do not use tie when not needed 2025-01-27 14:02:15 +01:00
Sébastien Loriot 3d260ba6eb typo 2025-01-27 10:18:42 +01:00
Laurent Rineau 9fa067cb4d recycle the constraints indices 2025-01-24 19:36:57 +01:00
Laurent Rineau e1e94a1304 fix a warning from UBSAN (in a postcondition) 2025-01-24 18:14:29 +01:00
Laurent Rineau b31c2ddbe1 CDt_plus_2: lots of refactoring
- encapsulate the creation/erasure of constraints in the hierarchy class
- add encapsulation in the hierarchy class, to detect direct uses of members
- add a test of `CDt_plus_2::insert_vertex_in_constraint`, and fix it
- rename `concatenate` and `concatenate2` to
  - `concatenate`
  - `prepend`
  and force a rvalue reference on the argument corresponding to the constraint
  that will be swallowed
- rename `split` to `split_tail` and `split2` to `split_head`
- rename `fix_contexts` to give it a longer self-explaning name
2025-01-24 16:29:56 +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
Sébastien Loriot e4c7edc436 undo init (will be done globally in another PR) 2025-01-24 10:00:20 +01:00
Sébastien Loriot 49b0f52f00 remove no longer valid comment 2025-01-24 08:10:05 +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
Sebastien Loriot 9a7755b31f
Fix bad detection of warnings + remove outdated scripts (#8704)
for examples/tests a warning might be reported as `t`
2025-01-24 08:06:52 +01:00
Sebastien Loriot 8f78a020ed
Correct icon sizes (#8703)
Correct icon sizes

**Without correction**

![image](https://github.com/user-attachments/assets/e4973cb8-09b8-4c81-8348-edef27859de9)

**With correction**

![image](https://github.com/user-attachments/assets/3513ce79-753d-431c-9dcf-83487448654c)
2025-01-24 08:06:03 +01:00
albert-github 8824b917ae Update Documentation/doc/resources/1.8.13/cgal_stylesheet.css
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-01-24 08:04:50 +01:00
albert-github 8a5cbddf72 Update Documentation/doc/resources/1.8.13/cgal_stylesheet.css
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-01-24 08:04:50 +01:00
albert-github 3aa58ef5fb Update Documentation/doc/resources/1.8.13/cgal_stylesheet.css
Looks like it is not necesary for the 1.8.13 version

Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-01-24 08:04:50 +01:00
albert-github e36065c773 Correct icon sizes
Correct icon sizes
2025-01-24 08:04:50 +01:00
Laurent Rineau 310f4bdf4e glue constraints_set.insert(..) and new_constraint_id()
.. to prepare a refactoring
2025-01-23 18:20:21 +01:00
Laurent Rineau 0d84f271d6 whitespace and comments 2025-01-23 18:14:05 +01:00
Laurent Rineau 796190863c derive Ct_plus_2 from the hierarchy
Instead of storing the hierarchy as a data member, store it
as a hidden (protected) base class. That allows to forward
member functions easily with using-declarations. That also avoids
mismatches between the names in the triangulation and the hierarchy.
2025-01-23 17:51:53 +01:00