diff --git a/Surface_mesh_approximation/include/CGAL/vsa_mesh_approximation.h b/Surface_mesh_approximation/include/CGAL/vsa_mesh_approximation.h index 1e5b2e5a755..d6164df627f 100644 --- a/Surface_mesh_approximation/include/CGAL/vsa_mesh_approximation.h +++ b/Surface_mesh_approximation/include/CGAL/vsa_mesh_approximation.h @@ -60,24 +60,12 @@ void vsa_mesh_approximation( const ApproximationTrait &app_trait) { // CGAL_precondition(is_pure_triangle(tm)); - typedef CGAL::internal::VSA_approximation< - TriangleMesh, - FacetProxyMap, - ApproximationTrait> VSA_approximation; - - VSA_approximation algorithm(tm, app_trait); - - switch (init) { - case VSA_approximation::RandomInit: - algorithm.partition(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - case VSA_approximation::IncrementalInit: - algorithm.partition_incre(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - case VSA_approximation::HierarchicalInit: - algorithm.partition_hierarchical(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - } + vsa_mesh_approximation(tm, + f_proxy_pmap, + app_trait, + init, + number_of_segments, + number_of_iterations); typedef CGAL::internal::VSA_mesh_extraction< TriangleMesh, @@ -188,24 +176,12 @@ void vsa_mesh_approximation( facet_proxy_map.insert(std::pair(f, 0)); FacetProxyMap f_proxy_pmap(facet_proxy_map); - typedef CGAL::internal::VSA_approximation< - TriangleMesh, - FacetProxyMap, - ApproximationTrait> VSA_approximation; - - VSA_approximation algorithm(tm, app_trait); - - switch (init) { - case VSA_approximation::RandomInit: - algorithm.partition(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - case VSA_approximation::IncrementalInit: - algorithm.partition_incre(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - case VSA_approximation::HierarchicalInit: - algorithm.partition_hierarchical(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - } + vsa_mesh_approximation(tm, + f_proxy_pmap, + app_trait, + init, + number_of_segments, + number_of_iterations); typedef typename boost::property_map::type VertexPointMap; typedef CGAL::internal::VSA_mesh_extraction< @@ -263,24 +239,12 @@ void vsa_mesh_approximation( const std::size_t number_of_iterations) { // CGAL_precondition(is_pure_triangle(tm)); - typedef CGAL::internal::VSA_approximation< - TriangleMesh, - FacetProxyMap, - ApproximationTrait> VSA_approximation; - - VSA_approximation algorithm(tm, app_trait); - - switch (init) { - case VSA_approximation::RandomInit: - algorithm.partition(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - case VSA_approximation::IncrementalInit: - algorithm.partition_incre(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - case VSA_approximation::HierarchicalInit: - algorithm.partition_hierarchical(number_of_segments, number_of_iterations, f_proxy_pmap); - break; - } + vsa_mesh_approximation(tm, + f_proxy_pmap, + app_trait, + init, + number_of_segments, + number_of_iterations); typedef typename boost::property_map::type VertexPointMap; typedef CGAL::internal::VSA_mesh_extraction<