Commit Graph

114005 Commits

Author SHA1 Message Date
Sven Oesau 6eb1da989f bugfix 2025-10-22 13:41:17 +02:00
Sven Oesau c611b70101 removed typename 2025-10-21 17:48:35 +02:00
Sven Oesau d03cbd22c5 make filtered kernel types public 2025-10-21 17:45:06 +02:00
Sven Oesau 18ff65ee10 fixed types in AABB_traits_3::Compare_distance & Custom_traits_Hausdorff 2025-10-21 17:30:45 +02:00
Sven Oesau f2d741158d fixed types in AABB_traits_3::Compare_distance 2025-10-21 16:55:07 +02:00
Sven Oesau 632b187e50 removing sphere/box intersection test from Orthtree 2025-10-21 14:04:45 +02:00
Sven Oesau 2d85ffc65b fixed warning 2025-10-21 10:07:07 +02:00
Sven Oesau 02bb7d0c5d updated dependencies 2025-10-17 11:43:10 +02:00
Sven Oesau 753ca1d6e2 fixed point type 2025-10-17 11:08:54 +02:00
Sven Oesau 1b924fd562 moved filtered AABB_traits into own files
added filtered traits for 3d AABB tree
changed behavior of Sphere_3 Iso_cuboid_3 intersection
2025-10-17 08:45:28 +02:00
Sven Oesau 398661b59b updated AABB_tree dependencies 2025-10-08 09:21:19 +02:00
Sven Oesau 324d531dfe Circle_2 - Segment_2 intersection does now consider inclusion as non intersecting 2025-10-07 19:44:49 +02:00
Sven Oesau 6a62e8c214 adding filtered and static filtered AABB_traits_2 2025-10-07 13:12:59 +02:00
Laurent Rineau f77f06eede Merge branch '6.1.x-branch'
# Conflicts:
#	Documentation/doc/resources/1.14.0/menu_version.js
#	Documentation/doc/resources/1.8.13/menu_version.js
#	Documentation/doc/resources/1.9.6/menu_version.js
#	Installation/include/CGAL/version.h
#	Installation/lib/cmake/CGAL/CGALConfigVersion.cmake
2025-10-01 16:29:04 +02:00
Laurent Rineau 10a9d44a10 next version on this branch will be 6.1.1 2025-10-01 16:25:25 +02:00
Sébastien Loriot 70baa7f940 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-09-28 17:11:10 +02:00
Sebastien Loriot b26b07a124
bug-fix CDT_3 (#9081)
_Please use the following template to help us managing pull requests._

## Summary of Changes

_Describe what your pull request changes to CGAL (this can be skipped if
it solves an issue already in the tracker or if it is a Feature or Small
Feature submitted to the CGAL Wiki)._

## Release Management

* Affected package(s):
* Issue(s) solved (if any): fix #0000, fix #0000,...
* Feature/Small Feature (if any):
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership:
2025-09-28 17:10:21 +02:00
Sebastien Loriot 2fd9aed0b6
Surface_mesh: Fix collect_garbage() (#9087)
## Summary of Changes

Fix the function for meshes that are not valid.

## Release Management

* Affected package(s): Surface_mesh
* Issue(s) solved (if any): fix #9086
* License and copyright ownership:  unchanged
2025-09-28 17:09:05 +02:00
Sébastien Loriot 1536d9db5d eof 2025-09-27 08:34:05 +02:00
Sebastien Loriot 9cdaacb7d0
warnings 2025-09-27 08:32:50 +02:00
Andreas Fabri 4176a2a551 Surface_mesh: Fix collect_garbage in case mesh is not valid 2025-09-26 12:57:29 +01:00
Laurent Rineau b5a180d9df fix the confusion between `handle` and `const_handle` 2025-09-26 10:22:15 +02:00
Laurent Rineau 757cc8525d fix a warning
```
warning: array subscript 5 is outside array bounds of ‘std::array<const CGAL::Point_3<CGAL::Epick>*, 3> [1]’ [-Warray-bounds=]
```
2025-09-25 16:36:37 +02:00
Laurent Rineau 79cb90d5e7 fix warning
```
In constructor ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = CGAL::Triangle_3<CGAL::Epick>; _U2 = bool; _T1 = CGAL::Triangle_3<CGAL::Epick>; _T2 = bool]’,
    inlined from ‘constexpr std::pair<typename std::__strip_reference_wrapper<typename std::decay<_Tp>::type>::__type, typename std::__strip_reference_wrapper<typename std::decay<_Tp2>::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = CGAL::Triangle_3<CGAL::Epick>; _T2 = bool]’ at /usr/include/c++/15/bits/stl_pair.h:1169:72,
    inlined from ‘std::pair<CGAL::Triangle_3<CGAL::Epick>, bool> CGAL::Epic_converter<IK>::operator()(const typename IK::Triangle_3&) const [with IK = CGAL::Simple_cartesian<CGAL::Interval_nt<false> >]’ at /mnt/testsuite/include/CGAL/Epic_converter.h:224:28:
/usr/include/c++/15/bits/stl_pair.h:464:11: warning: ‘<unnamed>’ may be used uninitialized [-Wmaybe-uninitialized]
  464 |         : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y))
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

-> Use the default constructor of the pair, instead of `make_pair`.
2025-09-25 16:28:13 +02:00
Laurent Rineau 7df5c3a7bb fix warning: captured structured bindings are a C++20 extension [-Wc++20-extensions] 2025-09-25 16:26:13 +02:00
Laurent Rineau 88f9f00922 fix warning -Wstringop-overflow
Fix that warning, due to a copy of `tuple<Point, int, int>` in compare operators for `std::sort` and `std::unique`, in `CGAL::Polygon_mesh_processing::autorefine_impl::collect_intersections`.

```
In member function ‘std::__atomic_base<_IntTp>::__int_type std::__atomic_base<_IntTp>::fetch_add(__int_type, std::memory_order) [with _ITp = int]’,
    inlined from ‘void CGAL::Handle::incref() const’ at /mnt/testsuite/include/CGAL/Handle.h:87:29,
    inlined from ‘CGAL::Handle::Handle(const CGAL::Handle&)’ at /mnt/testsuite/include/CGAL/Handle.h:55:13,
    inlined from ‘CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >::Lazy(const CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> > >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<__gmp_expr<__mpq_struct [1], __mpq_struct [1]> >, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, CGAL::Interval_nt<false> > > >&)’ at /mnt/testsuite/include/CGAL/Lazy.h:877:7,
    inlined from ‘CGAL::Point_3<CGAL::Epeck>::Point_3(const CGAL::Point_3<CGAL::Epeck>&)’ at /mnt/testsuite/include/CGAL/Point_3.h:30:7,
    inlined from ‘std::_Head_base<_Idx, _Head, false>::_Head_base(const std::_Head_base<_Idx, _Head, false>&) [with long unsigned int _Idx = 0; _Head = CGAL::Point_3<CGAL::Epeck>]’ at /usr/include/c++/15/tuple:208:17,
    inlined from ‘std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl(const std::_Tuple_impl<_Idx, _Head, _Tail ...>&) [with long unsigned int _Idx = 0; _Head = CGAL::Point_3<CGAL::Epeck>; _Tail = {int, int}]’ at /usr/include/c++/15/tuple:318:17,
    inlined from ‘std::tuple< <template-parameter-1-1> >::tuple(const std::tuple< <template-parameter-1-1> >&) [with _Elements = {CGAL::Point_3<CGAL::Epeck>, int, int}]’ at /usr/include/c++/15/tuple:1502:17,
    inlined from ‘bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = std::tuple<CGAL::Point_3<CGAL::Epeck>, int, int>; _Iterator = __gnu_cxx::__normal_iterator<std::tuple<CGAL::Point_3<CGAL::Epeck>, int, int>*, std::vector<std::tuple<CGAL::Point_3<CGAL::Epeck>, int, int> > >; _Compare = CGAL::Polygon_mesh_processing::autorefine_impl::collect_intersections<CGAL::Epeck>(const std::array<CGAL::Point_3<CGAL::Epeck>, 3>&, const std::array<CGAL::Point_3<CGAL::Epeck>, 3>&, std::vector<std::tuple<CGAL::Point_3<CGAL::Epeck>, int, int> >&)::<lambda(auto:82, auto:83)>]’ at /usr/include/c++/15/bits/predefined_ops.h:240:23,
    inlined from ‘void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<tuple<CGAL::Point_3<CGAL::Epeck>, int, int>*, vector<tuple<CGAL::Point_3<CGAL::Epeck>, int, int> > >; _Compare = __gnu_cxx::__ops::_Val_comp_iter<CGAL::Polygon_mesh_processing::autorefine_impl::collect_intersections<CGAL::Epeck>(const std::array<CGAL::Point_3<CGAL::Epeck>, 3>&, const std::array<CGAL::Point_3<CGAL::Epeck>, 3>&, std::vector<std::tuple<CGAL::Point_3<CGAL::Epeck>, int, int> >&)::<lambda(auto:82, auto:83)> >]’ at /usr/include/c++/15/bits/stl_algo.h:1758:20:
/usr/include/c++/15/bits/atomic_base.h:631:34: warning: ‘unsigned int __atomic_fetch_add_4(volatile void*, unsigned int, int)’ writing 4 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
  631 |       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
      |                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
```

See for example https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.2-Ic-6/Constrained_triangulation_3_Examples/TestReport_cgaltest_Fedora-rawhide-Release.gz
2025-09-25 16:25:37 +02:00
Sébastien Loriot 8da5ed6680 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-09-24 20:18:03 +02:00
Sebastien Loriot 23e624b0e8
Fix the initial edge size in the 2D case (#9078)
Workaround for #8902 for 6.1 waiting for a better solution
2025-09-24 20:10:53 +02:00
Laurent Rineau 3f088282c5 add comments
add comments
2025-09-24 18:32:39 +02:00
Laurent Rineau 44e3994c51 careful when the union-find has only one set 2025-09-24 18:31:20 +02:00
Laurent Rineau 1a2c061364 add another way to reduce to two sets with union-find 2025-09-24 18:29:42 +02:00
Laurent Rineau f6ebe208e9 extract a member function `detect_edges_and_cells_intersecting_region` 2025-09-24 16:59:32 +02:00
Laurent Rineau 5e80ca60bb fix when CGAL_CDT_3_CAN_USE_CXX20_FORMAT is false 2025-09-23 21:37:55 +02:00
Laurent Rineau 538c2721b3 add border_facet_above 2025-09-23 21:30:59 +02:00
Laurent Rineau 9a241b2a9d const-construct facets_of_border 2025-09-23 21:30:59 +02:00
Sébastien Loriot ca5f64b973 suggestion from @gdamiand 2025-09-23 19:53:23 +02:00
Sebastien Loriot bec36a30b0
Misc fixes for the doc of do_intersect / Intersect combinations (#9075)
# Release Management

* Affected package(s): Kernel_23 / Circular|Spherical_kernel
* Issue(s) solved (if any): fix #8756
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2025-09-23 19:49:12 +02:00
Laurent Rineau 9726fb59bc const-construct vertex_above 2025-09-23 19:00:03 +02:00
Sébastien Loriot 31901d0197 fix the initial edge size in the 2D case 2025-09-22 16:53:02 +02:00
Sebastien Loriot 4c97f3ea85
Dt2 remove: replace thread_local vectors by arrays (#9060)
## Summary of Changes

Fix issue #9058.

In `CGAL::Delaunay_triangulation_2`, replace thread_local vectors by
`std::array` on the stack.

## Release Management

* Affected package(s): Triangulation_2
* Issue(s) solved (if any): fix #9058
* License and copyright ownership: no change, maintenance by
GeometryFactory
2025-09-22 12:06:33 +02:00
Sebastien Loriot 7a311ec821
cosmetic improvements of CMake outputs (#9063)
## Summary of Changes

cosmetic improvements of CMake outputs

### set `FOLDER` for sub-directories of CGAL

In VS Code, the CMake project outline is much cleaner if CGAL is
configured with examples and demos:

<img width="416" height="574" alt="Screenshot_20250911_154221"
src="https://github.com/user-attachments/assets/f39f4ea5-317b-4f2d-ba75-e04691674c27"
/>

### set `CMAKE_MESSAGE_INDENT` to indent the outputs in sub-folders

The output messages from sub-directories are indented, now:

```
== Generating build files for examples ==
-- Configuring examples in examples/AABB_tree
-- Configuring examples in examples/Advancing_front_surface_reconstruction
-- Configuring examples in examples/Algebraic_foundations
-- Configuring examples in examples/Algebraic_kernel_d
  NOTICE: This project requires the MPFI library and GMP support, and will not be compiled.
-- Configuring examples in examples/Alpha_shapes_2
-- Configuring examples in examples/Alpha_shapes_3
-- Configuring examples in examples/Alpha_wrap_3
-- Configuring examples in examples/Apollonius_graph_2
-- Configuring examples in examples/Arrangement_on_surface_2
--   Boost include dirs: /usr/include
--   Boost libraries:    
--   Using gcc version 4 or later. Adding -frounding-math
-- Configuring examples in examples/BGL_LCC
-- Configuring examples in examples/BGL_OpenMesh
-- Configuring examples in examples/BGL_arrangement_2
-- Configuring examples in examples/BGL_graphcut
-- Configuring examples in examples/BGL_polyhedron_3
2025-09-22 12:04:29 +02:00
Sébastien Loriot 947c9d0370 Merge pull request #9049 from soesau/CGAL-warnings-GF
Fixing warnings (mostly unused variables)
2025-09-22 12:01:07 +02:00
Sebastien Loriot 39c7001a25
Stream Support: Return false if nothing was read (#9038)
## Summary of Changes

The `read_..._WKT()` functions have `bool` as return type, but currently
only check if the stream is bad, which is not the case if no input was
read.

This PR was triggered by the fact that CGALlab could not WTK files with
polygons, but only polylines. It now can read polygons, but does only
draw the contours and not the interior.

## Release Management

* Affected package(s): Stream_support
* License and copyright ownership:  unchanged
2025-09-22 12:00:10 +02:00
Sebastien Loriot 521883477d
CGAL: Adress Wunused-but-set-variable (#9040)
## Summary of Changes

### Todo

In the issue I had questions to @soesau and @janetournois 

## Release Management

* Affected package(s): 
* Issue(s) solved (if any): fix #9039
* License and copyright ownership: unchanged
2025-09-22 11:58:40 +02:00
Sebastien Loriot 6974230f15
Remove % as Boolean does not get linked. (#9068)
## Release Management

* Affected package(s): Polygon_repair
2025-09-22 11:56:22 +02:00
Laurent Rineau f017011037 rename `master` to `main` in our scripts 2025-09-19 17:32:59 +02:00
Laurent Rineau 7267b3a347 refactor the definition of vertex_below_handle 2025-09-19 16:40:58 +02:00
Laurent Rineau 9d08d4087d missing is_marked 2025-09-19 16:40:12 +02:00
Laurent Rineau 489a9675dd fix iwyu warnings 2025-09-19 16:39:32 +02:00
Mael Rouxel-Labbé a5608f85dc Add missing header 2025-09-19 16:22:33 +02:00