mirror of https://github.com/CGAL/cgal
add an extra overload of choose_parameter for dynamic property maps
This commit is contained in:
parent
ab7183b42e
commit
916e48284d
|
|
@ -53,7 +53,7 @@ void my_function_with_named_parameters(PolygonMesh& mesh, const NamedParameters&
|
|||
bool do_project = choose_parameter(get_parameter(np, internal_np::do_project), false);
|
||||
|
||||
// If the NPs provide a vertex-normal-map use it, otherwise initialize the default one
|
||||
VNM vnm = choose_parameter(get_parameter(np, internal_np::vertex_normal_map), get(Vector_map_tag(), mesh));
|
||||
VNM vnm = choose_parameter<Default_vector_map>(get_parameter(np, internal_np::vertex_normal_map), Vector_map_tag(), mesh);
|
||||
if (is_default_parameter<NamedParameters, internal_np::vertex_normal_map_t>::value)
|
||||
Polygon_mesh_processing::compute_vertex_normals(mesh, vnm);
|
||||
|
||||
|
|
|
|||
|
|
@ -359,6 +359,19 @@ const T& choose_parameter(const T& t)
|
|||
return t;
|
||||
}
|
||||
|
||||
// Version with three parameters for dynamic property maps
|
||||
template <typename D, typename Dynamic_tag, typename PolygonMesh>
|
||||
D choose_parameter(const internal_np::Param_not_found&, Dynamic_tag tag, PolygonMesh& pm)
|
||||
{
|
||||
return get(tag, pm);
|
||||
}
|
||||
|
||||
template <typename D, typename T, typename Dynamic_tag, typename PolygonMesh>
|
||||
const T& choose_parameter(const T& t, Dynamic_tag, PolygonMesh&)
|
||||
{
|
||||
return t;
|
||||
}
|
||||
|
||||
template <class NamedParameters, class Parameter>
|
||||
struct is_default_parameter
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue