Commit Graph

113829 Commits

Author SHA1 Message Date
Laurent Rineau ef6f9d8c3c fix compilation error without C++20 2025-11-20 11:35:11 +01:00
Laurent Rineau 18e5836373 fix usage of <version>
That C++20 header is already conditionally included bu `<CGAL/config.h>`.

See e6b4d83cff/Installation/include/CGAL/config.h (L322)
2025-11-20 11:35:02 +01:00
Andreas Fabri 3e1a8c110d (std::numeric_limits<std::size_t>::max)() 2025-11-20 11:34:38 +01:00
Laurent Rineau c751ee6bc9 fix for AppleClang 2025-11-12 12:35:12 +01:00
Laurent Rineau 2a5351cc0a
Update Kernel_23/include/CGAL/Kernel/hash_functions.h
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-31 15:40:42 +01:00
Laurent Rineau f508d6fe1d
Update STL_Extension/include/CGAL/unordered_flat_map.h
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-31 15:40:22 +01:00
Laurent Rineau 7f4703e248 fix a warning 2025-10-31 09:47:34 +01:00
Laurent Rineau e13da7cbd4 restore the output 2025-10-31 09:47:34 +01:00
Laurent Rineau 5cc8ec7d71 hide unwanted stats or warnings 2025-10-31 09:47:20 +01:00
Laurent Rineau b5c3b5f895 fix typo 2025-10-29 15:32:11 +01:00
Laurent Rineau ab9e0ebc8a fix a few segfaults 2025-10-29 14:12:50 +01:00
Laurent Rineau 6706e0468e set epsilons to 0 by default 2025-10-29 14:12:50 +01:00
Laurent Rineau fd21dfb67d fix clang warning 2025-10-29 14:12:50 +01:00
Laurent Rineau bc42fb4a40 set the default random 2025-10-29 14:12:50 +01:00
Laurent Rineau 07e0ea785d CDT_3: fix for Epeck 2025-10-29 14:12:50 +01:00
Laurent Rineau edbc32959d refactor debug API so that cdt_3_from_off can use the official API 2025-10-29 14:12:50 +01:00
Laurent Rineau b068e62ffb cleanup of cdt_3_from_off.cpp, and move ITT code to CDT_3 2025-10-29 14:12:50 +01:00
Laurent Rineau b85035ff87 fix warnings 2025-10-29 14:12:50 +01:00
Laurent Rineau c48b4cb6c2 handle isolated non-manifold vertices into constrained faces 2025-10-29 14:12:50 +01:00
Laurent Rineau d34201ed38 fix a conversion warning (-1 converted to `std::size_t`) 2025-10-29 14:12:50 +01:00
Laurent Rineau 15a155ec30 rename to `insert_vertices_range` and use `spatial_sort` 2025-10-29 14:12:50 +01:00
Laurent Rineau e02c1495bf add a declarative RAII macro 2025-10-29 14:12:50 +01:00
Laurent Rineau 28d6ac5e49 missing include 2025-10-29 14:12:50 +01:00
Laurent Rineau 7fe0100855 add other minified data sets from Thingi 2025-10-17 17:15:46 +02:00
Laurent Rineau e7ab5002a3 add the test non_manifold_face_graph.off 2025-10-17 16:31:14 +02:00
Laurent Rineau 940ac3d6e4 try to please AppleCLang 15
- ...by adding an explicit deduction guide.
  - and add -fexperimental-library (so that ranges::join is found).
2025-10-17 11:46:08 +02:00
Laurent Rineau 8746a29fa9 fix warnings about unused arguments or captures 2025-10-17 10:55:55 +02:00
Laurent Rineau bc770242a5 minor: fix a warning 2025-10-16 17:20:34 +02:00
Laurent Rineau 61013d5053 more refactoring 2025-10-16 17:20:20 +02:00
Laurent Rineau d7faad95dd factoring part of the code into a function 2025-10-15 16:30:25 +02:00
Laurent Rineau bac2c06026 refactoring of cdt_3_from_off.cpp 2025-10-14 23:50:17 +02:00
Laurent Rineau 75c2ac5a68 bug-fix: use longest border polyline to compute the normal
fix bug of Thingi 1439534
2025-10-13 17:52:41 +02:00
Laurent Rineau b11e42c4a7 improve the assertion 2025-10-13 17:52:41 +02:00
Laurent Rineau 7d9dbdafcd WIP: copy-paste to merge the two implementation
TODO: extract a common function
2025-10-13 17:52:41 +02:00
Laurent Rineau 21df7dad86 fix a bug
fixes Thingi test cases 200695 and 822697
2025-10-13 17:52:09 +02:00
Laurent Rineau 4d3d2f4f03 simplify the code 2025-10-10 10:35:38 +02:00
Laurent Rineau 626675ea08 use the traits class 2025-10-10 10:33:46 +02:00
Laurent Rineau 71c2425b6e more debug 2025-10-10 10:33:27 +02:00
Laurent Rineau c26c013b5a reorganize some of the debugging code 2025-10-08 15:59:00 +02:00
Laurent Rineau 89393e1b7c improve the minifier for errors 2025-10-03 10:54:40 +02:00
Laurent Rineau ba10efcbe4 more runtime debug possibilities 2025-10-03 09:38:10 +02:00
Laurent Rineau 2a815ff510 add a label to the fdata sets segfaulting with --merge-facets 2025-10-03 09:37:02 +02:00
Laurent Rineau 8c150b865c remove completely the type traits `CGAL::is_complete_v<T>`
- its use would be undefined-behavior if `T` was later defined as complete,
- its implementation was undefined-behavior anyway, because `sizeof` cannot be used on incomplete types
2025-09-30 17:35:12 +02:00
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