mirror of https://github.com/CGAL/cgal
Changed some functions to pass without specifying param. name
This commit is contained in:
parent
4457b05350
commit
996985126c
|
|
@ -51,7 +51,7 @@ int main()
|
||||||
Mesh_criteria criteria(facet_angle=25, facet_size=0.15, facet_distance=0.008,
|
Mesh_criteria criteria(facet_angle=25, facet_size=0.15, facet_distance=0.008,
|
||||||
cell_radius_edge_ratio=3);
|
cell_radius_edge_ratio=3);
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
// Create the generator, input is the C3t3 c3t3
|
// Create the generator, input is the C3t3 c3t3
|
||||||
Random_points_in_tetrahedral_mesh_3<C3t3> g(c3t3);
|
Random_points_in_tetrahedral_mesh_3<C3t3> g(c3t3);
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ int main()
|
||||||
Mesh_criteria criteria(facet_angle=25, facet_size=0.15, facet_distance=0.008,
|
Mesh_criteria criteria(facet_angle=25, facet_size=0.15, facet_distance=0.008,
|
||||||
cell_radius_edge_ratio=3);
|
cell_radius_edge_ratio=3);
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
// Create the generator, input is the C3t3 c3t3
|
// Create the generator, input is the C3t3 c3t3
|
||||||
Random_points_in_tetrahedral_mesh_boundary_3<C3t3> g(c3t3);
|
Random_points_in_tetrahedral_mesh_boundary_3<C3t3> g(c3t3);
|
||||||
|
|
|
||||||
|
|
@ -531,22 +531,22 @@ bool make_mesh_polyhedron(const std::string &input_filename,
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>( domain
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>( domain
|
||||||
, criteria
|
, criteria
|
||||||
# ifdef CGAL_MESH_3_BENCHMARK_LLOYD
|
# ifdef CGAL_MESH_3_BENCHMARK_LLOYD
|
||||||
, lloyd_param = lloyd(time_limit=timelimit)
|
, lloyd(time_limit=timelimit)
|
||||||
# else
|
# else
|
||||||
, lloyd_param = no_lloyd()
|
, no_lloyd()
|
||||||
# endif
|
# endif
|
||||||
, odt_param = no_odt()
|
, no_odt()
|
||||||
# ifdef CGAL_MESH_3_BENCHMARK_PERTURB
|
# ifdef CGAL_MESH_3_BENCHMARK_PERTURB
|
||||||
, perturb_param = perturb(time_limit = timelimit,
|
, perturb(time_limit = timelimit,
|
||||||
sliver_bound = sliverbound)
|
sliver_bound = sliverbound)
|
||||||
# else
|
# else
|
||||||
, perturb_param = no_perturb()
|
, no_perturb()
|
||||||
#endif
|
#endif
|
||||||
#ifdef CGAL_MESH_3_BENCHMARK_EXUDE
|
#ifdef CGAL_MESH_3_BENCHMARK_EXUDE
|
||||||
, exude_param = exude(time_limit = timelimit,
|
, exude(time_limit = timelimit,
|
||||||
sliver_bound = sliverbound)
|
sliver_bound = sliverbound)
|
||||||
#else
|
#else
|
||||||
, exude_param = no_exude()
|
, no_exude()
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -637,22 +637,22 @@ bool make_mesh_3D_images(const std::string &input_filename,
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>( domain
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>( domain
|
||||||
, criteria
|
, criteria
|
||||||
# ifdef CGAL_MESH_3_BENCHMARK_LLOYD
|
# ifdef CGAL_MESH_3_BENCHMARK_LLOYD
|
||||||
, lloyd_param = lloyd(time_limit=timelimit)
|
, lloyd(time_limit=timelimit)
|
||||||
# else
|
# else
|
||||||
, lloyd_param = no_lloyd()
|
, no_lloyd()
|
||||||
# endif
|
# endif
|
||||||
, odt_param = no_odt()
|
, no_odt()
|
||||||
# ifdef CGAL_MESH_3_BENCHMARK_PERTURB
|
# ifdef CGAL_MESH_3_BENCHMARK_PERTURB
|
||||||
, perturb_param = perturb(time_limit = timelimit,
|
, perturb(time_limit = timelimit,
|
||||||
sliver_bound = sliverbound)
|
sliver_bound = sliverbound)
|
||||||
# else
|
# else
|
||||||
, perturb_param = no_perturb()
|
, no_perturb()
|
||||||
#endif
|
#endif
|
||||||
#ifdef CGAL_MESH_3_BENCHMARK_EXUDE
|
#ifdef CGAL_MESH_3_BENCHMARK_EXUDE
|
||||||
, exude_param = exude(time_limit = timelimit,
|
, exude(time_limit = timelimit,
|
||||||
sliver_bound = sliverbound)
|
sliver_bound = sliverbound)
|
||||||
#else
|
#else
|
||||||
, exude_param = no_exude()
|
, no_exude()
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -774,22 +774,22 @@ bool make_mesh_implicit(double facet_approx,
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>( domain
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>( domain
|
||||||
, criteria
|
, criteria
|
||||||
# ifdef CGAL_MESH_3_BENCHMARK_LLOYD
|
# ifdef CGAL_MESH_3_BENCHMARK_LLOYD
|
||||||
, lloyd_param = lloyd(time_limit=timelimit)
|
, lloyd(time_limit=timelimit)
|
||||||
# else
|
# else
|
||||||
, lloyd_param = no_lloyd()
|
, no_lloyd()
|
||||||
# endif
|
# endif
|
||||||
, odt_param = no_odt()
|
, no_odt()
|
||||||
# ifdef CGAL_MESH_3_BENCHMARK_PERTURB
|
# ifdef CGAL_MESH_3_BENCHMARK_PERTURB
|
||||||
, perturb_param = perturb(time_limit = timelimit,
|
, perturb(time_limit = timelimit,
|
||||||
sliver_bound = sliverbound)
|
sliver_bound = sliverbound)
|
||||||
# else
|
# else
|
||||||
, perturb_param = no_perturb()
|
, no_perturb()
|
||||||
#endif
|
#endif
|
||||||
#ifdef CGAL_MESH_3_BENCHMARK_EXUDE
|
#ifdef CGAL_MESH_3_BENCHMARK_EXUDE
|
||||||
, exude_param = exude(time_limit = timelimit,
|
, exude(time_limit = timelimit,
|
||||||
sliver_bound = sliverbound)
|
sliver_bound = sliverbound)
|
||||||
#else
|
#else
|
||||||
, exude_param = no_exude()
|
, no_exude()
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ int main()
|
||||||
cell_radius_edge_ratio = 2, cell_size = 0.4);
|
cell_radius_edge_ratio = 2, cell_size = 0.4);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, exude_param = no_exude(), perturb_param = no_perturb());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_exude(), no_perturb());
|
||||||
|
|
||||||
// Perturbation (maximum cpu time: 10s, targeted dihedral angle: default)
|
// Perturbation (maximum cpu time: 10s, targeted dihedral angle: default)
|
||||||
CGAL::perturb_mesh_3(c3t3, domain, time_limit = 10);
|
CGAL::perturb_mesh_3(c3t3, domain, time_limit = 10);
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@ int main()
|
||||||
|
|
||||||
// Mesh generation (without optimization)
|
// Mesh generation (without optimization)
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
perturb_param = no_perturb(), exude_param = no_exude());
|
no_perturb(), no_exude());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
dump_c3t3(c3t3, "out");
|
dump_c3t3(c3t3, "out");
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ int main()
|
||||||
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, exude_param = no_exude(), perturb_param = no_perturb());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_exude(), no_perturb());
|
||||||
|
|
||||||
// Perturbation (maximum cpu time: 10s, targeted dihedral angle: default)
|
// Perturbation (maximum cpu time: 10s, targeted dihedral angle: default)
|
||||||
CGAL::perturb_mesh_3(c3t3, domain, time_limit = 10);
|
CGAL::perturb_mesh_3(c3t3, domain, time_limit = 10);
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ int main()
|
||||||
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, exude_param = no_exude(), perturb_param = no_perturb());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_exude(), no_perturb());
|
||||||
|
|
||||||
// Perturbation (maximum cpu time: 10s, targeted dihedral angle: default)
|
// Perturbation (maximum cpu time: 10s, targeted dihedral angle: default)
|
||||||
CGAL::perturb_mesh_3(c3t3, domain, time_limit = 10);
|
CGAL::perturb_mesh_3(c3t3, domain, time_limit = 10);
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ int main()
|
||||||
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
||||||
|
|
||||||
// Mesh generation (without optimization)
|
// Mesh generation (without optimization)
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::ofstream medit_file("out_wo.mesh");
|
std::ofstream medit_file("out_wo.mesh");
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ int main()
|
||||||
cell_radius_edge_ratio=2, cell_size=size);
|
cell_radius_edge_ratio=2, cell_size=size);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, exude_param = no_exude(), perturb_param = no_perturb());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_exude(), no_perturb());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::ofstream medit_file("out.mesh");
|
std::ofstream medit_file("out.mesh");
|
||||||
|
|
|
||||||
|
|
@ -48,12 +48,12 @@ int main(int argc, char* argv[])
|
||||||
// Mesh generation and optimization in one call (sliver_bound is the
|
// Mesh generation and optimization in one call (sliver_bound is the
|
||||||
// targeted dihedral angle in degrees)
|
// targeted dihedral angle in degrees)
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
exude_param = no_exude(),
|
no_exude(),
|
||||||
perturb_param = perturb(sliver_bound=10, time_limit=15));
|
perturb(sliver_bound=10, time_limit=15));
|
||||||
|
|
||||||
// Mesh generation and optimization in several call
|
// Mesh generation and optimization in several call
|
||||||
C3t3 c3t3_bis = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3_bis = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
perturb_param = no_perturb(), exude_param = no_exude());
|
no_perturb(), no_exude());
|
||||||
|
|
||||||
CGAL::perturb_mesh_3(c3t3_bis, domain, time_limit=15);
|
CGAL::perturb_mesh_3(c3t3_bis, domain, time_limit=15);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,13 +46,13 @@ int main(int argc, char*argv[])
|
||||||
|
|
||||||
// Mesh generation and optimization in one call
|
// Mesh generation and optimization in one call
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
lloyd_param = lloyd(time_limit=30),
|
lloyd(time_limit=30),
|
||||||
perturb_param = no_perturb(),
|
no_perturb(),
|
||||||
exude_param = exude(time_limit=10, sliver_bound=10));
|
exude(time_limit=10, sliver_bound=10));
|
||||||
|
|
||||||
// Mesh generation and optimization in several call
|
// Mesh generation and optimization in several call
|
||||||
C3t3 c3t3_bis = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3_bis = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
perturb_param = no_perturb(), exude_param = no_exude());
|
no_perturb(), no_exude());
|
||||||
|
|
||||||
CGAL::lloyd_optimize_mesh_3(c3t3_bis, domain, time_limit=30);
|
CGAL::lloyd_optimize_mesh_3(c3t3_bis, domain, time_limit=30);
|
||||||
CGAL::exude_mesh_3(c3t3_bis, sliver_bound=10, time_limit=10);
|
CGAL::exude_mesh_3(c3t3_bis, sliver_bound=10, time_limit=10);
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ int main(int argc, char*argv[])
|
||||||
cell_radius_edge_ratio=3);
|
cell_radius_edge_ratio=3);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::ofstream medit_file("out_1.mesh");
|
std::ofstream medit_file("out_1.mesh");
|
||||||
|
|
@ -68,7 +68,7 @@ int main(int argc, char*argv[])
|
||||||
Mesh_criteria new_criteria(cell_radius_edge_ratio=3, cell_size=0.03);
|
Mesh_criteria new_criteria(cell_radius_edge_ratio=3, cell_size=0.03);
|
||||||
|
|
||||||
// Mesh refinement (and make the output manifold)
|
// Mesh refinement (and make the output manifold)
|
||||||
CGAL::refine_mesh_3(c3t3, domain, new_criteria, manifold_options_param = manifold());
|
CGAL::refine_mesh_3(c3t3, domain, new_criteria, manifold());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
medit_file.open("out_2.mesh");
|
medit_file.open("out_2.mesh");
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ int main(int argc, char*argv[])
|
||||||
cell_radius_edge_ratio=3);
|
cell_radius_edge_ratio=3);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::ofstream medit_file("out_1.mesh");
|
std::ofstream medit_file("out_1.mesh");
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ int main(int argc, char*argv[])
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
perturb_param = no_perturb(), exude_param = no_exude());
|
no_perturb(), no_exude());
|
||||||
|
|
||||||
std::cerr << t.time() << " sec." << std::endl;
|
std::cerr << t.time() << " sec." << std::endl;
|
||||||
// Output
|
// Output
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ int main()
|
||||||
|
|
||||||
// Mesh generation without feature preservation
|
// Mesh generation without feature preservation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
features_param = CGAL::parameters::no_features());
|
CGAL::parameters::no_features());
|
||||||
|
|
||||||
std::ofstream medit_file("out-no-protection.mesh");
|
std::ofstream medit_file("out-no-protection.mesh");
|
||||||
c3t3.output_to_medit(medit_file);
|
c3t3.output_to_medit(medit_file);
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ int main()
|
||||||
facet_distance = 0.001);
|
facet_distance = 0.001);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
// Output the facets of the c3t3 to an OFF file. The facets will not be
|
// Output the facets of the c3t3 to an OFF file. The facets will not be
|
||||||
// oriented.
|
// oriented.
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ int main()
|
||||||
facet_distance = 0.001);
|
facet_distance = 0.001);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
// Output the facets of the c3t3 to an OFF file. The facets will not be
|
// Output the facets of the c3t3 to an OFF file. The facets will not be
|
||||||
// oriented.
|
// oriented.
|
||||||
|
|
|
||||||
|
|
@ -92,21 +92,27 @@ namespace parameters {
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
// Features_options
|
// Features_options
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
inline internal::Features_options
|
inline Named_function_parameters<internal::Features_options, internal_np::features_option_param_t>
|
||||||
features() { return internal::Features_options(true); }
|
features() {
|
||||||
|
typedef Named_function_parameters<internal::Features_options, internal_np::features_option_param_t> Param;
|
||||||
|
return Param(internal::Features_options(true));
|
||||||
|
}
|
||||||
|
|
||||||
inline internal::Features_options
|
inline Named_function_parameters<internal::Features_options, internal_np::features_option_param_t>
|
||||||
no_features() { return internal::Features_options(false); }
|
no_features() {
|
||||||
|
typedef Named_function_parameters<internal::Features_options, internal_np::features_option_param_t> Param;
|
||||||
|
return Param(internal::Features_options(false)); }
|
||||||
|
|
||||||
template < typename MeshDomain >
|
template < typename MeshDomain >
|
||||||
inline internal::Features_options
|
inline Named_function_parameters<internal::Features_options, internal_np::features_option_param_t>
|
||||||
features(const MeshDomain& /*domain*/)
|
features(const MeshDomain& /*domain*/)
|
||||||
{
|
{
|
||||||
typedef typename internal::Domain_features_generator<
|
typedef typename internal::Domain_features_generator<
|
||||||
MeshDomain,
|
MeshDomain,
|
||||||
CGAL::Mesh_3::internal::has_Has_features<MeshDomain>::value > Generator;
|
CGAL::Mesh_3::internal::has_Has_features<MeshDomain>::value > Generator;
|
||||||
|
|
||||||
return Generator()();
|
typedef Named_function_parameters<internal::Features_options, internal_np::features_option_param_t> Param;
|
||||||
|
return Param(Generator()());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end namespace parameters::internal
|
} // end namespace parameters::internal
|
||||||
|
|
@ -524,11 +530,11 @@ C3T3 make_mesh_3(MeshDomain& domain, MeshCriteria& criteria, const CGAL_NP_CLASS
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
C3T3 c3t3;
|
C3T3 c3t3;
|
||||||
parameters::internal::Exude_options exude_param = choose_parameter(get_parameter(np, internal_np::exude_options_param), parameters::exude());
|
parameters::internal::Exude_options exude_param = choose_parameter(get_parameter(np, internal_np::exude_options_param), parameters::exude().v);
|
||||||
parameters::internal::Perturb_options perturb_param = choose_parameter(get_parameter(np, internal_np::perturb_options_param), parameters::perturb());
|
parameters::internal::Perturb_options perturb_param = choose_parameter(get_parameter(np, internal_np::perturb_options_param), parameters::perturb().v);
|
||||||
parameters::internal::Odt_options odt_param = choose_parameter(get_parameter(np, internal_np::odt_options_param), parameters::no_odt());
|
parameters::internal::Odt_options odt_param = choose_parameter(get_parameter(np, internal_np::odt_options_param), parameters::no_odt().v);
|
||||||
parameters::internal::Lloyd_options lloyd_param = choose_parameter(get_parameter(np, internal_np::lloyd_options_param), parameters::no_lloyd());
|
parameters::internal::Lloyd_options lloyd_param = choose_parameter(get_parameter(np, internal_np::lloyd_options_param), parameters::no_lloyd().v);
|
||||||
parameters::internal::Features_options features_param = choose_parameter(get_parameter(np, internal_np::features_options_param), parameters::features(domain));
|
parameters::internal::Features_options features_param = choose_parameter(get_parameter(np, internal_np::features_options_param), parameters::features(domain).v);
|
||||||
parameters::internal::Mesh_3_options mesh_options_param = choose_parameter(get_parameter(np, internal_np::mesh_param), parameters::internal::Mesh_3_options());
|
parameters::internal::Mesh_3_options mesh_options_param = choose_parameter(get_parameter(np, internal_np::mesh_param), parameters::internal::Mesh_3_options());
|
||||||
parameters::internal::Manifold_options manifold_options_param = choose_parameter(get_parameter(np, internal_np::manifold_param), parameters::internal::Manifold_options());
|
parameters::internal::Manifold_options manifold_options_param = choose_parameter(get_parameter(np, internal_np::manifold_param), parameters::internal::Manifold_options());
|
||||||
|
|
||||||
|
|
@ -597,7 +603,7 @@ void make_mesh_3_impl(C3T3& c3t3,
|
||||||
// Don't reset c3t3 as we just created it
|
// Don't reset c3t3 as we just created it
|
||||||
refine_mesh_3(c3t3, domain, criteria,
|
refine_mesh_3(c3t3, domain, criteria,
|
||||||
parameters::exude_param=exude, parameters::perturb_param=perturb, parameters::odt_param=odt, parameters::lloyd_param= lloyd,
|
parameters::exude_param=exude, parameters::perturb_param=perturb, parameters::odt_param=odt, parameters::lloyd_param= lloyd,
|
||||||
parameters::reset_param=parameters::no_reset_c3t3(), parameters::mesh_options_param= mesh_options,
|
parameters::no_reset_c3t3(), parameters::mesh_options_param= mesh_options,
|
||||||
parameters::manifold_options_param= manifold_options);
|
parameters::manifold_options_param= manifold_options);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,12 @@
|
||||||
|
|
||||||
#define CGAL_BOOLEAN_PARAMETER(Class, function_true, function_false) \
|
#define CGAL_BOOLEAN_PARAMETER(Class, function_true, function_false) \
|
||||||
struct Class : public Base<bool> { Class(bool b) : Base<bool>(b){} }; \
|
struct Class : public Base<bool> { Class(bool b) : Base<bool>(b){} }; \
|
||||||
inline Class function_true() { return Class(true); } \
|
inline Named_function_parameters<Class, internal_np::reset_options_param_t> function_true() { \
|
||||||
inline Class function_false() { return Class(false); }
|
typedef Named_function_parameters<Class, internal_np::reset_options_param_t> Param; \
|
||||||
|
return Param(Class(true)); } \
|
||||||
|
inline Named_function_parameters<Class, internal_np::reset_options_param_t> function_false() {\
|
||||||
|
typedef Named_function_parameters<Class, internal_np::reset_options_param_t> Param; \
|
||||||
|
return Param(Class(false)); }
|
||||||
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
@ -249,7 +253,7 @@ struct Mesh_3_options {
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
|
|
||||||
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
||||||
internal::Perturb_options perturb(const CGAL_NP_CLASS& np = parameters::default_values())
|
Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> perturb(const CGAL_NP_CLASS& np = parameters::default_values())
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -262,26 +266,30 @@ internal::Perturb_options perturb(const CGAL_NP_CLASS& np = parameters::default_
|
||||||
options.set_time_limit(time_limit);
|
options.set_time_limit(time_limit);
|
||||||
|
|
||||||
options.set_bound(sliver_bound);
|
options.set_bound(sliver_bound);
|
||||||
|
typedef Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> Param;
|
||||||
return options;
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||||
template<typename... NP_Pack>
|
template<typename... NP_Pack>
|
||||||
internal::Perturb_options perturb(const NP_Pack& ...nps)
|
Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> perturb(const NP_Pack& ...nps)
|
||||||
{
|
{
|
||||||
return perturb(internal_np::combine_named_parameters(nps...));
|
return perturb(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
inline internal::Perturb_options no_perturb() { return internal::Perturb_options(false); }
|
inline Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> no_perturb() {
|
||||||
|
|
||||||
|
typedef Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> Param;
|
||||||
|
return Param(internal::Perturb_options(false));
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
// Exude
|
// Exude
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
||||||
internal::Exude_options exude(const CGAL_NP_CLASS& np = parameters::default_values())
|
Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> exude(const CGAL_NP_CLASS& np = parameters::default_values())
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -292,26 +300,29 @@ internal::Exude_options exude(const CGAL_NP_CLASS& np = parameters::default_valu
|
||||||
|
|
||||||
if ( internal::undef_parameter != time_limit)
|
if ( internal::undef_parameter != time_limit)
|
||||||
options.set_time_limit(time_limit);
|
options.set_time_limit(time_limit);
|
||||||
|
|
||||||
options.set_bound(sliver_bound);
|
options.set_bound(sliver_bound);
|
||||||
|
typedef Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> Param;
|
||||||
|
|
||||||
return options;
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||||
template<typename... NP_Pack>
|
template<typename... NP_Pack>
|
||||||
internal::Exude_options exude(const NP_Pack& ...nps)
|
Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> exude(const NP_Pack& ...nps)
|
||||||
{
|
{
|
||||||
return perturb(internal_np::combine_named_parameters(nps...));
|
return exude(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
inline internal::Exude_options no_exude() { return internal::Exude_options(false); }
|
inline Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> no_exude() {
|
||||||
|
typedef Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> Param;
|
||||||
|
return Param(internal::Exude_options(false));
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
// Odt
|
// Odt
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
||||||
internal::Odt_options odt(const CGAL_NP_CLASS& np = parameters::default_values())
|
Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> odt(const CGAL_NP_CLASS& np = parameters::default_values())
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -325,24 +336,27 @@ internal::Odt_options odt(const CGAL_NP_CLASS& np = parameters::default_values()
|
||||||
options.set_bound(freeze_bound);
|
options.set_bound(freeze_bound);
|
||||||
options.set_convergence(convergence);
|
options.set_convergence(convergence);
|
||||||
options.set_max_iteration_number(max_iteration_number);
|
options.set_max_iteration_number(max_iteration_number);
|
||||||
|
typedef Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> Param;
|
||||||
return options;
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||||
template<typename... NP_Pack>
|
template<typename... NP_Pack>
|
||||||
internal::Odt_options Odt(const NP_Pack& ...nps)
|
Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> odt(const NP_Pack& ...nps)
|
||||||
{
|
{
|
||||||
return Odt(internal_np::combine_named_parameters(nps...));
|
return odt(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
inline internal::Odt_options no_odt() { return internal::Odt_options(false); }
|
inline Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> no_odt() {
|
||||||
|
typedef Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> Param;
|
||||||
|
return Param(internal::Odt_options(false));
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
// Lloyd
|
// Lloyd
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
||||||
internal::Lloyd_options lloyd(const CGAL_NP_CLASS& np = parameters::default_values())
|
Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> lloyd(const CGAL_NP_CLASS& np = parameters::default_values())
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -357,54 +371,63 @@ internal::Lloyd_options lloyd(const CGAL_NP_CLASS& np = parameters::default_valu
|
||||||
options.set_convergence(convergence);
|
options.set_convergence(convergence);
|
||||||
options.set_max_iteration_number(max_iteration_number);
|
options.set_max_iteration_number(max_iteration_number);
|
||||||
|
|
||||||
return options;
|
typedef Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> Param;
|
||||||
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||||
template<typename... NP_Pack>
|
template<typename... NP_Pack>
|
||||||
internal::Lloyd_options lloyd(const NP_Pack& ...nps)
|
Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> lloyd(const NP_Pack& ...nps)
|
||||||
{
|
{
|
||||||
return lloyd(internal_np::combine_named_parameters(nps...));
|
return lloyd(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
inline internal::Lloyd_options no_lloyd() { return internal::Lloyd_options(false); }
|
inline Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> no_lloyd() {
|
||||||
|
typedef Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> Param;
|
||||||
|
return Param(internal::Lloyd_options(false));
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
// Manifold options ------------------
|
// Manifold options ------------------
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
||||||
internal::Manifold_options manifold_options(const CGAL_NP_CLASS& np = parameters::default_values())
|
Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> manifold_options(const CGAL_NP_CLASS& np = parameters::default_values())
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
int mesh_topology = choose_parameter(get_parameter(np, internal_np::mesh_topology_number), -1);
|
int mesh_topology = choose_parameter(get_parameter(np, internal_np::mesh_topology_number), -1);
|
||||||
internal::Manifold_options options;
|
internal::Manifold_options options;
|
||||||
options.mesh_topology = mesh_topology;
|
options.mesh_topology = mesh_topology;
|
||||||
return options;
|
|
||||||
|
typedef Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> Param;
|
||||||
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||||
template<typename... NP_Pack>
|
template<typename... NP_Pack>
|
||||||
internal::Manifold_options manifold_options(const NP_Pack& ...nps)
|
Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> manifold_options(const NP_Pack& ...nps)
|
||||||
{
|
{
|
||||||
return manifold_options(internal_np::combine_named_parameters(nps...));
|
return manifold_options(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
inline internal::Manifold_options manifold()
|
inline Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> manifold()
|
||||||
{
|
{
|
||||||
return internal::Manifold_options(
|
typedef Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> Param;
|
||||||
internal::Manifold_options::MANIFOLD);
|
return Param(internal::Manifold_options(
|
||||||
|
internal::Manifold_options::MANIFOLD));
|
||||||
}
|
}
|
||||||
inline internal::Manifold_options manifold_with_boundary()
|
inline Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> manifold_with_boundary()
|
||||||
{
|
{
|
||||||
return internal::Manifold_options(
|
typedef Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> Param;
|
||||||
internal::Manifold_options::MANIFOLD_WITH_BOUNDARY);
|
return Param(internal::Manifold_options(
|
||||||
|
internal::Manifold_options::MANIFOLD_WITH_BOUNDARY));
|
||||||
}
|
}
|
||||||
inline internal::Manifold_options non_manifold()
|
inline Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> non_manifold()
|
||||||
{
|
{
|
||||||
return internal::Manifold_options(
|
typedef Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> Param;
|
||||||
internal::Manifold_options::NON_MANIFOLD);
|
return Param(internal::Manifold_options(
|
||||||
|
internal::Manifold_options::NON_MANIFOLD));
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------
|
// -----------------------------------
|
||||||
|
|
@ -416,7 +439,7 @@ inline internal::Manifold_options non_manifold()
|
||||||
// algorithm.
|
// algorithm.
|
||||||
|
|
||||||
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
template<typename CGAL_NP_TEMPLATE_PARAMETERS>
|
||||||
internal::Mesh_3_options mesh_3_options(const CGAL_NP_CLASS& np = parameters::default_values())
|
Named_function_parameters<internal::Mesh_3_options, internal_np::mesh_param_t> mesh_3_options(const CGAL_NP_CLASS& np = parameters::default_values())
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -436,11 +459,13 @@ internal::Mesh_3_options mesh_3_options(const CGAL_NP_CLASS& np = parameters::de
|
||||||
options.pointer_to_stop_atomic_boolean=choose_parameter(get_parameter(np, internal_np::pointer_to_stop_atomic_boolean_param),
|
options.pointer_to_stop_atomic_boolean=choose_parameter(get_parameter(np, internal_np::pointer_to_stop_atomic_boolean_param),
|
||||||
((internal::Mesh_3_options::Pointer_to_stop_atomic_boolean_t)0));
|
((internal::Mesh_3_options::Pointer_to_stop_atomic_boolean_t)0));
|
||||||
#endif
|
#endif
|
||||||
return options;
|
|
||||||
|
typedef Named_function_parameters<internal::Mesh_3_options, internal_np::mesh_param_t> Param;
|
||||||
|
return Param(options);
|
||||||
}
|
}
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
#ifndef CGAL_NO_DEPRECATED_CODE
|
||||||
template<typename... NP_Pack>
|
template<typename... NP_Pack>
|
||||||
internal::Mesh_3_options manifold_options(const NP_Pack& ...nps)
|
Named_function_parameters<internal::Mesh_3_options, internal_np::mesh_param_t> mesh_3_options(const NP_Pack& ...nps)
|
||||||
{
|
{
|
||||||
return mesh_3_options(internal_np::combine_named_parameters(nps...));
|
return mesh_3_options(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
|
|
@ -645,11 +670,11 @@ void refine_mesh_3(C3T3& c3t3, MeshDomain& domain, MeshCriteria& criteria, const
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
parameters::internal::Exude_options exude_param = choose_parameter(get_parameter(np, internal_np::exude_options_param), parameters::exude());
|
parameters::internal::Exude_options exude_param = choose_parameter(get_parameter(np, internal_np::exude_options_param), parameters::exude().v);
|
||||||
parameters::internal::Perturb_options perturb_param = choose_parameter(get_parameter(np, internal_np::perturb_options_param), parameters::perturb());
|
parameters::internal::Perturb_options perturb_param = choose_parameter(get_parameter(np, internal_np::perturb_options_param), parameters::perturb().v);
|
||||||
parameters::internal::Odt_options odt_param = choose_parameter(get_parameter(np, internal_np::odt_options_param), parameters::no_odt());
|
parameters::internal::Odt_options odt_param = choose_parameter(get_parameter(np, internal_np::odt_options_param), parameters::no_odt().v);
|
||||||
parameters::internal::Lloyd_options lloyd_param = choose_parameter(get_parameter(np, internal_np::lloyd_options_param), parameters::no_lloyd());
|
parameters::internal::Lloyd_options lloyd_param = choose_parameter(get_parameter(np, internal_np::lloyd_options_param), parameters::no_lloyd().v);
|
||||||
parameters::Reset reset_param = choose_parameter(get_parameter(np, internal_np::reset_options_param), parameters::reset_c3t3());
|
parameters::Reset reset_param = choose_parameter(get_parameter(np, internal_np::reset_options_param), parameters::reset_c3t3().v);
|
||||||
parameters::internal::Mesh_3_options mesh_options_param = choose_parameter(get_parameter(np, internal_np::mesh_param), parameters::internal::Mesh_3_options());
|
parameters::internal::Mesh_3_options mesh_options_param = choose_parameter(get_parameter(np, internal_np::mesh_param), parameters::internal::Mesh_3_options());
|
||||||
parameters::internal::Manifold_options manifold_options_param = choose_parameter(get_parameter(np, internal_np::manifold_param), parameters::internal::Manifold_options());
|
parameters::internal::Manifold_options manifold_options_param = choose_parameter(get_parameter(np, internal_np::manifold_param), parameters::internal::Manifold_options());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ int main()
|
||||||
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, exude_param = no_exude(), perturb_param = no_perturb());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_exude(), no_perturb());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::stringstream off_file;
|
std::stringstream off_file;
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ int main(int argc, char*argv[])
|
||||||
cell_radius_edge_ratio = 3);
|
cell_radius_edge_ratio = 3);
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, perturb_param = no_perturb(), exude_param = no_exude());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_perturb(), no_exude());
|
||||||
|
|
||||||
Gt::Construct_weighted_circumcenter_3 w_circumcenter =
|
Gt::Construct_weighted_circumcenter_3 w_circumcenter =
|
||||||
c3t3.triangulation().geom_traits().construct_weighted_circumcenter_3_object();
|
c3t3.triangulation().geom_traits().construct_weighted_circumcenter_3_object();
|
||||||
|
|
|
||||||
|
|
@ -82,10 +82,10 @@ public:
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
perturb_param = no_perturb(),
|
no_perturb(),
|
||||||
exude_param = no_exude(),
|
no_exude(),
|
||||||
mesh_options_param = mesh_3_options(number_of_initial_points = 30),
|
mesh_3_options(number_of_initial_points = 30),
|
||||||
manifold_options_param = non_manifold()
|
non_manifold()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Verify
|
// Verify
|
||||||
|
|
|
||||||
|
|
@ -74,10 +74,10 @@ public:
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
perturb_param = no_perturb(),
|
no_perturb(),
|
||||||
exude_param = no_exude(),
|
no_exude(),
|
||||||
mesh_options_param = mesh_3_options(number_of_initial_points = 30),
|
mesh_3_options(number_of_initial_points = 30),
|
||||||
manifold_options_param = non_manifold()
|
non_manifold()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Verify
|
// Verify
|
||||||
|
|
|
||||||
|
|
@ -58,8 +58,8 @@ public:
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb());
|
CGAL::parameters::no_perturb());
|
||||||
|
|
||||||
c3t3.remove_isolated_vertices();
|
c3t3.remove_isolated_vertices();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,8 @@ public:
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb());
|
CGAL::parameters::no_perturb());
|
||||||
|
|
||||||
// Verify
|
// Verify
|
||||||
this->verify_c3t3_volume(c3t3, 1772330*0.95, 1772330*1.05);
|
this->verify_c3t3_volume(c3t3, 1772330*0.95, 1772330*1.05);
|
||||||
|
|
|
||||||
|
|
@ -73,8 +73,8 @@ void test()
|
||||||
{
|
{
|
||||||
std::cout << "------- Iteration " << (i+1) << " -------" << std::endl;
|
std::cout << "------- Iteration " << (i+1) << " -------" << std::endl;
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
perturb_param = no_perturb(),
|
no_perturb(),
|
||||||
exude_param = no_exude());
|
no_exude());
|
||||||
std::ostringstream oss;
|
std::ostringstream oss;
|
||||||
c3t3.output_to_medit(oss);
|
c3t3.output_to_medit(oss);
|
||||||
output_c3t3.push_back(oss.str()); //[5*i]
|
output_c3t3.push_back(oss.str()); //[5*i]
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,8 @@ struct Implicit_tester : public Tester<K>
|
||||||
domain.index_from_surface_patch_index(Surface_patch_index(0,1)));
|
domain.index_from_surface_patch_index(Surface_patch_index(0,1)));
|
||||||
|
|
||||||
CGAL::refine_mesh_3(c3t3, domain, criteria,
|
CGAL::refine_mesh_3(c3t3, domain, criteria,
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb());
|
CGAL::parameters::no_perturb());
|
||||||
|
|
||||||
CGAL::remove_far_points_in_mesh_3(c3t3);
|
CGAL::remove_far_points_in_mesh_3(c3t3);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,8 +66,8 @@ struct Implicit_tester : public Tester<K>
|
||||||
domain.index_from_surface_patch_index(Surface_patch_index(0,1)));
|
domain.index_from_surface_patch_index(Surface_patch_index(0,1)));
|
||||||
|
|
||||||
CGAL::refine_mesh_3(c3t3, domain, criteria,
|
CGAL::refine_mesh_3(c3t3, domain, criteria,
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb());
|
CGAL::parameters::no_perturb());
|
||||||
|
|
||||||
CGAL::remove_far_points_in_mesh_3(c3t3);
|
CGAL::remove_far_points_in_mesh_3(c3t3);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,8 +80,8 @@ struct Polyhedron_tester : public Tester<K>
|
||||||
domain.index_from_surface_patch_index(Surface_patch_index(0,1)));
|
domain.index_from_surface_patch_index(Surface_patch_index(0,1)));
|
||||||
|
|
||||||
CGAL::refine_mesh_3(c3t3, domain, criteria,
|
CGAL::refine_mesh_3(c3t3, domain, criteria,
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb());
|
CGAL::parameters::no_perturb());
|
||||||
|
|
||||||
CGAL::remove_far_points_in_mesh_3(c3t3);
|
CGAL::remove_far_points_in_mesh_3(c3t3);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -125,9 +125,9 @@ struct Polyhedron_with_features_tester : public Tester<K>
|
||||||
|
|
||||||
// Mesh generation
|
// Mesh generation
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
|
||||||
CGAL::parameters::manifold_options_param = CGAL::parameters::manifold(),
|
CGAL::parameters::manifold(),
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb());
|
CGAL::parameters::no_perturb());
|
||||||
|
|
||||||
CGAL::remove_far_points_in_mesh_3(c3t3);
|
CGAL::remove_far_points_in_mesh_3(c3t3);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -118,9 +118,9 @@ struct Tester
|
||||||
// Refine again and verify nothing changed
|
// Refine again and verify nothing changed
|
||||||
std::cerr << "Refining again...\n";
|
std::cerr << "Refining again...\n";
|
||||||
refine_mesh_3(c3t3,domain,criteria,
|
refine_mesh_3(c3t3,domain,criteria,
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb(),
|
CGAL::parameters::no_perturb(),
|
||||||
CGAL::parameters::reset_param = CGAL::parameters::no_reset_c3t3());
|
CGAL::parameters::no_reset_c3t3());
|
||||||
|
|
||||||
#ifndef CGAL_MESH_3_USE_OLD_SURFACE_RESTRICTED_DELAUNAY_UPDATE
|
#ifndef CGAL_MESH_3_USE_OLD_SURFACE_RESTRICTED_DELAUNAY_UPDATE
|
||||||
// Using adjacencies instead of calling oracle to update restricted
|
// Using adjacencies instead of calling oracle to update restricted
|
||||||
|
|
@ -134,9 +134,9 @@ struct Tester
|
||||||
v = c3t3.triangulation().number_of_vertices();
|
v = c3t3.triangulation().number_of_vertices();
|
||||||
|
|
||||||
refine_mesh_3(c3t3,domain,criteria,
|
refine_mesh_3(c3t3,domain,criteria,
|
||||||
CGAL::parameters::exude_param = CGAL::parameters::no_exude(),
|
CGAL::parameters::no_exude(),
|
||||||
CGAL::parameters::perturb_param = CGAL::parameters::no_perturb(),
|
CGAL::parameters::no_perturb(),
|
||||||
CGAL::parameters::reset_param = CGAL::parameters::no_reset_c3t3());
|
CGAL::parameters::no_reset_c3t3());
|
||||||
}
|
}
|
||||||
|
|
||||||
f = c3t3.number_of_facets_in_complex();
|
f = c3t3.number_of_facets_in_complex();
|
||||||
|
|
|
||||||
|
|
@ -108,8 +108,8 @@ int main(int argc, char** argv)
|
||||||
domain.add_corner(Point(0.51, 0.51, 0.5));
|
domain.add_corner(Point(0.51, 0.51, 0.5));
|
||||||
|
|
||||||
// Mesh generation WITHOUT feature preservation (and no optimizers)
|
// Mesh generation WITHOUT feature preservation (and no optimizers)
|
||||||
C3t3 c3t3 = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, features_param = no_features(),
|
C3t3 c3t3 = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, no_features(),
|
||||||
exude_param = no_exude(), perturb_param = no_perturb());
|
no_exude(), perturb_param = no_perturb());
|
||||||
std::ofstream medit_file("output_implicit_shape_without_protection.mesh");
|
std::ofstream medit_file("output_implicit_shape_without_protection.mesh");
|
||||||
CGAL::IO::output_periodic_mesh_to_medit(medit_file, c3t3, number_of_copies_in_output);
|
CGAL::IO::output_periodic_mesh_to_medit(medit_file, c3t3, number_of_copies_in_output);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,9 +71,9 @@ int main(int argc, char** argv)
|
||||||
// Mesh generation with optimizers
|
// Mesh generation with optimizers
|
||||||
C3t3 c3t3 = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria,
|
C3t3 c3t3 = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria,
|
||||||
odt_param = odt(convergence=0.03, freeze_bound=0.02, time_limit=30),
|
odt_param = odt(convergence=0.03, freeze_bound=0.02, time_limit=30),
|
||||||
lloyd_param = lloyd(max_iteration_number=10),
|
lloyd(max_iteration_number=10),
|
||||||
perturb_param = perturb(sliver_bound=10, time_limit=30),
|
perturb(sliver_bound=10, time_limit=30),
|
||||||
exude_param = exude(sliver_bound=10, time_limit=0));
|
exude(sliver_bound=10, time_limit=0));
|
||||||
|
|
||||||
std::ofstream medit_file("output_implicit_shape_optimized.mesh");
|
std::ofstream medit_file("output_implicit_shape_optimized.mesh");
|
||||||
CGAL::IO::output_periodic_mesh_to_medit(medit_file, c3t3);
|
CGAL::IO::output_periodic_mesh_to_medit(medit_file, c3t3);
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ void test_protected_sphere()
|
||||||
domain.add_features(polylines.begin(), polylines.end());
|
domain.add_features(polylines.begin(), polylines.end());
|
||||||
|
|
||||||
// Mesh generation with feature preservation
|
// Mesh generation with feature preservation
|
||||||
C3t3 c3t3_bis = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, manifold_options_param = manifold());
|
C3t3 c3t3_bis = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, manifold());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::ofstream medit_file_bis("protected_sphere.mesh");
|
std::ofstream medit_file_bis("protected_sphere.mesh");
|
||||||
|
|
@ -159,7 +159,7 @@ void test_protected_squary_cylinder()
|
||||||
domain.add_features(polylines.begin(), polylines.end());
|
domain.add_features(polylines.begin(), polylines.end());
|
||||||
|
|
||||||
// Mesh generation with feature preservation
|
// Mesh generation with feature preservation
|
||||||
C3t3 c3t3_bis = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, manifold_options_param = manifold());
|
C3t3 c3t3_bis = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, manifold());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::ofstream medit_file_bis("squary_cylinder.mesh");
|
std::ofstream medit_file_bis("squary_cylinder.mesh");
|
||||||
|
|
@ -272,7 +272,7 @@ void test_protected_squary_cylinder_2()
|
||||||
domain.add_features(polylines.begin(), polylines.end());
|
domain.add_features(polylines.begin(), polylines.end());
|
||||||
|
|
||||||
// Mesh generation with feature preservation
|
// Mesh generation with feature preservation
|
||||||
C3t3 c3t3_bis = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, manifold_options_param = manifold());
|
C3t3 c3t3_bis = CGAL::make_periodic_3_mesh_3<C3t3>(domain, criteria, manifold());
|
||||||
|
|
||||||
// Output
|
// Output
|
||||||
std::ofstream medit_file_bis("squary_cylinder_2.mesh");
|
std::ofstream medit_file_bis("squary_cylinder_2.mesh");
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ int main(int, char**)
|
||||||
CGAL::parameters::facet_size = 4,
|
CGAL::parameters::facet_size = 4,
|
||||||
CGAL::parameters::facet_distance = 0.1);
|
CGAL::parameters::facet_distance = 0.1);
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3> (domain, criteria,
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3> (domain, criteria,
|
||||||
CGAL::parameters::manifold_options_param = CGAL::parameters::manifold());
|
CGAL::parameters::manifold());
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ int main()
|
||||||
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
Mesh_criteria criteria(facet_criteria, cell_criteria);
|
||||||
|
|
||||||
// Meshing
|
// Meshing
|
||||||
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, exude_param = no_exude(), perturb_param = no_perturb());
|
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria, no_exude(), no_perturb());
|
||||||
|
|
||||||
std::cout << "Meshing done." << std::endl;
|
std::cout << "Meshing done." << std::endl;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue