From 2c7cb07c0e8bc395cf14f83c8a2b0fb1eb7b8fcc Mon Sep 17 00:00:00 2001 From: alemuntoni Date: Tue, 1 Jun 2021 17:06:23 +0200 Subject: [PATCH] filter_meshing and filter_sampling work with MeshModel textures --- src/meshlabplugins/filter_meshing/meshfilter.cpp | 5 ++++- src/meshlabplugins/filter_sampling/filter_sampling.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/meshlabplugins/filter_meshing/meshfilter.cpp b/src/meshlabplugins/filter_meshing/meshfilter.cpp index 7ca34b89a..8233fbce0 100644 --- a/src/meshlabplugins/filter_meshing/meshfilter.cpp +++ b/src/meshlabplugins/filter_meshing/meshfilter.cpp @@ -1402,7 +1402,10 @@ std::map ExtraMeshFilterPlugin::applyFilter( MeshModel *um=md.addNewMesh("","Unrolled Mesh"); um->updateDataMask(&m); - um->cm.textures = m.cm.textures; + for (const std::string& tex: m.cm.textures) { + um->addTexture(tex, m.getTexture(tex)); + } + //um->cm.textures = m.cm.textures; float avgZ=0; CMeshO::VertexIterator vi; // First loop duplicate accordingly the vertices. diff --git a/src/meshlabplugins/filter_sampling/filter_sampling.cpp b/src/meshlabplugins/filter_sampling/filter_sampling.cpp index de188ec8d..098ed7f8d 100644 --- a/src/meshlabplugins/filter_sampling/filter_sampling.cpp +++ b/src/meshlabplugins/filter_sampling/filter_sampling.cpp @@ -771,7 +771,7 @@ std::map FilterDocSampling::applyFilter( if(RecoverColor && curMM->cm.textures.size()>0) { - mps.tex= new QImage(curMM->cm.textures[0].c_str()); + mps.tex= new QImage(curMM->getTexture(curMM->cm.textures[0])); if(mps.texSamplingWidth==0) mps.texSamplingWidth = mps.tex->width(); if(mps.texSamplingHeight==0) mps.texSamplingHeight = mps.tex->height(); }