Sébastien Loriot
9f2fcb5e28
Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main'
2025-11-21 17:41:27 +01:00
Sebastien Loriot
85ef57ffa1
CDT_3 bug-fix: throw exceptions instead of raw crashs (like segfaults) ( #9089 )
...
## Summary of Changes
Bug-fix for `CGAL::Conforming_constrained_Delaunay_triangulation_3` in
CGAL-6.1.
## Release Management
* Affected package(s): Constrained_triangulation_3
* License and copyright ownership: GeometryFactory
2025-11-21 17:40:00 +01:00
Sébastien Loriot
583a8364c9
Merge remote-tracking branch 'cgal/6.1.x-branch' into 'cgal/main'
2025-11-20 10:29:11 +01:00
Sebastien Loriot
3ebe9203a7
Fix PMP on i386/i686 (32 bits, with the x87 FPU) ( #8911 )
...
## Summary of Changes
Fix PMP on i386/i686 (32 bits, with the x87 FPU).
## Release Management
* Affected package(s): PMP, Number_types
2025-11-20 10:28:31 +01:00
Andreas Fabri
4b89f17b42
CGAL: An Halfedge
2025-11-03 14:37:50 +00:00
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
Laurent Rineau
d309bc89ce
fix typo "and and"
2025-09-30 17:11:15 +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
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
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
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