mirror of https://github.com/CGAL/cgal
Removed np for mandatory param for certain fns
This commit is contained in:
parent
8a13b7fbeb
commit
1ee7340343
|
|
@ -45,13 +45,11 @@ Named_function_parameters<internal::Perturb_options, internal_np::perturb_option
|
||||||
return Param(options);
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
|
||||||
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
return perturb(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
inline Named_function_parameters<internal::Perturb_options, internal_np::perturb_options_param_t> no_perturb() {
|
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);
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
|
||||||
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
return exude(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
inline Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> no_exude() {
|
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;
|
typedef Named_function_parameters<internal::Exude_options, internal_np::exude_options_param_t> Param;
|
||||||
return Param(internal::Exude_options(false));
|
return Param(internal::Exude_options(false));
|
||||||
|
|
@ -115,13 +112,12 @@ Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_
|
||||||
return Param(options);
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
|
||||||
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
return odt(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
inline Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> no_odt() {
|
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;
|
typedef Named_function_parameters<internal::Odt_options, internal_np::odt_options_param_t> Param;
|
||||||
return Param(internal::Odt_options(false));
|
return Param(internal::Odt_options(false));
|
||||||
|
|
@ -150,13 +146,13 @@ Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_pa
|
||||||
return Param(options);
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
|
||||||
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
return lloyd(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
inline Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> no_lloyd() {
|
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;
|
typedef Named_function_parameters<internal::Lloyd_options, internal_np::lloyd_options_param_t> Param;
|
||||||
return Param(internal::Lloyd_options(false));
|
return Param(internal::Lloyd_options(false));
|
||||||
|
|
@ -178,13 +174,12 @@ Named_function_parameters<internal::Manifold_options, internal_np::manifold_para
|
||||||
return Param(options);
|
return Param(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
|
||||||
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
return manifold_options(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
inline Named_function_parameters<internal::Manifold_options, internal_np::manifold_param_t> manifold()
|
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;
|
typedef Named_function_parameters<internal::Mesh_3_options, internal_np::mesh_param_t> Param;
|
||||||
return Param(options);
|
return Param(options);
|
||||||
}
|
}
|
||||||
#ifndef CGAL_NO_DEPRECATED_CODE
|
|
||||||
template<typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
return mesh_3_options(internal_np::combine_named_parameters(nps...));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
} //namespace parameters
|
} //namespace parameters
|
||||||
|
|
|
||||||
|
|
@ -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));
|
return exude_mesh_3(c3t3, CGAL::parameters::time_limit(time_limit).lower_sliver_bound(sliver_bound));
|
||||||
}
|
}
|
||||||
#endif
|
#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
|
#ifndef DOXYGEN_RUNNING
|
||||||
template<typename C3T3, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
template<typename C3T3, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
||||||
Mesh_optimization_return_code exude_mesh_3(C3T3& c3t3, const CGAL_NP_CLASS& ... nps)
|
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...));
|
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...));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
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
|
#ifndef DOXYGEN_RUNNING
|
||||||
template<typename C3T3, typename MeshDomain,typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
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>
|
template <typename C3T3, typename MeshDomain>
|
||||||
Mesh_optimization_return_code
|
Mesh_optimization_return_code
|
||||||
|
|
|
||||||
|
|
@ -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);
|
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
|
#ifndef DOXYGEN_RUNNING
|
||||||
|
|
||||||
template<typename C3T3, typename MeshDomain, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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...));
|
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>
|
template <typename C3T3, typename MeshDomain>
|
||||||
Mesh_optimization_return_code
|
Mesh_optimization_return_code
|
||||||
|
|
|
||||||
|
|
@ -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);
|
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
|
#ifndef DOXYGEN_RUNNING
|
||||||
template<typename C3T3, typename MeshDomain, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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...));
|
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,
|
template <typename C3T3,
|
||||||
typename MeshDomain,
|
typename MeshDomain,
|
||||||
|
|
|
||||||
|
|
@ -466,48 +466,12 @@ void refine_mesh_3(C3T3& c3t3, MeshDomain& domain, MeshCriteria& criteria, const
|
||||||
manifold_options_param);
|
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
|
#ifndef DOXYGEN_RUNNING
|
||||||
template<typename C3T3, typename MeshDomain, typename MeshCriteria, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
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
|
* @brief This function refines the mesh c3t3 wrt domain & criteria
|
||||||
|
|
|
||||||
|
|
@ -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);
|
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);
|
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>
|
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)
|
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...));
|
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
|
} // namespace CGAL
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -322,48 +322,12 @@ void refine_periodic_3_mesh_3(C3T3& c3t3, MeshDomain& domain, MeshCriteria& crit
|
||||||
manifold_options_param);
|
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
|
#ifndef DOXYGEN_RUNNING
|
||||||
template<typename C3T3, typename MeshDomain, typename MeshCriteria, typename ... CGAL_NP_TEMPLATE_PARAMETERS_VARIADIC>
|
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)
|
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...));
|
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
|
* @brief This function refines the mesh c3t3 wrt domain & criteria
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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;
|
const Boost_parameter_compatibility_wrapper<internal_np::perturb_vector_t> perturbation_vector;
|
||||||
//Compatibility wrappers for exude_mesh_3.h
|
//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::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::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_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;
|
const Boost_parameter_compatibility_wrapper<internal_np::dump_after_refine_surface_prefix_param_t> dump_after_refine_surface_prefix;
|
||||||
|
|
|
||||||
|
|
@ -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
|
//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(lower_sliver_bound_t,lower_sliver_bound,lower_sliver_bound)
|
||||||
CGAL_add_named_parameter(freeze_t,freeze,freeze)
|
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
|
//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(sliver_criteria_t, sliver_criteria, sliver_criteria)
|
||||||
CGAL_add_named_parameter(perturb_vector_t, perturb_vector, perturb_vector)
|
CGAL_add_named_parameter(perturb_vector_t, perturb_vector, perturb_vector)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue