Changed some functions to pass without specifying param. name

This commit is contained in:
GYuvanShankar 2022-07-05 20:33:49 +05:30
parent 4457b05350
commit 996985126c
36 changed files with 170 additions and 139 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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
); );

View File

@ -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);

View File

@ -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");

View File

@ -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);

View File

@ -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);

View File

@ -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");

View File

@ -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");

View File

@ -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);

View File

@ -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);

View File

@ -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");

View File

@ -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");

View File

@ -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

View File

@ -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);

View 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.

View File

@ -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.

View File

@ -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

View File

@ -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());

View File

@ -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;

View 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();

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -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);

View File

@ -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]

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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();

View File

@ -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);

View File

@ -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);

View File

@ -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");

View File

@ -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;
} }

View File

@ -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;