diff --git a/src/common/utilities/load_save.cpp b/src/common/utilities/load_save.cpp index 4874e0d7c..bbb87a8c1 100644 --- a/src/common/utilities/load_save.cpp +++ b/src/common/utilities/load_save.cpp @@ -247,7 +247,9 @@ void saveMeshWithStandardParameters( ioPlugin->exportMaskCapability(extension, capability, defaultBits); RichParameterList saveParams = ioPlugin->initSaveParameter(extension, m); - ioPlugin->save(extension, fileName, m, capability, saveParams, cb); + if (defaultBits & vcg::tri::io::Mask::IOM_BITPOLYGONAL) + m.updateDataMask(MeshModel::MM_FACEFACETOPO); + ioPlugin->save(extension, fileName, m, defaultBits, saveParams, cb); m.setFileName(fileName); m.saveTextures(fi.absolutePath(), -1, log, cb); } diff --git a/src/meshlab/mainwindow_RunTime.cpp b/src/meshlab/mainwindow_RunTime.cpp index f94df1793..3509756f5 100644 --- a/src/meshlab/mainwindow_RunTime.cpp +++ b/src/meshlab/mainwindow_RunTime.cpp @@ -2461,6 +2461,8 @@ bool MainWindow::exportMesh(QString fileName,MeshModel* mod,const bool saveAllPo qb->reset(); try { + if (mask & vcg::tri::io::Mask::IOM_BITPOLYGONAL) + mod->updateDataMask(MeshModel::MM_FACEFACETOPO); pCurrentIOPlugin->save(extension, fileName, *mod ,mask,savePar,QCallBack); QFileInfo finfo(fileName); if (saveTextures) diff --git a/src/meshlabplugins/io_base/baseio.cpp b/src/meshlabplugins/io_base/baseio.cpp index 6214d76c1..0f63edf06 100644 --- a/src/meshlabplugins/io_base/baseio.cpp +++ b/src/meshlabplugins/io_base/baseio.cpp @@ -459,8 +459,6 @@ void BaseMeshIOPlugin::save(const QString &formatName, const QString &fileName, } else if (formatName.toUpper() == tr("OFF")) { - if (mask & tri::io::Mask::IOM_BITPOLYGONAL) - m.updateDataMask(MeshModel::MM_FACEFACETOPO); int result = tri::io::ExporterOFF::Save(m.cm, filename.c_str(), mask); if (result != 0) { @@ -474,7 +472,6 @@ void BaseMeshIOPlugin::save(const QString &formatName, const QString &fileName, if (mask & tri::io::Mask::IOM_BITPOLYGONAL) { - m.updateDataMask(MeshModel::MM_FACEFACETOPO); PMesh pm; tri::PolygonSupport::ImportFromTriMesh(pm, m.cm); result = tri::io::ExporterOBJ::Save(pm, filename.c_str(), mask, cb); diff --git a/src/vcglib b/src/vcglib index 094918662..0f320aa67 160000 --- a/src/vcglib +++ b/src/vcglib @@ -1 +1 @@ -Subproject commit 094918662bb7819332f2d2b3f7986a7ec62ecdf7 +Subproject commit 0f320aa6710d60e2940432d07757ef91d835e19c