Go to the documentation of this file.
26 const MeshT &mesh_original,
32 if(nb_levels < 1 || nb_levels > 3)
34 std::cout <<
"msdm2_precompiled: nb_levels must be in [1;3]. Aborting."
40 auto pm_degraded =
get(boost::vertex_point, mesh_degraded);
41 auto pm_original =
get(boost::vertex_point, mesh_original);
48 FaceNormalMap fnm_degraded;
49 std::cout <<
"create face-normal map for degraded mesh" << std::endl;
57 FaceNormalMap fnm_original;
58 std::cout <<
"create face-normal map for original mesh" << std::endl;
std::map< std::string, boost::any > PMapsContainer
boost::vector_property_map< double, VertexIndexMapT > Msdm2MapT
void calculate_face_normals(const HalfedgeGraph &g, const PointMap &pm, FaceNormalMap fnm, const GeometryTraits >)
Calculate "some" normal of all the faces of the considered mesh and populate the argument provided Fa...
void msdm2_surfacemesh(const MeshT &mesh_degraded, const MeshT &mesh_original, const int nb_levels, double &msdm2_value, Msdm2MapT &msdm2_pmap)
Computes the multiscale MSDM2 metric.
double process_msdm2_multires(const HalfedgeGraph &m_poly_degrad, const PointMap &pm_degrad, const FaceNormalMap &fnm_degrad, FEVV::PMapsContainer &pmaps_degrad, const GeometryTraits >_degrad, const HalfedgeGraph &m_poly_original, const PointMap &pm_original, const FaceNormalMap &fnm_original, FEVV::PMapsContainer &, const GeometryTraits &, const int nb_level, VertexMSDM2Map &msdm2_pmap, const double maxdim, double &msdm2_value)
boost::property_map< FEVV::DataStructures::AIF::AIFMesh, boost::vertex_index_t >::const_type get(const boost::vertex_index_t &, const FEVV::DataStructures::AIF::AIFMesh &)
Returns the vertex index property map of the mesh.
CGAL::Surface_mesh< CGALPoint > MeshT
PMap_traits< PropertyT, MeshT >::pmap_type make_property_map(PropertyT, const MeshT &m)