#include #include #include #include #include #include #include #include #include #include typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; typedef OpenMesh::TriMesh_ArrayKernelT Mesh; typedef boost::graph_traits::vertex_descriptor vertex_descriptor; typedef boost::graph_traits::face_descriptor face_descriptor; typedef boost::graph_traits::halfedge_descriptor halfedge_descriptor; int main(int argc, char** argv ) { Mesh mesh; std::vector V; std::ifstream in((argc>1)?argv[1]:"in.off"); CGAL::read_off(in, mesh); for(vertex_descriptor vd : vertices(mesh)){ for(halfedge_descriptor hd : CGAL::halfedges_around_target(vd,mesh)){ if(! CGAL::is_border(edge(hd,mesh),mesh)){ CGAL::Euler::flip_edge(hd,mesh); CGAL::write_off((argc>2)?argv[2]:"out.off", mesh); return 0; } } } return 0; }