#include #include #include #include #include #include typedef CGAL::Simple_cartesian Kernel; typedef CGAL::Surface_mesh Surface_mesh; namespace PMP = CGAL::Polygon_mesh_processing; int main(int argc, char* argv[]) { const std::string filename = (argc > 1) ? argv[1] : CGAL::data_file_path("meshes/quad.off"); Surface_mesh mesh; if(!PMP::IO::read_polygon_mesh(filename, mesh)) { std::cerr << "Invalid input." << std::endl; return 1; } CGAL::Linear_mask_3 mask(&mesh); CGAL::Subdivision_method_3::PQQ(mesh, mask, CGAL::parameters::number_of_iterations(1)); std::ofstream out("out.off"); out << mesh; return 0; }