diff --git a/src/meshlabplugins/io_base/load_project.cpp b/src/meshlabplugins/io_base/load_project.cpp index c07b4e8e9..858f35558 100644 --- a/src/meshlabplugins/io_base/load_project.cpp +++ b/src/meshlabplugins/io_base/load_project.cpp @@ -227,22 +227,16 @@ std::vector loadMLP( QDomNode tr = mesh.firstChildElement("MLMatrix44"); if (!tr.isNull()) { - vcg::Matrix44f trm; if (tr.childNodes().size() == 1) { if (!binary) { - QStringList rows = tr.firstChild().nodeValue().split("\n", QString::SkipEmptyParts); - int i = 0; - for (const QString& row : qAsConst(rows)){ - if (rows.size() > 0) { - QStringList values = row.split(" ", QString::SkipEmptyParts); - int j = 0; - for (const QString& value : qAsConst(values)) { - if (i < 4 && j < 4) { - md.mm()->cm.Tr[i][j] = value.toFloat(); - j++; - } - } - i++; + Scalarm* v = md.mm()->cm.Tr.V(); + const QStringList rows = tr.firstChild().nodeValue().split("\n", Qt::SkipEmptyParts); + unsigned int i = 0; + for (const QString& row: rows) { + const QStringList values = row.split(" ", Qt::SkipEmptyParts); + for (const QString& value: values) { + if (i >= 16u) break; + v[i++] = value.toFloat(); } } } diff --git a/src/meshlabplugins/io_base/save_project.cpp b/src/meshlabplugins/io_base/save_project.cpp index a46a5de1d..2d3e7c4e1 100644 --- a/src/meshlabplugins/io_base/save_project.cpp +++ b/src/meshlabplugins/io_base/save_project.cpp @@ -18,11 +18,11 @@ QDomElement matrix44mToXML(const Matrix44m &m, bool binary, QDomDocument &doc) QDomText nd = doc.createTextNode(QString(value)); } else { - QString Row[4]; + QString row[4]; for (int i = 0; i < 4; ++i) - Row[i] = QString("%1 %2 %3 %4 \n").arg(m[i][0]).arg(m[i][1]).arg(m[i][2]).arg(m[i][3]); + row[i] = QString("%1 %2 %3 %4 ").arg(m[i][0]).arg(m[i][1]).arg(m[i][2]).arg(m[i][3]); - nd = doc.createTextNode("\n" + Row[0] + Row[1] + Row[2] + Row[3]); + nd = doc.createTextNode("\n" + row[0] + row[1] + row[2] + row[3] + "\n"); } matrixElem.appendChild(nd);