void generate_minop_mesh(TriMesh & mesh, const string & filename, double edge_length){ double angle = 0.125; cout << "Initial meshing..."<< endl; mesh.build_box_boundary({{-1.1,1.1},{-1.1,1.1}}); mesh.build_circle(zeros<vec>(2),50,1.0); mesh.build_circle(zeros<vec>(2),30,1.0/sqrt(2.0)); mesh.build_circle(zeros<vec>(2),25,0.25); cout << "Refining based on (" << angle << "," << edge_length << ") criterion ..."<< endl; mesh.refine(angle,edge_length); //cout << "Optimizing (25 rounds of Lloyd)..."<< endl; //mesh.lloyd(15); mesh.freeze(); // Write initial mesh to file cout << "Writing:" << "\n\t" << (filename + ".node") << " (Shewchuk node file)" << "\n\t" << (filename + ".ele") << " (Shewchuk element file)" << "\n\t" << (filename + ".tri") << " (CGAL mesh file)" << endl; mesh.write_shewchuk(filename); mesh.write_cgal(filename + ".tri"); }