Skip to content
Snippets Groups Projects
Commit 324531e5 authored by Matthias's avatar Matthias
Browse files

improve encapsulation of native output data in realDataItem

parent 2e93e4b5
No related branches found
No related tags found
No related merge requests found
...@@ -151,7 +151,7 @@ void SpecularInstrumentItem::updateToRealData(const RealDataItem* item) ...@@ -151,7 +151,7 @@ void SpecularInstrumentItem::updateToRealData(const RealDataItem* item)
throw GUIHelpers::Error("Error in SpecularInstrumentItem::updateToRealData: The type " throw GUIHelpers::Error("Error in SpecularInstrumentItem::updateToRealData: The type "
"of instrument is incompatible with passed data shape."); "of instrument is incompatible with passed data shape.");
const auto& data = item->nativeData()->getOutputData()->axis(0); const auto& data = item->nativeOutputData()->axis(0);
beamItem()->updateToData(data, item->nativeDataUnits()); beamItem()->updateToData(data, item->nativeDataUnits());
} }
...@@ -172,7 +172,7 @@ bool SpecularInstrumentItem::alignedWith(const RealDataItem* item) const ...@@ -172,7 +172,7 @@ bool SpecularInstrumentItem::alignedWith(const RealDataItem* item) const
if (!instrument_axis) if (!instrument_axis)
return false; return false;
const auto& native_axis = item->nativeData()->getOutputData()->axis(0); const auto& native_axis = item->nativeOutputData()->axis(0);
return *instrument_axis == native_axis; return *instrument_axis == native_axis;
; ;
} }
......
...@@ -207,8 +207,7 @@ void JobModelFunctions::copyRealDataItem(JobItem* jobItem, const RealDataItem* r ...@@ -207,8 +207,7 @@ void JobModelFunctions::copyRealDataItem(JobItem* jobItem, const RealDataItem* r
if (!realDataItem->nativeData()) if (!realDataItem->nativeData())
return; return;
realDataItemCopy->nativeData()->setOutputData( realDataItemCopy->setNativeOutputData(realDataItem->nativeOutputData()->clone());
realDataItem->nativeData()->getOutputData()->clone());
realDataItemCopy->nativeData()->setFileName(ItemFileNameUtils::jobNativeDataFileName(*jobItem)); realDataItemCopy->nativeData()->setFileName(ItemFileNameUtils::jobNativeDataFileName(*jobItem));
} }
......
...@@ -150,6 +150,18 @@ bool RealDataItem::hasNativeData() const ...@@ -150,6 +150,18 @@ bool RealDataItem::hasNativeData() const
return (nativeData() != nullptr) && (nativeData()->getOutputData() != nullptr); return (nativeData() != nullptr) && (nativeData()->getOutputData() != nullptr);
} }
const OutputData<double>* RealDataItem::nativeOutputData() const
{
return hasNativeData() ? nativeData()->getOutputData() : nullptr;
}
//! takes ownership of data
void RealDataItem::setNativeOutputData(OutputData<double>* data)
{
nativeData()->setOutputData(data); // takes ownership of odata
}
//! Creates data item if not existing so far. Checks for rank compatibility if already existing. No //! Creates data item if not existing so far. Checks for rank compatibility if already existing. No
//! further initialization like clearing the data etc. //! further initialization like clearing the data etc.
......
...@@ -67,7 +67,9 @@ public: ...@@ -67,7 +67,9 @@ public:
void initNativeData(); void initNativeData();
QString nativeDataUnits() const; QString nativeDataUnits() const;
void setNativeDataUnits(const QString& units); void setNativeDataUnits(const QString& units);
bool hasNativeData() const; bool hasNativeData() const;
const OutputData<double>* nativeOutputData() const;
void setNativeOutputData(OutputData<double>* data);
void setOutputData(OutputData<double>* data); void setOutputData(OutputData<double>* data);
void setImportData(ImportDataInfo data); void setImportData(ImportDataInfo data);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment