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
Jane Tournois
f786b86432
Merge remote-tracking branch 'cgal/master' into PMP-add_bbox_to_face_graph-jtournois
2024-03-06 16:04:58 +00:00
Jane Tournois
75160fc24b
reduce number of operations in bbox scaling
2024-03-06 11:52:26 +01:00
Jane Tournois
6407f852e6
add scale(factor) to bbox_2 and uniformize implementation with bbox_3
2024-03-05 09:47:16 +01:00
Jane Tournois
272beb678a
move scaling to CGAL::Bbox_3
2024-03-04 16:08:10 +01:00
Laurent Rineau
820465a556
Merge pull request #8023 from sloriot/PMP-soup_autoref_insert_in_edge
...
Autorefinement: insert points in edge to avoid filter failures
2024-02-28 10:57:25 +01:00
Andreas Fabri
ab19b99105
Kernel_23: Add function squared_length()
2024-01-29 16:16:17 +00:00
Andreas Fabri
a783412ba7
Use structural filtering for the fixed projection traits classes
2024-01-19 11:51:54 +01:00
Sebastien Loriot
caecbe29c7
Replace boost::mpl ( #7813 )
...
- `boost::mpl::if_` --> `std::conditional`
- `boost::enable_if` -> `std::enable_if`
- `boost::mpl::and_` -> `&&`
- `boost::mpl::or_` -> `||`
- `boost::constant::bool_` -> `std::bool_constant`
- ...
2023-12-26 17:33:36 +01:00
Laurent Rineau
9a944e563c
Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine
...
# Conflicts:
# Installation/CHANGES.md
# Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt
2023-12-13 15:57:30 +01:00
Laurent Rineau
e2a745f79f
Merge pull request #7892 from sloriot/CGAL-fix_dh_angle_sign
...
fix dihedral angle computation
2023-12-11 13:56:02 +01:00
Laurent Rineau
4be3a1e589
Merge pull request #7892 from sloriot/CGAL-fix_dh_angle_sign
...
fix dihedral angle computation
2023-12-11 13:50:38 +01:00
Sébastien Loriot
d75e4f2f54
Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine
2023-12-08 13:26:06 +01:00
Laurent Rineau
46877d4134
fix two typos
2023-11-29 15:34:36 +01:00
Laurent Rineau
df4eed9302
add tests for the dihedral angle
2023-11-29 15:27:57 +01:00
Sébastien Loriot
4bed66e82f
fix description
2023-11-29 13:17:10 +01:00
Sébastien Loriot
5879bb72c6
add comments about the formula
2023-11-29 13:11:21 +01:00
Sébastien Loriot
0145bafbc5
update formula
...
will add comments in a upcoming commit
2023-11-29 12:22:46 +01:00
Sébastien Loriot
6b570f767e
fix sign
2023-11-28 18:10:32 +01:00
Sébastien Loriot
fbd24d665d
add version for Point_2/Vector_2
2023-10-09 12:30:37 +02:00
Sébastien Loriot
8700394122
boost::mpl::if_ -> std::conditional
2023-09-24 22:57:20 +02:00
Laurent Rineau
eb70c2f310
Merge pull request #7650 from sloriot/K23-compare_dihedral_angle_deg_tet
...
Be more permissive in Compare_dihedral_angle_3
2023-08-28 15:45:12 +02:00
Laurent Rineau
ef998bded5
Merge pull request #7650 from sloriot/K23-compare_dihedral_angle_deg_tet
...
Be more permissive in Compare_dihedral_angle_3
2023-08-28 15:43:59 +02:00
Sébastien Loriot
49d6821d9b
accomodate update to c++17 STL
2023-08-28 13:51:57 +02:00
Sébastien Loriot
a528464f31
Merge branch 'cgal/master' into PMP-BF_autorefine
2023-08-28 13:44:44 +02:00
Sebastien Loriot
f879c68155
Test earlier
...
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2023-08-21 11:32:12 +02:00
Sébastien Loriot
73cf624d0f
be more permessive
...
do not throw an error but return SMALLER
The collinearity check being already do in the predicate it
would be more expensive to do it also before calling the
predicate
2023-08-16 09:59:44 +02:00
Sébastien Loriot
bab2c72674
add functor to compute intersection point of coplanar segments
2023-07-06 16:53:51 +02:00
Sébastien Loriot
a8a3d8ab36
add functor to compute the intersection of 3 independant planes
2023-07-06 15:39:08 +02:00
Sébastien Loriot
b86a1fed32
Merge remote-tracking branch 'sloriot/PMP-BF_autorefine' into PMP-BF_autorefine
2023-07-05 17:59:29 +02:00
Sébastien Loriot
b66afab814
Merge remote-tracking branch 'sloriot/CGAL-using_c++17_stl' into HEAD
2023-07-05 11:29:35 +02:00
Sébastien Loriot
dfc386d65b
Merge branch 'master' into HEAD
2023-06-22 14:05:45 +02:00
Sébastien Loriot
0ee31a5d4f
remove extra parenthesis
2023-06-19 19:17:49 +02:00
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