Commit Graph

114015 Commits

Author SHA1 Message Date
Sven Oesau b090cd8c22 setting Has_static_filters for Epeck to true
fixing static filter for Sphere_3 Iso_cuboid_3 intersection
2025-11-10 16:40:02 +01:00
Sven Oesau 6cb3723772 adding breaking changes for intersections to CHANGES.md
[skip ci]
2025-11-10 09:35:36 +01:00
Sven Oesau b48619311e adding static filter for Sphere_3 Iso_cuboid_3 intersection 2025-11-07 15:59:27 +01:00
Sven Oesau a84957e4bb fixing name collision 2025-11-06 16:30:12 +01:00
Sven Oesau 910ef27657 removing AABB_filtered_traits_2.h and AABB_statically_filtered_traits_2.h 2025-11-06 15:55:34 +01:00
Sven Oesau c68c64e727 removing AABB_filtered_traits_3.h and AABB_statically_filtered_traits_3.h 2025-11-06 15:18:49 +01:00
Sven Oesau b5acb03946 resetting number of generic sphere/iso_cuboid_3 intersection tests 2025-10-30 08:40:31 +01:00
Sven Oesau 69cc884e54 simplifying generic iso_cuboid - sphere intersection tests 2025-10-29 09:34:45 +01:00
Sven Oesau 87cdde6876 fixing types for filtered kernels 2025-10-24 17:07:52 +02:00
Sven Oesau f79fc7fc58 added missing operators in derived class 2025-10-22 14:49:48 +02:00
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