Commit Graph

6562 Commits

Author SHA1 Message Date
Sebastien Loriot d13510bdee
Add missing function doc links (#9074)
## Summary of Changes

Fix missing links in doc.

tentative TODO:
- [ ] Check all \`.+\(.+\).*\` --> stopped at BGL
- [ ] Plenty of wrong links for the overloaded functions like <em>A
shortcut to `CGAL::draw(vd2,
Graphics_scene_options_voronoi_diagram_2{})`.</em>, which points to
`CGAL::draw(T2)`.

## Release Management

* Affected package(s): Various
* Issue(s) solved (if any): https://github.com/CGAL/cgal/issues/7839
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2025-10-17 15:29:09 +02:00
Sébastien Loriot a84ae55fd7 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-10-17 11:45:35 +02:00
Sébastien Loriot 3bfc5f32f5 Merge remote-tracking branch 'cgal/6.0.x-branch' into 'cgal/6.1.x-branch' 2025-10-17 11:44:39 +02:00
Sébastien Loriot 42068f6009 handle case of identical projected points 2025-10-15 11:03:16 +02:00
Sven Oesau 46ba009009 another std::size_t to int conversion 2025-10-07 10:12:03 +02:00
Sven Oesau 1a07d25cc3 fixing some conversion warnings 2025-10-06 16:06:42 +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
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
Mael Rouxel-Labbé 0721be1a58 Use \link / \ref to add missing links of functions with parameters 2025-09-19 00:26:17 +02:00
Sébastien Loriot 72cfcc4156 Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-09-03 16:57:03 +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
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
Sébastien Loriot ca869de993 more macro protections for MSVC 2025-09-02 14:17:59 +02:00
Sébastien Loriot 478dab85c1 macro protection 2025-08-29 09:55:15 +02:00
Sébastien Loriot c2f14177e5 add new tests 2025-08-28 09:17:57 +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 2ae34a22ba Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main' 2025-08-13 18:09:36 +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
Sébastien Loriot fdd7c17ec1 avoid large dag in centroid 2025-08-07 18:20:20 +02:00
Sebastien Loriot d731405249
PMP: Fix slow compute_vertex_normal() (#8684)
## Summary of Changes

For the testcase provided in this PR `compute_vertex_normal()` is
particularly slow. A vertex has a fan of incident faces with identical
normal. As the first fix tests with `operator==(Vector_3,Vector_3)` it
is still slow when the object is slightly rotated or perturbed. With a
bound on the angle between normals it is fixed, but is that acceptable?
For `double` probably. Do we have to specialize for exact number types?

## Release Management

* Affected package(s): PMP
* License and copyright ownership: GF
2025-08-05 16:22:21 +02:00
Sébastien Loriot c259a7f429 actually from the doc the constness issue is in the default visitor... 2025-08-04 15:40:45 +02:00
Sébastien Loriot f0752ec894 fix constness issue 2025-08-04 15:24:50 +02:00
Sebastien Loriot 6a733bbf47
Allow Side_of_triangle to take ownership on an external AABB-tree (#9007)
Convenient for using only a subset of faces for example, or to force the
building of the tree
2025-08-04 08:40:04 +02:00
Sébastien Loriot 8e0f2d6f73 Merge remote-tracking branch 'cgal/6.0.x-branch' into 'cgal/master' 2025-07-31 15:19:07 +02:00
Sébastien Loriot 28eee36cb6 Merge remote-tracking branch 'cgal/5.6.x-branch' into 'cgal/6.0.x-branch' 2025-07-31 15:15:52 +02:00
Sébastien Loriot 9dcbc58ec9 add a constructor taking a lvalue of an AABB-tree
we can construct the tree for a subset of faces and still give the ownership to the class
2025-07-31 11:12:38 +02:00
lvalque 748fa237da replace boost::small_vector by std::array 2025-07-30 11:37:43 +02:00
lvalque d0a7b6748b remove unused functor 2025-07-29 17:00:39 +02:00
lvalque 952eb52c5f Merge branch 'PMP-slow_vertex_normal-GF' of github.com:afabri/cgal into PMP-slow_vertex_normal-AFabri 2025-07-29 09:51:28 +02:00
lvalque d19ae8a395
Update Polygon_mesh_processing/test/Polygon_mesh_processing/slow_compute_normal.cpp
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2025-07-28 17:51:16 +02:00
lvalque 1b830ee23c
Apply suggestions from code review
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2025-07-28 16:44:29 +02:00
Sébastien Loriot d182dabf94 cannot collapse only if one of the two vertex is not constrained
+ fill maps only if required
2025-07-28 15:41:20 +02:00
lvalque 37262f5f7e include of small_vector.hpp was missing 2025-07-28 15:08:14 +02:00
lvalque 20d1c99950 adjust the error_bound to be consistant with the one in does_enclose_other_normal 2025-07-18 17:07:42 +02:00
lvalque 7840dc8506 Remove the old algorithm in n^4 2025-07-18 16:50:12 +02:00
lvalque 1d27b1ae44 Factorization and cleanup of compute_vertex_normal_most_visible_min_circle() 2025-07-18 16:47:48 +02:00
lvalque 06787e2246 Merge branch 'PMP-slow_vertex_normal-GF' of github.com:LeoValque/cgal into PMP-slow_vertex_normal-GF 2025-07-12 20:21:30 +02:00
albert-github 12cde5b685 Spelling correction
After review: euclidean -> Euclidean
2025-06-27 13:04:28 +02:00
albert-github 7a512655f1 Spelling correction
Spelling correction
2025-06-27 10:56:21 +02:00
Sébastien Loriot 27a7cef2fb Merge pull request #8744 from LeoValque/PMP_triangle_soup_rounding-GF
Add do_snap parameter to PMP::autorefine_triangle_soup
2025-06-26 22:01:58 +02:00
Sébastien Loriot 78cfeacf01 Merge pull request #8186 from lrineau/Triangulation_3-CDT_3-lrineau
New package: CGAL 3D conforming constrained Delaunay triangulations
2025-06-26 21:57:17 +02:00
Sebastien Loriot d961dd767a
Add extra condition (#8930)
avoid the user to be surprised that the topology cannot be restored if
not all CC are sampled
2025-06-26 21:48:01 +02:00
Jane Tournois 58e52e7dad avoid risk of dangling reference, using RVO
fix a warning on Debian
2025-06-24 15:08:36 +02:00
albert-github 7385518583 Warnings during table generation in documentation
With doxygen release1.14.0 doxygen is a bit stricter regarding handling tables (not ignoring superfluous tags), it now leads to some warnings (and unexpected results).
2025-06-23 14:54:04 +02:00
Sébastien Loriot 6905ab2b21 backticks 2025-06-23 12:01:05 +02:00
Sébastien Loriot dc31a8ce3a add precondition about single CC mesh 2025-06-23 11:36:13 +02:00
Léo Valque 69a00534f8 Solve bug in compute normals 2025-06-11 11:24:26 +02:00