Open AstroJoke opened 3 months ago
it seems that i miss some code, there are some code before main
using Epeck = CGAL::Exact_predicates_exact_constructions_kernel;
using Nef_polyhedron_epeck = CGAL::Nef_polyhedron_3<Epeck>;
using Surface_mesh_epeck = CGAL::Surface_mesh<Epeck::Point_3>;
using Affine_transformation_3_epeck = CGAL::Aff_transformation_3<Epeck>;
using FT_epeck = Epeck::FT;
using Halfedge_descriptor_epeck = boost::graph_traits<Surface_mesh_epeck>::halfedge_descriptor;
using Face_descriptor_epeck = boost::graph_traits<Surface_mesh_epeck>::face_descriptor;
using Vertex_descriptor_epeck = Surface_mesh_epeck::Vertex_index;
I get a strange case which generated from my toy code, cascading boolean diff. And this mesh will calculate abnormal result.
To illustrate clearly, I exchange the order of the template.
Source Code
Issue Details
(and all the file are attched) The
input_mesh.off
is the mesh I input the code, and the path isstrInputA
.if I not revise any code, it will output the mesh which named
remove_self_intersections.obj
If I comment out the following code
it will output the mesh which named
no_remove_self_intersections.obj
meshes.zip
But when i use
MeshLab
, it shows thatno_remove_self_intersections.obj
have not the self-intersection face, which shows as follow, and theCGAL::Polygon_mesh_processing::experimental::remove_self_intersections(sm);
are treat the mesh with wrong result.Environment