Sébastien Loriot
a4170b1fb9
Merge pull request #8586 from MaelRL/Kernel_23-Fix_dangling_ref_in_CC3-GF
...
Do not rely on result_type definitions in kernels
2025-04-03 16:12:09 +02:00
Mael Rouxel-Labbé
df6919026e
Fix return type of point on plane constructions
...
You could legally have a kernel that uses a custom point type,
but PlaneC3 as its plane type.
2025-03-25 23:15:19 +01:00
Mael Rouxel-Labbé
3b7a4ed21e
Merge remote-tracking branch 'cgal/master' into Kernel_23-Fix_dangling_ref_in_CC3-GF
2025-01-16 11:52:34 +01:00
Mael Rouxel-Labbé
d2f6836a60
Use CGAL_AND
2025-01-16 10:42:21 +01:00
Mael Rouxel-Labbé
604103d035
Regroup definitions of operator<=> for kernel objects + add missing
2025-01-16 10:39:21 +01:00
Mael Rouxel-Labbé
2f825080d5
Use the kernel's Boolean and enums
2025-01-16 10:37:38 +01:00
Mael Rouxel-Labbé
d02e817bc1
Get rid of result types in function objects of Circular_kernel_23
2025-01-08 17:25:20 +01:00
Mael Rouxel-Labbé
b7de40afce
Update enum_cast<Uncertain> calls to new API
2025-01-08 17:17:55 +01:00
Mael Rouxel-Labbé
9c517a47a2
Fix bad return types
2024-12-20 16:14:40 +01:00
Mael Rouxel-Labbé
4d4549cad6
Get rid of result_type in Kernels + fix some bad return types (wip)
2024-12-20 16:13:35 +01:00
Mael Rouxel-Labbé
181ccd2275
More instances of result_type --> dcltype(auto)
2024-11-06 11:25:47 +01:00
Mael Rouxel-Labbé
ee451ed469
Fix dangling reference in Construct_center_3(Circle_3)
...
This fixes the issue, but it could still be broken e.g. by a kernel
that is based on a CGAL kernel, but redefines the Sphere_3 and
with Sphere_3-functor that would not return a const& (or in that
case the custom kernel needs to define the appropriate functors
too...)
But so much breaks into this configuration, that it's out of scope
for this fix.
2024-11-03 18:09:45 +01:00
Laurent Rineau
e9fb0190c3
Merge pull request #7373 from sloriot/Kernel-Perfect_forwarding
...
Add some perfect forwarding in the Kernel
2024-05-15 16:12:23 +02:00
Laurent Rineau
2bb3f9a0d3
make_array is not useful here
2024-04-19 17:24:24 +02:00
Laurent Rineau
d48ca93f64
fix the logic
2024-03-29 11:34:43 +01:00
Laurent Rineau
50c9740cff
fix the use of rvalue references
2024-03-27 23:18:33 +01:00
Laurent Rineau
1926ffd619
Merge remote-tracking branch 'cgal/master' into Kernel-Perfect_forwarding
2024-03-27 17:00:45 +01:00
Laurent Rineau
d6c39e52bd
fixes
...
Use:
- perfect forwarding in objects of the kernel (`Point_2`, `Point_3`,
`Vector_2`, `Vector_3`), and also in `PointC2`, and `PointC3`
(that forward to the equivalent vector)
- constructors with rvalue references in `VectorC2` and `VectorC3`.
2024-03-27 15:56:03 +01:00
Laurent Rineau
9c5653dedc
fix the dimension 2
2024-03-27 10:49:53 +01:00
Laurent Rineau
098df72644
remove a useless constructor
2024-03-27 10:49:18 +01:00
Sven Oesau
86fe47c7f7
re-add Construct_projected_point_2 for 2d closest point query
2024-03-21 12:03:57 +01:00
Sébastien Loriot
57062536c3
another forgotten revert
2024-03-21 10:32:06 +01:00
Sven Oesau
3f9c5222e2
WIP: adding Construct_projected_point_2 for point onto segment and point onto triangle
2024-03-06 18:23:39 +01:00
Sven Oesau
911ac1a34d
added Construct_projected_point_2(Segment_2, Point_2)
2024-03-05 15:54:27 +01:00
Andreas Fabri
6c1185d60b
Add AABB_triangle_primitive_2
2024-03-05 10:03:52 +00:00
Andreas Fabri
84362a2b1e
Add Construct_projected_point_2::operator()(Segment_2,Point_2)
2024-03-04 15:42:49 +00:00
Andreas Fabri
25ad1dc064
Kernel_23: Exploit Uncertain in collinear_3()
2023-10-23 14:45:26 +01:00
Sébastien Loriot
fbd24d665d
add version for Point_2/Vector_2
2023-10-09 12:30:37 +02:00
Sébastien Loriot
9cdfe70abb
Merge remote-tracking branch 'sloriot/CGAL-toward_6.0'
2023-06-15 11:34:09 +02:00
Sébastien Loriot
9a0bdb5d96
boost::variant ---> std::variant
2023-06-15 10:57:10 +02:00
Sébastien Loriot
604dcdc435
boost::optional => std::optional
2023-06-15 10:57:09 +02:00
Laurent Rineau
74a0aa8c20
Cstr_point_[23]: simplify the different overloads
...
One perfect forwarding is enough.
2023-04-26 17:12:06 +02:00
Sébastien Loriot
72624bb0f1
fix narrowing
2023-04-26 09:55:14 +02:00
Sébastien Loriot
c0ec1b96f5
fix after Laurent's comment
2023-04-07 11:28:20 +02:00
Laurent Rineau
1dce90ee79
Merge remote-tracking branch 'cgal/master' into CGAL-allow_Epick_with_float-GF
2023-04-07 10:59:51 +02:00
Andreas Fabri
6dec6c320d
More forwarding
2023-04-06 17:49:24 +01:00
Sébastien Loriot
8d062a88ce
example of perfect forwarding for Point_3
2023-04-06 17:25:17 +02:00
Laurent Rineau
78e2d5e4d2
Merge pull request #6478 from afabri/Nef_3-replace_deque_by_vector_and_reserve-GF
...
Nef_3: Add overloads with ORIGIN in predicates
2023-03-02 13:42:35 +01:00
Sébastien Loriot
9e137bca24
Merge 'cgal/master'
2023-01-31 12:26:55 +01:00
Mael
0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113
2022-12-06 22:21:06 +01:00
albert-github
7a62583efa
spelling corrections
...
Some spelling corrections (Directories starting with `C`)
2022-11-14 19:14:33 +01:00
Laurent Rineau
2e90313b07
In cpp20 namespace: CGAL::cpp20::remove_cvref
2022-11-09 10:50:01 +01:00
Laurent Rineau
b56a79eacf
Compute_[abcd]_[23] return references
...
That simplifies the code, and is more correct.
2022-11-08 11:06:44 +01:00
Laurent Rineau
0f28931760
Add a newline
2022-11-07 16:43:48 +01:00
Laurent Rineau
9a881390a6
Rename Is_a_trivial_construction (remove `_a`)
2022-11-07 16:23:33 +01:00
Laurent Rineau
1c5454dcbe
Add Converting_construction to Simple_precision_epick
...
The difficulty is to detect/define which constructions are "trivial"
and must not be wrapped into `Converting_construction`. Otherwise the
use of `Cartesian_converter`, that uses trivial constructions itself,
can lead to loops and infinite call stacks.
2022-10-28 12:07:58 +02:00
Mael Rouxel-Labbé
2c23a6d5c5
Revert back to wrapping result_type to distinguish FT-necessary operator()s
2022-10-12 21:24:59 +02:00
Mael Rouxel-Labbé
d0fe75e908
Add missing FT_necessary tags
2022-09-23 11:35:12 +02:00
Mael Rouxel-Labbé
24067447af
Make some predicates division-free
2022-09-23 11:34:49 +02:00
Mael Rouxel-Labbé
214e072959
Switch from RT_sufficient to FT_necessary
2022-09-22 12:02:53 +02:00