Add a new PMP_np

This commit is contained in:
Maxime Gimeno 2020-01-28 10:41:43 +01:00
parent 9ce0040527
commit b1311fbdb3
4 changed files with 15 additions and 0 deletions

View File

@ -180,6 +180,13 @@ operation.\n
<b>Default:</b> None. <b>Default:</b> None.
\cgalNPEnd \cgalNPEnd
\cgalNPBegin{maximum_number_of_faces} \anchor BGL_maximum_number_of_faces
is a size_type containing the maximum number of faces a connected component can have to be considered `reversable`.\n
It is used in the function `merge_reversible_connected_components()`.\n
<b>Type:</b> std::size_t.\n
<b>Default:</b> 0.
\cgalNPEnd
\cgalNPTableEnd \cgalNPTableEnd

View File

@ -122,6 +122,7 @@ CGAL_add_named_parameter(plane_index_t, plane_index_map, plane_index_map)
CGAL_add_named_parameter(select_percentage_t, select_percentage, select_percentage) CGAL_add_named_parameter(select_percentage_t, select_percentage, select_percentage)
CGAL_add_named_parameter(require_uniform_sampling_t, require_uniform_sampling, require_uniform_sampling) CGAL_add_named_parameter(require_uniform_sampling_t, require_uniform_sampling, require_uniform_sampling)
CGAL_add_named_parameter(point_is_constrained_t, point_is_constrained, point_is_constrained_map) CGAL_add_named_parameter(point_is_constrained_t, point_is_constrained, point_is_constrained_map)
CGAL_add_named_parameter(maximum_number_of_faces_t, maximum_number_of_faces, maximum_number_of_faces)
// List of named parameters used in Surface_mesh_approximation package // List of named parameters used in Surface_mesh_approximation package
CGAL_add_named_parameter(verbose_level_t, verbose_level, verbose_level) CGAL_add_named_parameter(verbose_level_t, verbose_level, verbose_level)

View File

@ -94,6 +94,7 @@ void test(const NamedParameters& np)
assert(get_parameter(np, CGAL::internal_np::area_threshold).v == 57); assert(get_parameter(np, CGAL::internal_np::area_threshold).v == 57);
assert(get_parameter(np, CGAL::internal_np::volume_threshold).v == 58); assert(get_parameter(np, CGAL::internal_np::volume_threshold).v == 58);
assert(get_parameter(np, CGAL::internal_np::dry_run).v == 59); assert(get_parameter(np, CGAL::internal_np::dry_run).v == 59);
assert(get_param(np, CGAL::internal_np::maximum_number_of_faces).v == 78910);
// Named parameters that we use in the package 'Surface Mesh Simplification' // Named parameters that we use in the package 'Surface Mesh Simplification'
assert(get_parameter(np, CGAL::internal_np::get_cost_policy).v == 34); assert(get_parameter(np, CGAL::internal_np::get_cost_policy).v == 34);
@ -181,6 +182,7 @@ void test(const NamedParameters& np)
check_same_type<57>(get_parameter(np, CGAL::internal_np::area_threshold)); check_same_type<57>(get_parameter(np, CGAL::internal_np::area_threshold));
check_same_type<58>(get_parameter(np, CGAL::internal_np::volume_threshold)); check_same_type<58>(get_parameter(np, CGAL::internal_np::volume_threshold));
check_same_type<59>(get_parameter(np, CGAL::internal_np::dry_run)); check_same_type<59>(get_parameter(np, CGAL::internal_np::dry_run));
check_same_type<78910>(get_param(np, CGAL::internal_np::maximum_number_of_faces));
// Named parameters that we use in the package 'Surface Mesh Simplification' // Named parameters that we use in the package 'Surface Mesh Simplification'
check_same_type<34>(get_parameter(np, CGAL::internal_np::get_cost_policy)); check_same_type<34>(get_parameter(np, CGAL::internal_np::get_cost_policy));
@ -274,6 +276,7 @@ int main()
.area_threshold(A<57>(57)) .area_threshold(A<57>(57))
.volume_threshold(A<58>(58)) .volume_threshold(A<58>(58))
.dry_run(A<59>(59)) .dry_run(A<59>(59))
.maximum_number_of_faces(A<78910>(78910))
); );
return EXIT_SUCCESS; return EXIT_SUCCESS;

View File

@ -669,6 +669,10 @@ void orient_to_bound_a_volume(TriangleMesh& tm)
* \cgalParamBegin{face_index_map} * \cgalParamBegin{face_index_map}
* a property map containing the index of each face of `tm`. * a property map containing the index of each face of `tm`.
* \cgalParamEnd * \cgalParamEnd
* * \cgalParamBegin{maximum_number_of_faces}
* if not 0 (default), a connected component is considered reversible only
* if it has less than the given number of faces.
* \cgalParamEnd
* \cgalNamedParamsEnd * \cgalNamedParamsEnd
*/ */
template <class TriangleMesh, class NamedParameters> template <class TriangleMesh, class NamedParameters>