From fd4f6e667331ed8b86c2f531fdf48eec554ff527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Mon, 16 Sep 2019 10:48:56 +0200 Subject: [PATCH] Remove GH + Polyhedron example one example w/ Surface_mesh is enough --- ...e_collapse_polyhedron_garland_heckbert.cpp | 78 ------------------- 1 file changed, 78 deletions(-) delete mode 100644 Surface_mesh_simplification/examples/Surface_mesh_simplification/edge_collapse_polyhedron_garland_heckbert.cpp diff --git a/Surface_mesh_simplification/examples/Surface_mesh_simplification/edge_collapse_polyhedron_garland_heckbert.cpp b/Surface_mesh_simplification/examples/Surface_mesh_simplification/edge_collapse_polyhedron_garland_heckbert.cpp deleted file mode 100644 index 49aefedcd6b..00000000000 --- a/Surface_mesh_simplification/examples/Surface_mesh_simplification/edge_collapse_polyhedron_garland_heckbert.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#include -#include - -#include -#include - -// Simplification function -#include - -// Stop-condition policy -#include - - -#include -#include -#include - -#include - -typedef CGAL::Simple_cartesian Kernel; -typedef CGAL::Polyhedron_3 Surface_mesh; - -namespace SMS = CGAL::Surface_mesh_simplification; - -int main(int argc, char** argv) -{ - Surface_mesh surface_mesh; - - std::ifstream is(argv[1]); - is >> surface_mesh; - if(!CGAL::is_triangle_mesh(surface_mesh)){ - std::cerr << "Input geometry is not triangulated." << std::endl; - return EXIT_FAILURE; - } - - - std::chrono::steady_clock::time_point start_time - = std::chrono::steady_clock::now(); - - // This is a stop predicate (defines when the algorithm terminates). - // In this example, the simplification stops when the number of undirected edges - // left in the surface mesh drops below the specified number (1000) - SMS::Count_stop_predicate stop(1000); - - SMS::GarlandHeckbert_edge_collapse_visitor_base::garland_heckbert_state_type state; - - // This the actual call to the simplification algorithm. - // The surface mesh and stop conditions are mandatory arguments. - // The index maps are needed because the vertices and edges - // of this surface mesh lack an "id()" field. - int r = SMS::edge_collapse - (surface_mesh - ,stop - ,CGAL::parameters::vertex_index_map(get(CGAL::vertex_external_index, surface_mesh)) - .halfedge_index_map (get(CGAL::halfedge_external_index, surface_mesh)) - .get_cost(SMS::GarlandHeckbert_cost(state)) - .get_placement(SMS::GarlandHeckbert_placement(state)) - .visitor(SMS::GarlandHeckbert_edge_collapse_visitor_base(state)) - ); - std::chrono::steady_clock::time_point end_time - = std::chrono::steady_clock::now(); - - - - std::cout << "Time elapsed: " - << std::chrono::duration_cast( - end_time - start_time - ).count() << "ms" << std::endl; - - std::cout << "\nFinished...\n" << r << " edges removed.\n" - << (surface_mesh.size_of_halfedges()/2) << " final edges.\n"; - - std::ofstream os(argc > 2 ? argv[2] : "out.off"); - os.precision(17); - os << surface_mesh; - - return EXIT_SUCCESS; -}