Commit Graph

262 Commits

Author SHA1 Message Date
Sébastien Loriot 061bc2dc29 Merge remote-tracking branch 'cgal/6.0.x-branch' into `cgal/6.1.x-branch` 2025-12-12 17:48:59 +01:00
Sebastien Loriot fed810284e
CH3: Make convex_hull_3 deterministic (order of vertices and indices) (#9160)
## Summary of Changes

Adding timestamp to convex_hull_3 vertex

The reason why it makes it deterministic is because during the creation
of the hull some border edges are collected here:
[`find_visible_set(tds, farthest_pt, f_handle, visible_set, border,
traits);`](https://github.com/CGAL/cgal/blob/main/Convex_hull_3/include/CGAL/convex_hull_3.h#L659C6-L659C80)

with `border` being [`typedef std::map<typename TDS_2::Vertex_handle,
typename TDS_2::Edge>
Border_edges;`](https://github.com/CGAL/cgal/blob/main/Convex_hull_3/include/CGAL/convex_hull_3.h#L643).

Then another container `edges` is filled using `border.begin()`
[here](https://github.com/CGAL/cgal/blob/main/Convex_hull_3/include/CGAL/convex_hull_3.h#L678C1-L692C7).

The call to [`Vertex_handle vh = tds.star_hole(edges.begin(),
edges.end(), visible_set.begin(),
visible_set.end());`](https://github.com/CGAL/cgal/blob/main/Convex_hull_3/include/CGAL/convex_hull_3.h#L707)
then induced that the order of faces in the TDS depends on the order of
edges in `edges`. The timestamp makes that the first vertex is always
the same in `border_edges`.

## Release Management

* Affected package(s): Convex_hull_3
2025-12-12 17:48:19 +01:00
Sven Oesau 7fbee84a0e remove timestamp from Convex_hull_face_base_2 2025-12-09 14:42:38 +01:00
Sébastien Loriot 4af12e7167 Merge remote-tracking branch 'cgal/6.0.x-branch' into 'cgal/6.1.x-branch' 2025-12-04 18:47:22 +01:00
Sven Oesau 4c1400d2fb fixing generated indices of coplanar convex_hull_3
adding a small test
2025-12-01 16:11:56 +01:00
Sven Oesau 638d12593f adding timestamp to convex_hull_3 vertex and face base 2025-12-01 15:51:21 +01: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 e668cb9ae6 restore logic and use traits helper in the free function 2025-08-04 09:33:03 +02:00
Sven Oesau 327de417bb
Update convex_hull_3.h
fix Default_traits_for_Chull_3
2025-06-26 16:44:27 +02:00
Sven Oesau 6aaa37f3ef defaulting to Convex_hull_traits_3 instead of Kernel_traits<Point_3>::type 2025-06-26 16:26:12 +02:00
Sébastien Loriot b6719fc3be Merge remote-tracking branch 'cgal/6.0.x-branch' into cgal/master 2025-04-03 16:09:51 +02:00
Sébastien Loriot f516c12c5b Merge remote-tracking branch 'cgal/5.6.x-branch' into 6.0.x-branch 2025-04-03 16:09:15 +02:00
Sébastien Loriot 2ccb0f7320 add missing include directive 2025-04-02 09:06:49 +02:00
Sébastien Loriot 32ac9f22a7 work around overload resolution with recent gcc 2025-04-01 15:43:43 +02:00
Sébastien Loriot 107f3696dc boost::tie -> std::tie 2025-01-24 14:20:00 +01:00
Jane Tournois c21fc4f238 remove circular dependency and corresponding fwd declarations
include in helpers.h was introduced by 0528592011
in 2019 for backward compatibility, it can now be removed
2024-03-06 10:42:53 +01:00
Sébastien Loriot 15aa810876 Merge remote-tracking branch 'cgal/5.6.x-branch' 2023-12-22 17:16:49 +01:00
Sébastien Loriot 47e728f2ef Merge remote-tracking branch 'cgal/5.5.x-branch' 2023-12-22 17:14:12 +01:00
Sébastien Loriot c36f0ac091 add a switch to get rid of QP_Solver dependency 2023-12-19 14:42:02 +01:00
Sébastien Loriot eada3ee8ca Merge branch 'master' into 'sloriot/CGAL-using_c++17_stl' 2023-08-14 14:19:25 +02:00
Laurent Rineau d6ebf17baa Merge remote-tracking branch 'cgal/5.6.x-branch' 2023-07-20 10:12:26 +02:00
Sébastien Loriot 2741267bbc fix invalid usage 2023-07-10 14:11:44 +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 68813c5c63 Merge pull request #7403 from sloriot/CGAL-replace_boost_by_std
Replace boost by std
2023-07-05 11:08:36 +02:00
Sébastien Loriot ccc5462b28 add missing include directives 2023-06-20 14:45:43 +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 2251c438fa enable exact serialization of triangulations with EPECK 2023-06-13 14:30:01 +02:00
Sébastien Loriot c1294a0eaa boost::integral_constant ---> std::integral_constant 2023-04-29 09:42:15 +02:00
Sébastien Loriot 5726a0a255 boost::is_floating_point -> std::is_floating_point
boost::is_float
2023-04-23 22:37:07 +02:00
Sébastien Loriot 9ed6c7acdc remove useless include 2023-04-23 22:37:07 +02:00
Sébastien Loriot 99619dc634 boost::prior -> std::prev 2023-04-23 22:37:07 +02:00
albert-github 7a62583efa spelling corrections
Some spelling corrections (Directories starting with `C`)
2022-11-14 19:14:33 +01:00
Laurent Rineau 8e8153c0ac Merge pull request #6871 from afabri/CGAL_assertions-GF
CGAL: No longer per package assertions
2022-11-03 09:44:48 +01:00
Andreas Fabri f976348d87 Convex_hull_3 2022-10-14 10:18:32 +01:00
Andreas Fabri 94c72ae386 Convex_hull_3 2022-09-27 10:08:50 +01:00
Sébastien Loriot 861588abe1 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Mael Rouxel-Labbé 711d64674a Less_signed_... --> Compare_signed_... in CH3 adapters 2022-07-02 17:19:48 +02:00
Andreas Fabri 70a06b4696 Do not use CGAL::iterator_v<> as it is responsible for the ICE of VC2015 2022-06-27 08:58:17 +01:00
Sébastien Loriot b96f6d5ce9 move is_iterator to type_traits 2022-06-10 09:43:59 +02:00
Sébastien Loriot 44250cb019 is_iterator_XXX<>::value --> is_iterator_XXX_v<> 2022-06-10 09:40:29 +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 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
Sébastien Loriot 4ffc949199 replace boost::unordered by std::unordered
but in T3, Mesh_3, TDS_3, P3[TM]3
2022-02-03 19:11:12 +01:00
Laurent Rineau 9bb36b0862 Merge pull request #6280 from sloriot/CH3-init_info
Fix info type and set default value
2022-02-01 08:58:25 +01:00
Sébastien Loriot 9ecb90c315 fix info type and set default value 2022-01-26 19:09:43 +01:00
Sébastien Loriot c169c41240 Merge remote-tracking branch 'maxGimeno/PMP-Example_of_new_mp_function-maxGimeno' into HEAD 2022-01-12 13:33:49 +01:00