Sébastien Loriot
f936680600
Merge remote-tracking branch 'cgal/master' into HEAD
2023-06-15 18:48:39 +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
Sébastien Loriot
bbc4d08ee0
Merge remote-tracking branch 'cgal/master' into HEAD
2023-06-15 10:47:07 +02:00
Sébastien Loriot
c8a88b9014
remove CGAL_static_assertion*
2023-06-15 10:42:10 +02:00
Sébastien Loriot
003bf47781
move alpha computation into a functor
2023-06-08 14:05:09 +02:00
Sebastien Loriot
11b92e94f8
Add an alternative of Mpzf using boost cpp_int ( #7191 )
...
## TODO:
- [x] branch size
- [x] boost backend should not be the default in 5.6
2023-05-22 09:23:35 +02:00
Sébastien Loriot
39e6369d39
add missing FT and typename
2023-05-12 10:32:54 +02:00
Andreas Fabri
9924814e77
Fix construction of Iso_rectangle/cuboid from Bbox
2023-05-12 08:07:08 +01:00
Laurent Rineau
d2bc415a15
Merge pull request #6950 from lrineau/CGAL-allow_Epick_with_float-GF
...
Simple_precision_epick: an Epick-like kernel with float as FT
2023-05-04 16:37:17 +02:00
Sébastien Loriot
8b3acae1c7
boost::remove_reference -> std::remove_reference
2023-04-23 22:36:59 +02:00
Sébastien Loriot
fa301554ce
boost::remove_v -> std::remove_cv_t
2023-04-23 19:13:56 +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
Sébastien Loriot
b1d2744821
Merge branch 'master' into PMP-decimation
2023-03-02 14:24:27 +01: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
fbe559adc9
Merge 'cgal/master' into PMP-decimation
2023-02-14 08:33:24 +01:00
Sébastien Loriot
9e137bca24
Merge 'cgal/master'
2023-01-31 12:26:55 +01:00
Laurent Rineau
5f8930db8c
Merge branch '5.5.x-branch'
...
# Conflicts:
# Convex_hull_2/test/Convex_hull_2/ch_test_CH.cpp
# Convex_hull_2/test/Convex_hull_2/ch_test_SC.cpp
# Convex_hull_2/test/Convex_hull_2/ch_test_SH.cpp
# Convex_hull_2/test/Convex_hull_2/ch_test_SS.cpp
# Straight_skeleton_2/include/CGAL/constructions/Straight_skeleton_cons_ftC2.h
# Straight_skeleton_2/include/CGAL/predicates/Straight_skeleton_pred_ftC2.h
2023-01-27 21:16:14 +01:00
Andreas Fabri
404cf8f0c2
Projection_traits_xy_3: Enable structural filtering
2023-01-09 11:13:29 +00:00
Mael
0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113
2022-12-06 22:21:06 +01:00
Mael
da0b13699c
Merge branch 'master' into Kernel-Compare_distance_3_RT_FT__always_Filtered_predicate_RT_FT-GF
2022-12-02 23:19:29 +01:00
Laurent Rineau
bf114a4509
Remove CGAL_EPICK_SINGLE_PRECISION
2022-11-22 16:13:35 +01:00
Mael Rouxel-Labbé
4bb2d13272
Rephrase comment
2022-11-22 12:36:07 +01:00
albert-github
45478184de
spelling corrections
...
Some spelling corrections (Directories starting with `E`-` L`),
some backward work
some forward work
2022-11-15 13:39:40 +01:00
Laurent Rineau
a6050f4bb3
Fix the comment
2022-11-08 15:57:53 +01:00
Laurent Rineau
92d8d1c805
Merge remote-tracking branch 'cgal/master' into CGAL-allow_Epick_with_float-GF
...
# Conflicts:
# Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
2022-11-08 12:11:06 +01:00
Laurent Rineau
3933d0bec8
Fix a 16 years old todo
...
Sylvain Pion, wrote in August 2006:
> FIXME : Use Qrt<> here
At that time `Qrt` stood for `Qualified_result_of` (sic, maybe it was
named "qualified result type" at a time).
Now that we can use C++14, we have `decltype(auto)` instead.
2022-11-08 12:07:14 +01:00
Laurent Rineau
3600173ed4
Missing includes, for users of Epick
...
(even if those headers are probably already included elsewhere)
2022-11-08 12:01:44 +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
cb0ad7f509
Use template aliases to factorize code
2022-11-08 11:04:38 +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
Laurent Rineau
c685810119
Add Construct_point_on_3(Line_3), for efficiency
2022-10-28 12:07:58 +02:00
Sébastien Loriot
0cac6a9da8
Merge remote-tracking branch 'sloriot/PMP-decimation' into PMP-decimation
2022-10-25 14:55:57 +02:00
Laurent Rineau
3745073df6
Fix a compilation error
2022-10-13 18:25:58 +02:00
Mael Rouxel-Labbé
73de5e49f4
Remove unnecessary include
2022-10-12 21:32:30 +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
Laurent Rineau
026049cf8e
Switch to Epick-with-float using a new macro
...
If `CGAL_EPICK_SINGLE_PRECISION` is defined, then the number type
of `CGAL::Epick` is `float` instead of `double`.
2022-10-10 16:15:01 +02:00
Andreas Fabri
d3fca65ae5
CGAL: No longer per package assertions
2022-09-23 12:49:40 +01:00
Mael Rouxel-Labbé
d0fe75e908
Add missing FT_necessary tags
2022-09-23 11:35:12 +02:00
Mael Rouxel-Labbé
873cc884b5
Get rid of _RT / _RT_FT kernel interface macros
2022-09-22 12:03:25 +02:00
Mael Rouxel-Labbé
214e072959
Switch from RT_sufficient to FT_necessary
2022-09-22 12:02:53 +02:00
Laurent Rineau
a267cee598
Avoid one intermediate call to the global (non-internal) function
2022-09-15 16:05:35 +02:00
Laurent Rineau
f52298a8c5
WIP: try to always use Filtered_predicate_RT_FT
2022-09-08 17:30:14 +02:00
Laurent Rineau
03b1501508
Merge branch 'Kernel-Compare_distance_3_RT_FT-GF' into Kernel-Compare_distance_3_RT_FT__new_proposal-GF
2022-09-07 14:49:45 +02:00
Laurent Rineau
dcca65b740
Spelling typo
2022-09-07 14:48:45 +02:00
Laurent Rineau
4b660d9ec9
Another proposal for Filtered_predicate_RT_FT
...
Instead of having the return type wrapped in a `Needs_FT` tag,
not the call operator overloads that can be called with `RT` are
"tagged" by adding a last argument of type `RT_sufficient` with a
default value.
2022-09-07 11:10:13 +02:00
Laurent Rineau
7c92341be7
Introduce CGAL_Kernel_pred_RT_or_FT
...
This commit introduces a new kind of predicate in
`<CGAL/Kernel/interface_macros.h>`. In addition to
- `CGAL_kernel_pred` for predicates,
- `CGAL_Kernel_pred_RT` for predicates that can be implemented using a
ring-type,
now there is also:
- `CGAL_Kernel_pred_RT_or_FT` for predicates with multiple overloads of
`operator()`, some needing a field type and other needing a ring type
(without the division operator).
The C++ code can discriminate between the two cases with a special wrapper
for the return type: `CGAL::Needs_FT<result_type` instead of `result_type`
(defined in `<CGAL/tags.h>`.
In `<CGAL/Filtered_predicate.h>`, in addition to the usual class template
`Filtered_predicate`, there is now also `Filtered_predicate_RT_FT` that
takes three predicates as template parameters instead of two:
- the exact predicate with an ring-type,
- the exact predicate with a field-type,
- the approximate predicate (with `Interval_nt` as number-type).
For the moment, only `Compare_distance_3` in
`<CGAL/Cartesian/function_objects.h>` is using the new
`Filtered_predicate_RT_FT`.
Before this commit, the file
`Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h` was testing
`Compare_distance_3` only with three points or for points. This commit adds:
- a test with `Point_3, Point_3, Segment_3`, and
- a test with `Line_3, Point_3, Point_3`, that actually needs a field type
with its current implementation.
In the test `Kernel_23/test/Kernel_23/Filtered_cartesian.cpp`, the macro
`CGAL_NO_MPZF_DIVISION_OPERATOR` is defined, to remove the division operator
from `CGAL::Mpzf`. `CGAL::Mpzf` is a ring-type, even with its `operator/`
(because that `operator/` can only compute exact divisions), but with
`CGAL_NO_MPZF_DIVISION_OPERATOR` defined, that is now checked by the compiler.
2022-09-02 11:31:47 +02:00
Sébastien Loriot
861588abe1
Merge 'sloriot/CGAL-std_type_traits' into master
2022-08-03 20:19:51 +02:00
Sébastien Loriot
1e857506c1
Merge remote-tracking branch 'cgal/5.5.x-branch'
2022-07-12 18:22:02 +02:00
Sébastien Loriot
12795ba29c
Merge remote-tracking branch 'cgal/5.4.x-branch' into HEAD
2022-07-12 18:21:16 +02:00
Sébastien Loriot
45b5fd43f8
fix more warnings
2022-07-12 18:18:34 +02:00
Mael Rouxel-Labbé
d07434708a
Merge remote-tracking branch 'cgal/master' into CH2-Fix_bykat-GF
2022-07-11 09:39:45 +02:00
Mael Rouxel-Labbé
384cddadec
Fix some result_types in projection traits
2022-07-05 10:11:44 +02:00
Mael Rouxel-Labbé
711d64674a
Less_signed_... --> Compare_signed_... in CH3 adapters
2022-07-02 17:19:48 +02:00
Laurent Rineau
561cc66264
Backport the patch of pull request #6602 from lrineau/Triangulation_2-fix_cdt_2-GF
...
Try to fix CDT_2 with inexact construction of intersections
2022-06-29 12:30:35 +02:00
Laurent Rineau
e1195a4229
Make public Exact_kernel and related types
2022-06-17 16:37:56 +02:00
Sébastien Loriot
5872413f37
remove boost is_same headers
2022-06-10 08:48:53 +02:00
Sébastien Loriot
3fa436459d
BOOST_MPL_ASSERT -> static_assert
2022-06-10 08:46:01 +02:00
Sébastien Loriot
ac8b6d4731
boost::is_same --> std::is_same
2022-06-10 08:18:20 +02:00
Sébastien Loriot
4f5f8341cc
use std::enable_if_t
2022-06-10 07:37:53 +02:00
Sébastien Loriot
47d6b3a240
add barycenter functor
2022-06-05 19:06:23 +02:00
Laurent Rineau
258dd55c03
Make it work with the projection traits
2022-06-02 16:17:26 +02:00
Laurent Rineau
575f7a42fe
Move exact_intersection_point back to CT_2
2022-06-01 20:31:22 +02:00
Laurent Rineau
ffe675423f
Merge branch 'master' into Triangulation_2-fix_cdt_2-GF
2022-06-01 15:15:18 +02:00
Laurent Rineau
53b4878a94
Use exact FT instead of exact Kernel
2022-05-31 18:09:00 +02:00
Laurent Rineau
feaf6a4ca2
Add Kernel::Construct_exact_intersection_point_2
2022-05-31 16:40:34 +02:00
Sébastien Loriot
ebf9fb025a
Merge remote-tracking branch 'cgal/5.4.x-branch'
2022-05-26 18:13:59 +02:00
Sébastien Loriot
f29015ef1c
please intel 2019 compiler
2022-05-25 00:22:24 +02:00
Sébastien Loriot
2b547ec58a
Merge remote-tracking branch 'cgal/5.4.x-branch'
2022-05-13 17:26:04 +02:00
Andreas Fabri
46d1aea329
Convex_hull_3: Use K::Boolean and not bool
2022-05-09 15:30:26 +01:00
Laurent Rineau
288456950d
Merge pull request #6488 from sloriot/ICC-workaround
...
Workaround issue with intel compiler
2022-04-27 16:32:06 +02:00
Laurent Rineau
1538fdbbbb
Merge pull request #6488 from sloriot/ICC-workaround
...
Workaround issue with intel compiler
2022-04-27 16:30:53 +02:00
Sébastien Loriot
cca0a1942f
workaround issue with intel compiler
...
Cartesian_kernel/include/CGAL/Cartesian/Line_3.h(38): error: incomplete type is not allowed
Point_3 first;
^
2022-04-12 16:14:39 +02:00
Andreas Fabri
9023aaa542
More code for ORIGIN
2022-04-07 10:39:01 +01:00
Sébastien Loriot
3a03201ff1
Merge pull request #6338 from MaelRL/PMP-Orient_PS_with_PS-GF
...
Add orient_triangle_soup_with_reference_triangle_soup()
2022-03-30 08:03:29 +02:00
Sébastien Loriot
b9a14a447f
Merge pull request #6426 from afabri/Kernel_23-Call_function_objects-GF
...
Kernel_23: Call function objects from CGAL::Segment_3
2022-03-29 17:47:06 +02:00
Andreas Fabri
71bba3e226
Add Plane_3 constructor with Origin/Vector_3
2022-03-17 22:35:09 +01:00
Andreas Fabri
d39c7742f1
Kernel_23: Call function objects from CGAL::Segment_3
2022-03-17 12:14:43 +01:00
Mael Rouxel-Labbé
8d95d22a9e
Tiny indentation fix
2022-03-15 00:46:39 +01:00
Sébastien Loriot
d16dfc381e
add Compare_angle_3 functor in the Kernel
2022-01-27 19:43:21 +01:00
Sébastien Loriot
d228e994cf
predicate requires only RT
2022-01-27 18:29:39 +01:00
Laurent Rineau
df777080ff
Merge pull request #6102 from afabri/Kernel_23-Non_zero_dimension_3-GF
...
Kernel_23: Add NonZeroDimension_3
2021-11-18 14:02:07 +01:00
Andreas Fabri
a24229a6b2
Use homogeneous coordinates
2021-11-04 15:46:45 +01:00
Andreas Fabri
d0ed65838e
Fix interface_macros
2021-11-03 17:39:21 +01:00
Andreas Fabri
7cb53ab8ef
Change to NonZeroCoordinateIndex
2021-11-03 17:30:26 +01:00
Laurent Rineau
1fb32e70b4
Merge pull request #5978 from janetournois/Mesh_2-add_predicate_for_lloyd-jtournois
...
Mesh 2 and Kernel - add predicate oriented_side_2(segment, triangle)
2021-10-27 17:20:28 +02:00
Mael Rouxel-Labbé
e424356ffa
Add Construct_projected_point_3(P3, P3) + correct parameter order
...
Not a kernel requirement
2021-09-28 15:34:51 +02:00
Jane Tournois
be2f8457d3
add Oriented_side_2 to Projection_traits_3 (for use in the demo)
2021-09-10 17:29:27 +02:00
Sebastien Loriot
e5279db7fb
Merge pull request #5777 from MaelRL/AABB-Dont_call_global_do_intersect-GF
...
Misc fixes for Intersections_3 + related
2021-09-02 15:44:53 +02:00
Sébastien Loriot
dacbd186d1
accomodate changes of internal -> Pkg/internal
2021-08-30 12:35:34 +02:00
Sébastien Loriot
4454c5b3ed
Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno
2021-08-30 12:25:51 +02:00
Sébastien Loriot
98e471849b
moving files from internal to PKG/internal
2021-08-26 11:33:39 +02:00
Mael Rouxel-Labbé
71d88536b8
Fix doc
2021-08-26 11:08:28 +02:00
Sebastien Loriot
92d90a4a11
Merge pull request #5667 from afabri/Kernel-compare_slopes-GF
...
Kernel: Add compare_slope with 4 points
2021-08-12 10:12:26 +02:00
Maxime Gimeno
f7df517f57
Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno
2021-08-09 09:14:23 +02:00
Mael
5a30c321b8
Misc cleaning
2021-08-04 15:42:04 +02:00
Laurent Rineau
04b690b099
Merge pull request #5736 from danston/Kernel_23-add_centroid_2_and_determinant_2-danston
...
Projection Traits With Centroid 2 and Determinant 2
2021-07-27 16:25:09 +02:00