Commit Graph

113786 Commits

Author SHA1 Message Date
Laurent Rineau d309bc89ce fix typo "and and" 2025-09-30 17:11:15 +02:00
Laurent Rineau f4aa383177 add new runtime debug flags 2025-09-30 12:49:02 +02: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
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
Laurent Rineau 9726fb59bc const-construct vertex_above 2025-09-23 19:00:03 +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
Laurent Rineau 92fab37129 add member fcts to handle vertex marks 2025-09-19 16:20:21 +02:00
Laurent Rineau c5ad5bb113 more concise code 2025-09-19 12:11:28 +02:00
Laurent Rineau 2a8a32d6ad fix Prevent_deref<Union_find::iterator>
`std::iterator_traits` requires that the iterator type defines all five nested types.

I have also modified the implementation of

```c++
make_prevent_deref_range(Range)
```
2025-09-19 11:53:02 +02:00
Laurent Rineau 0b2ebbc23e extract debug output functions from construct_cavities 2025-09-18 16:57:54 +02:00
Laurent Rineau 0273049541 use if-constexpr instead of C++ preprocessor 2025-09-16 16:26:54 +02:00
Laurent Rineau 5cb75b0aa5 fix a CMake warning 2025-09-08 19:21:04 +02:00
Sebastien Loriot 1dabf3b37c
Spelling correction (#9055)
Spelling correction
2025-09-08 09:00:40 +02:00
Sebastien Loriot 47938f6851
fix build of tests/examples/demos for a release (#8989)
Fix issues while building examples/tests/demos for a release (internal
or public)

Fixes #8981
2025-09-05 15:04:17 +02:00
albert-github a816c119bb Spelling correction
Spelling correction
2025-09-04 12:06:19 +02:00
Sébastien Loriot 12f6041f5a Merge remote-tracking branch 'cgal/6.0.x-branch' into `cgal/master` 2025-09-03 16:56:24 +02:00
Sébastien Loriot 8c25c60052 Merge remote-tracking branch 'cgal/5.6.x-branch' into 'cgal/6.0.x-branch' 2025-09-03 16:55:14 +02:00
Sebastien Loriot 06b03c51ce
Fix the handling of non-simply connected faces in the output of clip with plane (#9044)
In case we triangulate, we have only one CDT2
In case we don't triangulate, we arrange intersection polygons and only
triangulate nested polygons (it's a bit more than non-simply connected
faces as the last level of nesting could be handled similarly to simply
connected faces).
2025-09-03 16:49:12 +02:00
Sebastien Loriot 3654f780ae
Initialize the lower bound face in traversal of the AABB-tree for Hausdorff distance (#9041)
## Summary of Changes

Solve issue_7164

## Release Management

* Affected package(s): Polygon_mesh_processing
* Issue(s) solved (if any): fix #7164
* 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: GF
2025-09-03 16:43:23 +02:00
lvalque 24f70c8b3d add an example of issue_7164 with a closed model 2025-09-03 16:41:28 +02:00
lvalque 37f9018997 Initialized the lower bound face in traversal of the AABB-tree to solve issue-7164 2025-09-03 16:41:15 +02:00
Sebastien Loriot dc2b48bed4
Tolerance for FT without sqrt (#9053)
Used at a non critical part used for discretization
2025-09-03 16:37:43 +02:00
Sebastien Loriot 1573340408
Robustify cut plugin (#9037)
Use EPICK + Side_of_triangle_mesh
2025-09-03 16:28:13 +02:00
Sébastien Loriot ca869de993 more macro protections for MSVC 2025-09-02 14:17:59 +02:00
Sébastien Loriot 7a08a00c7a tolerance for FT without sqrt 2025-09-02 10:54:45 +02:00
Sébastien Loriot 46294c0b7a CI... 2025-08-29 10:28:48 +02:00
Sébastien Loriot c0de2cf4a2 move to T2
try fixing CI
2025-08-29 09:55:55 +02:00
Sébastien Loriot 478dab85c1 macro protection 2025-08-29 09:55:15 +02:00
Sébastien Loriot f6bfc3bf96 update license 2025-08-28 10:50:09 +02:00
Sébastien Loriot c2f14177e5 add new tests 2025-08-28 09:17:57 +02:00
Sébastien Loriot 96e67f3048 change to Triangulation_2 license 2025-08-27 20:49:34 +02:00
Sébastien Loriot a027377f09 fix the handling of non-simply connected faces in the output
for now we always triangulate such faces
2025-08-27 17:19:23 +02:00
Sébastien Loriot ae6ffd5e09 use EPICK and Side_of_triangle_mesh 2025-08-20 15:51:33 +02:00
Sebastien Loriot b741ed91ea
Make sure Boost system is also found (#8999) 2025-08-19 11:22:47 +02:00
Sébastien Loriot b2ba32307c Merge remote-tracking branch 'cgal/6.0.x-branch' into 'cgal/6.1.x-branch' 2025-08-13 18:07:09 +02:00
Sébastien Loriot 419057ece4 Merge remote-tracking branch 'cgal/5.6.x-branch' into 'cgal/6.0.x-branch' 2025-08-13 18:05:54 +02:00
Sebastien Loriot c92e8dfd67
Lab: Use std::filesystem instead of boost::filesystem (#9019)
## Summary of Changes



## 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-08-13 18:02:58 +02:00
Sebastien Loriot b857d34444
Fix constness issue (#9018)
Fixes #9017
2025-08-13 18:02:23 +02:00