Open darikg opened 2 years ago
Thanks. Yes the union works fails with the inexact kernel and works with the exact kernel. But not the intersection: it fails even with the exact kernel. It works for both kernels if you sufficiently round the vertex coordinates.
An unrelated remark: it is possible to get rid of the (ugly) non-exterior edges by checking for each edge whether its two surrounding faces are coplanar. I implemented it and it works fine for this example, see the getEdges2 function here if you are interested (with epsilon=0 it works for this example). Let me know if you have difficulties to understand my code.
The intersection works with a gmp kernel.
#include <boost/multiprecision/gmp.hpp>
namespace mp = boost::multiprecision;
typedef CGAL::Cartesian<mp::mpq_rational>
mp::mpq_rational phi(33137336090491, 20480000000000);
mp::mpq_rational a(1099511627776, 1904410004001);
Ah I was wrong... I don't understand but the intersection works now with the exact kernel.
from @stla in https://github.com/pyvista/pyvista/discussions/2446
fails on the second union with
I think this is because seagullmesh is currently using Exact_predicates_inexact_constructions_kernel. Re-compiling with Exact_predicates_exact_constructions_kernel (EPECK) instead, the unions all succeed:
However, this prevents the other modules from compiling.
TODO: