From 6ddd67b68fd4840a435e1d3f8649b6fbadf7417e Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Thu, 19 May 2022 10:00:14 +0200 Subject: [PATCH] replace addAxis --- GUI/Model/Device/PointwiseAxisItem.cpp | 3 +-- GUI/Support/IO/IOUtils.cpp | 19 ++++++++++++++----- GUI/View/Loaders/QREDataLoader.cpp | 5 ++--- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/GUI/Model/Device/PointwiseAxisItem.cpp b/GUI/Model/Device/PointwiseAxisItem.cpp index c03568880c8..74911ab0b33 100644 --- a/GUI/Model/Device/PointwiseAxisItem.cpp +++ b/GUI/Model/Device/PointwiseAxisItem.cpp @@ -90,8 +90,7 @@ QByteArray PointwiseAxisItem::serializeBinaryData() const if (!m_axis) return {}; - Powerfield<double> axisData; - axisData.addAxis(*m_axis); + Powerfield<double> axisData(*m_axis); std::stringstream ss; ReadWriteINT().writePowerfield(axisData, ss); diff --git a/GUI/Support/IO/IOUtils.cpp b/GUI/Support/IO/IOUtils.cpp index 96290bd1b7c..219796dbd15 100644 --- a/GUI/Support/IO/IOUtils.cpp +++ b/GUI/Support/IO/IOUtils.cpp @@ -14,14 +14,23 @@ #include "GUI/Support/IO/IOUtils.h" #include "Device/Data/Powerfield.h" +#include "Base/Util/Assert.h" std::unique_ptr<Powerfield<double>> GUI::Util::IO::binifyAxes(const Powerfield<double>& data) { - std::unique_ptr<Powerfield<double>> result(new Powerfield<double>); - for (size_t i = 0; i < data.rank(); ++i) { - const IAxis& axis = data.axis(i); - result->addAxis(FixedBinAxis(axis.axisName(), axis.size(), 0., axis.size())); - } + std::unique_ptr<Powerfield<double>> result; + if (data.rank()==1) { + const IAxis& X = data.axis(0); + result.reset(new Powerfield<double>( + FixedBinAxis(X.axisName(), X.size(), 0., X.size()))); + } else if (data.rank()==2) { + const IAxis& X = data.axis(0); + const IAxis& Y = data.axis(1); + result.reset(new Powerfield<double>( + FixedBinAxis(X.axisName(), X.size(), 0., X.size()), + FixedBinAxis(Y.axisName(), Y.size(), 0., Y.size()))); + } else + ASSERT(0); result->setRawDataVector(data.getRawDataVector()); return result; diff --git a/GUI/View/Loaders/QREDataLoader.cpp b/GUI/View/Loaders/QREDataLoader.cpp index 30d9928a3a8..0310bc9a1b0 100644 --- a/GUI/View/Loaders/QREDataLoader.cpp +++ b/GUI/View/Loaders/QREDataLoader.cpp @@ -544,8 +544,7 @@ void QREDataLoader::createPowerfieldFromParsingResult(RealDataItem* item) const rVec.push_back(m_importResult.rValues[lineNr]); } - auto* oData = new Powerfield<double>(); - oData->addAxis(PointwiseAxis("qVector", qVec)); + auto* oData = new Powerfield<double>(PointwiseAxis("qVector", qVec)); oData->setRawDataVector(rVec); // -- Replacement of item->setImportData(std::move(data)); @@ -570,7 +569,7 @@ void QREDataLoader::createPowerfieldFromParsingResult(RealDataItem* item) const specularItem->setAxesRangeToData(); item->setNativeDataUnits(units_name); - item->setNativePowerfield(oData->clone()); // takes ownership of odata + item->setNativePowerfield(oData->clone()); // also takes ownership } QDataStream& operator<<(QDataStream& stream, const QREDataLoader::ImportSettings& s) -- GitLab