Removed np for mandatory param for certain fns

This commit is contained in:
GYuvanShankar 2022-07-27 20:16:47 +05:30
parent 8a13b7fbeb
commit 1ee7340343
10 changed files with 7 additions and 192 deletions

View File

@ -45,13 +45,11 @@ Named_function_parameters<internal::Perturb_options, internal_np::perturb_option
return Param(options);
}
#ifndef CGAL_NO_DEPRECATED_CODE
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> perturb(const CGAL_NP_CLASS& ... nps)
{
return perturb(internal_np::combine_named_parameters(nps...));
}
#endif
inline Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> no_perturb() {
@ -81,13 +79,12 @@ Named_function_parameters<internal::Exude_options, internal_np::exude_options_pa
return Param(options);
}
#ifndef CGAL_NO_DEPRECATED_CODE
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> exude(const CGAL_NP_CLASS& ... nps)
{
return exude(internal_np::combine_named_parameters(nps...));
}
#endif
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));
@ -115,13 +112,12 @@ Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_
return Param(options);
}
#ifndef CGAL_NO_DEPRECATED_CODE
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> odt(const CGAL_NP_CLASS& ... nps)
{
return odt(internal_np::combine_named_parameters(nps...));
}
#endif
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));
@ -150,13 +146,13 @@ Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_pa
return Param(options);
}
#ifndef CGAL_NO_DEPRECATED_CODE
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> lloyd(const CGAL_NP_CLASS& ... nps)
{
return lloyd(internal_np::combine_named_parameters(nps...));
}
#endif
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));
@ -178,13 +174,12 @@ Named_function_parameters<internal::Manifold_options, internal_np::manifold_para
return Param(options);
}
#ifndef CGAL_NO_DEPRECATED_CODE
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> manifold_options(const CGAL_NP_CLASS& ... nps)
{
return manifold_options(internal_np::combine_named_parameters(nps...));
}
#endif
inline Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> manifold()
{
@ -238,13 +233,12 @@ Named_function_parameters<internal::Mesh_3_options, internal_np::mesh_param_t> m
typedef Named_function_parameters<internal::Mesh_3_options, internal_np::mesh_param_t> Param;
return Param(options);
}
#ifndef CGAL_NO_DEPRECATED_CODE
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Named_function_parameters<internal::Mesh_3_options, internal_np::mesh_param_t> mesh_3_options(const CGAL_NP_CLASS& ... nps)
{
return mesh_3_options(internal_np::combine_named_parameters(nps...));
}
#endif
} //namespace parameters

View File

@ -114,17 +114,6 @@ Mesh_optimization_return_code exude_mesh_3(C3T3& c3t3, double time_limit = 0, do
return exude_mesh_3(c3t3, CGAL::parameters::time_limit(time_limit).lower_sliver_bound(sliver_bound));
}
#endif
template<typename CGAL_NP_TEMPLATE_PARAMETERS_NO_DEFAULT>
Mesh_optimization_return_code exude_mesh_3(const CGAL_NP_CLASS& np)
{
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::c3t3_param_t>::value, "Value for required parameter not found");
using parameters::choose_parameter;
using parameters::get_parameter;
int time_limit=choose_parameter(get_parameter(np,internal_np::maximum_running_time),0);
double sliver_bound= choose_parameter(get_parameter(np,internal_np::lower_sliver_bound),parameters::default_values_for_mesh_3::exude_sliver_bound);
auto c3t3 = get_parameter(np,internal_np::c3t3_param);
return exude_mesh_3_impl(c3t3,time_limit,sliver_bound);
}
#ifndef DOXYGEN_RUNNING
template<typename C3T3, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code exude_mesh_3(C3T3& c3t3, const CGAL_NP_CLASS& ... nps)
@ -132,11 +121,6 @@ Mesh_optimization_return_code exude_mesh_3(C3T3& c3t3, const CGAL_NP_CLASS& ...
return exude_mesh_3(c3t3,internal_np::combine_named_parameters(nps...));
}
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code exude_mesh_3(const CGAL_NP_CLASS& ... nps)
{
return exude_mesh_3(internal_np::combine_named_parameters(nps...));
}

View File

@ -162,23 +162,6 @@ Mesh_optimization_return_code lloyd_optimize_mesh_3(C3T3& c3t3, MeshDomain& doma
return lloyd_optimize_mesh_3_impl(c3t3, domain, time_limit, max_iterations, convergence_ratio, freeze_bound, do_freeze);
}
template<typename CGAL_NP_TEMPLATE_PARAMETERS_NO_DEFAULT>
Mesh_optimization_return_code lloyd_optimize_mesh_3(const CGAL_NP_CLASS& np)
{
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::c3t3_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_domain_param_t>::value, "Value for required parameter not found");
using parameters::choose_parameter;
using parameters::get_parameter;
int max_iterations = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 0);
const double convergence_ratio = choose_parameter(get_parameter(np, internal_np::convergence_ratio), 0.001);
const double freeze_bound = choose_parameter(get_parameter(np, internal_np::vertex_freeze_bound), 0.001);
const double time_limit = choose_parameter(get_parameter(np, internal_np::maximum_running_time), 0.);
bool do_freeze = choose_parameter(get_parameter(np,internal_np::freeze),true);
auto c3t3 = get_parameter(np,internal_np::c3t3_param);
auto domain = get_parameter(np,internal_np::mesh_domain_param);
return lloyd_optimize_mesh_3_impl(c3t3, domain, time_limit, max_iterations, convergence_ratio, freeze_bound, do_freeze);
}
#ifndef DOXYGEN_RUNNING
template<typename C3T3, typename MeshDomain,typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code lloyd_optimize_mesh_3(C3T3& c3t3,MeshDomain& domain, const CGAL_NP_CLASS& ... nps)
@ -186,11 +169,6 @@ Mesh_optimization_return_code lloyd_optimize_mesh_3(C3T3& c3t3,MeshDomain& domai
return lloyd_optimize_mesh_3(c3t3,domain, internal_np::combine_named_parameters(nps...));
}
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code lloyd_optimize_mesh_3(const CGAL_NP_CLASS& ... nps)
{
return lloyd_optimize_mesh_3(internal_np::combine_named_parameters(nps...));
}
template <typename C3T3, typename MeshDomain>
Mesh_optimization_return_code

View File

@ -152,23 +152,6 @@ Mesh_optimization_return_code odt_optimize_mesh_3(C3T3& c3t3, MeshDomain& domain
return odt_optimize_mesh_3_impl(c3t3, domain, time_limit, max_iteration_number, convergence, freeze_bound, do_freeze);
}
template<typename CGAL_NP_TEMPLATE_PARAMETERS_NO_DEFAULT>
Mesh_optimization_return_code odt_optimize_mesh_3(const CGAL_NP_CLASS& np)
{
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::c3t3_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_domain_param_t>::value, "Value for required parameter not found");
using parameters::choose_parameter;
using parameters::get_parameter;
double time_limit=choose_parameter(get_parameter(np,internal_np::maximum_running_time),0);
std::size_t max_iteration_number=choose_parameter(get_parameter(np,internal_np::number_of_iterations),0);
double convergence=choose_parameter(get_parameter(np,internal_np::convergence_ratio),0.02);
double freeze_bound=choose_parameter(get_parameter(np,internal_np::vertex_freeze_bound),0.01);
bool do_freeze=choose_parameter(get_parameter(np,internal_np::freeze),true);
auto c3t3 = get_parameter(np,internal_np::c3t3_param);
auto domain = get_parameter(np,internal_np::mesh_domain_param);
return odt_optimize_mesh_3_impl(c3t3, domain, time_limit, max_iteration_number, convergence, freeze_bound, do_freeze);
}
#ifndef DOXYGEN_RUNNING
template<typename C3T3, typename MeshDomain, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
@ -176,11 +159,6 @@ Mesh_optimization_return_code odt_optimize_mesh_3(C3T3& c3t3, MeshDomain& domain
{
return odt_optimize_mesh_3(c3t3, domain, internal_np::combine_named_parameters(nps...));
}
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code odt_optimize_mesh_3(const CGAL_NP_CLASS& ... nps)
{
return odt_optimize_mesh_3(internal_np::combine_named_parameters(nps...));
}
template <typename C3T3, typename MeshDomain>
Mesh_optimization_return_code

View File

@ -126,22 +126,6 @@ Mesh_optimization_return_code perturb_mesh_3(C3T3& c3t3, MeshDomain& domain, con
return perturb_mesh_3_impl(c3t3, domain, time_limit, sliver_criterion, perturbation_vector);
}
template<typename CGAL_NP_TEMPLATE_PARAMETERS_NO_DEFAULT>
Mesh_optimization_return_code perturb_mesh_3(const CGAL_NP_CLASS& np)
{
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::c3t3_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_domain_param_t>::value, "Value for required parameter not found");
using parameters::choose_parameter;
using parameters::get_parameter;
auto c3t3 = get_parameter(np,internal_np::c3t3_param);
auto domain = get_parameter(np,internal_np::mesh_domain_param);
double time_limit = choose_parameter(get_parameter(np,internal_np::maximum_running_time),0);
auto sliver_bound = choose_parameter(get_parameter(np,internal_np::lower_sliver_bound), parameters::default_values_for_mesh_3::perturb_sliver_bound);
auto sliver_criterion = choose_parameter(get_parameter(np, internal_np::sliver_criteria), parameters::default_values_for_mesh_3::default_sliver_criterion(c3t3,sliver_bound));
auto perturbation_vector = choose_parameter(get_parameter(np,internal_np::perturb_vector), default_perturbation_vector(c3t3,domain,sliver_criterion));
return perturb_mesh_3_impl(c3t3, domain, time_limit, sliver_criterion, perturbation_vector);
}
#ifndef DOXYGEN_RUNNING
template<typename C3T3, typename MeshDomain, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
@ -149,11 +133,6 @@ Mesh_optimization_return_code perturb_mesh_3(C3T3& c3t3, MeshDomain& domain, con
{
return perturb_mesh_3(c3t3,domain, internal_np::combine_named_parameters(nps...));
}
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code perturb_mesh_3(const CGAL_NP_CLASS& ... nps)
{
return perturb_mesh_3(internal_np::combine_named_parameters(nps...));
}
template <typename C3T3,
typename MeshDomain,

View File

@ -466,48 +466,12 @@ void refine_mesh_3(C3T3& c3t3, MeshDomain& domain, MeshCriteria& criteria, const
manifold_options_param);
}
template<typename CGAL_NP_TEMPLATE_PARAMETERS_NO_DEFAULT>
Mesh_optimization_return_code refine_mesh_3(const CGAL_NP_CLASS& np)
{
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::c3t3_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_domain_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_criteria_param_t>::value, "Value for required parameter not found");
using parameters::choose_parameter;
using parameters::get_parameter;
auto c3t3 = get_parameter(np,internal_np::c3t3_param);
auto domain = get_parameter(np,internal_np::mesh_domain_param);
auto criteria = get_parameter(np, internal_np::mesh_criteria_param);
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().v);
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().v);
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::Manifold_options manifold_options_param = choose_parameter(get_parameter(np, internal_np::manifold_param), parameters::internal::Manifold_options());
return refine_mesh_3_impl(c3t3,
domain,
criteria,
exude_param,
perturb_param,
odt_param,
lloyd_param,
reset_param(),
mesh_options_param,
manifold_options_param);
}
#ifndef DOXYGEN_RUNNING
template<typename C3T3, typename MeshDomain, typename MeshCriteria, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
void refine_mesh_3(C3T3& c3t3, MeshDomain& domain, MeshCriteria& criteria, const CGAL_NP_CLASS& ... nps)
{
return refine_mesh_3(c3t3, domain, criteria, internal_np::combine_named_parameters(nps...));
}
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
void refine_mesh_3(const CGAL_NP_CLASS& ... nps)
{
return refine_mesh_3(internal_np::combine_named_parameters(nps...));
}
/**
* @brief This function refines the mesh c3t3 wrt domain & criteria

View File

@ -149,32 +149,12 @@ Mesh_optimization_return_code lloyd_optimize_periodic_3_mesh_3(C3T3& c3t3, MeshD
bool do_freeze = choose_parameter(get_parameter(np,internal_np::freeze),true);
return lloyd_optimize_mesh_3_impl(c3t3, domain, time_limit, max_iterations, convergence_ratio, freeze_bound, do_freeze);
}
template<typename CGAL_NP_TEMPLATE_PARAMETERS_NO_DEFAULT>
Mesh_optimization_return_code lloyd_optimize_periodic_3_mesh_3(const CGAL_NP_CLASS& np)
{
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::c3t3_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_domain_param_t>::value, "Value for required parameter not found");
using parameters::choose_parameter;
using parameters::get_parameter;
auto c3t3 = get_parameter(np,internal_np::c3t3_param);
auto domain = get_parameter(np,internal_np::mesh_domain_param);
int max_iterations = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 0);
const double convergence_ratio = choose_parameter(get_parameter(np, internal_np::convergence_ratio), 0.001);
const double freeze_bound = choose_parameter(get_parameter(np, internal_np::vertex_freeze_bound), 0.001);
const double time_limit = choose_parameter(get_parameter(np, internal_np::maximum_running_time), 0.);
bool do_freeze = choose_parameter(get_parameter(np,internal_np::freeze),true);
return lloyd_optimize_mesh_3_impl(c3t3, domain, time_limit, max_iterations, convergence_ratio, freeze_bound, do_freeze);
}
template<typename C3T3, typename MeshDomain,typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code lloyd_optimize_periodic_3_mesh_3(C3T3& c3t3,MeshDomain& domain, const CGAL_NP_CLASS& ... nps)
{
return lloyd_optimize_periodic_3_mesh_3(c3t3,domain, internal_np::combine_named_parameters(nps...));
}
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
Mesh_optimization_return_code lloyd_optimize_periodic_3_mesh_3(const CGAL_NP_CLASS& ... nps)
{
return lloyd_optimize_periodic_3_mesh_3(internal_np::combine_named_parameters(nps...));
}
} // namespace CGAL

View File

@ -322,48 +322,12 @@ void refine_periodic_3_mesh_3(C3T3& c3t3, MeshDomain& domain, MeshCriteria& crit
manifold_options_param);
}
template<typename CGAL_NP_TEMPLATE_PARAMETERS_NO_DEFAULT>
void refine_periodic_3_mesh_3(const CGAL_NP_CLASS& np)
{
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::c3t3_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_domain_param_t>::value, "Value for required parameter not found");
static_assert(!parameters::is_default_parameter<CGAL_NP_CLASS, internal_np::mesh_criteria_param_t>::value, "Value for required parameter not found");
using parameters::choose_parameter;
using parameters::get_parameter;
auto c3t3 = get_parameter(np,internal_np::c3t3_param);
auto domain = get_parameter(np,internal_np::mesh_domain_param);
auto criteria = get_parameter(np, internal_np::mesh_criteria_param);
parameters::internal::Exude_options exude_param = choose_parameter(get_parameter(np, internal_np::exude_options_param), parameters::no_exude());
parameters::internal::Perturb_options perturb_param = choose_parameter(get_parameter(np, internal_np::perturb_options_param), parameters::no_perturb());
parameters::internal::Odt_options odt_param = choose_parameter(get_parameter(np, internal_np::odt_options_param), parameters::no_odt());
parameters::internal::Lloyd_options lloyd_param = choose_parameter(get_parameter(np, internal_np::lloyd_options_param), parameters::no_lloyd());
parameters::Reset reset_param = choose_parameter(get_parameter(np, internal_np::reset_options_param), parameters::reset_c3t3());
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());
return refine_periodic_3_mesh_3_impl(c3t3,
domain,
criteria,
exude_param,
perturb_param,
odt_param,
lloyd_param,
reset_param(),
mesh_options_param,
manifold_options_param);
}
#ifndef DOXYGEN_RUNNING
template<typename C3T3, typename MeshDomain, typename MeshCriteria, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
void refine_periodic_3_mesh_3(C3T3& c3t3, MeshDomain& domain, MeshCriteria& criteria, const CGAL_NP_CLASS& ... nps)
{
return refine_periodic_3_mesh_3(c3t3, domain, criteria, internal_np::combine_named_parameters(nps...));
}
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
void refine_periodic_3_mesh_3(const CGAL_NP_CLASS& ... nps)
{
return refine_periodic_3_mesh_3(internal_np::combine_named_parameters(nps...));
}
/**
* @brief This function refines the mesh c3t3 wrt domain & criteria
*

View File

@ -349,9 +349,6 @@ const Boost_parameter_compatibility_wrapper<internal_np::sliver_criteria_t> sliv
const Boost_parameter_compatibility_wrapper<internal_np::perturb_vector_t> perturbation_vector;
//Compatibility wrappers for exude_mesh_3.h
const Boost_parameter_compatibility_wrapper<internal_np::lower_sliver_bound_t> sliver_bound;
const Boost_parameter_compatibility_wrapper<internal_np::c3t3_param_t> c3t3_named_param;
const Boost_parameter_compatibility_wrapper<internal_np::mesh_domain_param_t> mesh_domain;
const Boost_parameter_compatibility_wrapper<internal_np::mesh_criteria_param_t> mesh_criteria;
const Boost_parameter_compatibility_wrapper<internal_np::mesh_topology_number_t> mesh_topology;
const Boost_parameter_compatibility_wrapper<internal_np::dump_after_init_prefix_param_t> dump_after_init_prefix;
const Boost_parameter_compatibility_wrapper<internal_np::dump_after_refine_surface_prefix_param_t> dump_after_refine_surface_prefix;

View File

@ -252,9 +252,6 @@ CGAL_add_named_parameter(i_seed_end_iterator_t, i_seed_end_iterator, i_seed_end_
//List of named parameters used in exude_mesh_3.h
CGAL_add_named_parameter(lower_sliver_bound_t,lower_sliver_bound,lower_sliver_bound)
CGAL_add_named_parameter(freeze_t,freeze,freeze)
CGAL_add_named_parameter(c3t3_param_t, c3t3_param, c3t3_param)
CGAL_add_named_parameter(mesh_domain_param_t, mesh_domain_param, mesh_domain_param)
CGAL_add_named_parameter(mesh_criteria_param_t, mesh_criteria_param, mesh_criteria_param)
//List of named parameters used in perturb_mesh_3.h
CGAL_add_named_parameter(sliver_criteria_t, sliver_criteria, sliver_criteria)
CGAL_add_named_parameter(perturb_vector_t, perturb_vector, perturb_vector)