cgal/Periodic_3_mesh_3/include/CGAL
Mael Rouxel-Labbé be6109dc14 Fix predicate/construction inconsistencies in P3T3 canonicalization functions
There are two use cases:
- either we care about the shifted position (for example for P3M3 where
we will insert the shifted position)
- either we don't care about the shifted position, and we are ok with
point + shifting offset (for example in P3M3 predicates to determine
is_bad)

In the first case, we cannot determine the shift using predicates,
otherwise we could have an inconsitency in the final result:
the predicates say the point is in, but once constructed it is not.

So this commit distinguishes between both. When we care about the
actual shifted position, we construct the point. There might be
numerical errors if we are not using exact constructions, but it
does not really matter.

What should be done better:
- use compare_x/y/z_3 instead of <
- handle the case where the numerical errors are such that you
get a really silly point far from the truth. Maybe this should
all be done in EPECK. There is something like this in the
history of canonicalize_helper.h ....
2025-03-27 12:14:14 +01:00
..
Periodic_3_mesh_3 use std tuple 2025-02-05 16:54:18 +01:00
Implicit_to_labeled_subdomains_function_wrapper.h boost::mpl::if_ -> std::conditional 2023-09-24 22:57:20 +02:00
Periodic_3_function_wrapper.h Fix predicate/construction inconsistencies in P3T3 canonicalization functions 2025-03-27 12:14:14 +01:00
Periodic_3_mesh_triangulation_3.h Fix predicate/construction inconsistencies in P3T3 canonicalization functions 2025-03-27 12:14:14 +01:00
make_periodic_3_mesh_3.h Merge remote-tracking branch 'cgal/master' into P3M3-Undocumented_polyhedral_domain_example-GF 2023-03-20 10:14:27 +01:00
optimize_periodic_3_mesh_3.h add missing const 2023-02-20 15:10:31 +01:00
refine_periodic_3_mesh_3.h boost::variant ---> std::variant 2023-06-15 10:57:10 +02:00