Open Iirq opened 2 months ago
We provide an example for derivation from Surface_mesh
here. Maybe this can help.
Mesh realization have not matter here. if we are simplifying:
if (inverseMap)
{
*inverseMap = std::vector<Mesh::Face_index>(filteredGraph.number_of_faces(), Mesh::null_face());
OutputIterator iterator;
//copy_face_graph(filteredGraph, filteredMesh.base(), iterator, Emptyset_iterator());
parameters::get_parameter(iterator, internal_np::face_to_face_output_iterator);
}
the result will be: 1>MeshUtilsTests.cpp 1>C:\git\dev4\Source\Modules\CGALExtensions\Test\MeshUtilsTests.cpp(101,21): error C2672: 'CGAL::parameters::get_parameter': no matching overloaded function found 1>C:\git\dev4\Source\Modules\CGALExtensions\Test\MeshUtilsTests.cpp(101,86): error C2784: 'internal_np::Get_param<CGAL::internal_np::Named_params_impl<T,Tag,Base>,Query_tag>::type CGAL::parameters::get_parameter(const CGAL::Named_function_parameters<T,Tag,Base> &,Query_tag)': could not deduce template argument for 'const CGAL::Named_function_parameters<T,Tag,Base> &' from 'filterMeshTest::OutputIterator' 1>C:.conan\5f7d82\1\include\CGAL/Named_function_parameters.h(265): message : see declaration of 'CGAL::parameters::get_parameter'
so
parameters::get_parameter can't build Named_function_parameters from iterator
and I don't know how to instantiate
Named_function_parameters<T,Tag,Base> np1(iterator);
what types should be T,Tag,Base? I could not find any example with copy_face_graph(sm,tm,np1,np2) ; the only example for copy_face_graph(sm,tm) exists. Does anybody compile form with four arguments?
How is defined the type Mesh
? That is probably the source of the issue. It seems you derive a class from CGAL::Surface_mesh<Point3D>
, and Andreas pointed out an example showing the extra steps that are needed to derive from that class template.
The code:
does not compile:
Environment