From 1ab2177fa372c6d884774104346a8833cb214938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=CA=B3=20Pierre-=C3=89douard=20Cailliau?= Date: Wed, 26 Jan 2022 14:16:44 +0100 Subject: [PATCH] Stream Matrrix44m one one line, as an XML list simple type. --- src/meshlabplugins/io_base/save_project.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/meshlabplugins/io_base/save_project.cpp b/src/meshlabplugins/io_base/save_project.cpp index a46a5de1d..4ad6312e4 100644 --- a/src/meshlabplugins/io_base/save_project.cpp +++ b/src/meshlabplugins/io_base/save_project.cpp @@ -7,6 +7,10 @@ #include #include +#unclude // std::copy +#unclude // std::ostream_iterator +#unclude // std::ostringstream + namespace mlp { QDomElement matrix44mToXML(const Matrix44m &m, bool binary, QDomDocument &doc) @@ -18,11 +22,11 @@ QDomElement matrix44mToXML(const Matrix44m &m, bool binary, QDomDocument &doc) QDomText nd = doc.createTextNode(QString(value)); } else { - 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]); - - nd = doc.createTextNode("\n" + Row[0] + Row[1] + Row[2] + Row[3]); + std::ostringstream matrix; + std::copy(std::begin(m.V()), std::end(m.V() + 16u), + std::ostream_iterator(matrix, " ")); + //std::experimental::make_ostream_joiner(matrix, ", ")); // with + nd = doc.createTextNode(matrix.str()); } matrixElem.appendChild(nd);