Skip to content
Snippets Groups Projects
Commit 142152dd authored by Yurov, Dmitry's avatar Yurov, Dmitry
Browse files

Move native axis handling from instrument down to beam item

Redmine: #2217
parent b009d3ba
No related branches found
No related tags found
No related merge requests found
...@@ -192,6 +192,14 @@ void SpecularBeamItem::updateFileName(const QString& filename) ...@@ -192,6 +192,14 @@ void SpecularBeamItem::updateFileName(const QString& filename)
item<SpecularBeamInclinationItem>(BeamItem::P_INCLINATION_ANGLE).updateFileName(filename); item<SpecularBeamInclinationItem>(BeamItem::P_INCLINATION_ANGLE).updateFileName(filename);
} }
void SpecularBeamItem::updateToData(const IAxis& axis, QString units)
{
auto axis_group = inclinationAxisGroup();
axis_group->setCurrentType(Constants::PointwiseAxisType);
auto axis_item = static_cast<PointwiseAxisItem*>(axis_group->currentItem());
axis_item->init(axis, units);
}
// GISAS beam item // GISAS beam item
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
......
...@@ -21,6 +21,7 @@ class BasicAxisItem; ...@@ -21,6 +21,7 @@ class BasicAxisItem;
class Beam; class Beam;
class FootprintItem; class FootprintItem;
class GroupItem; class GroupItem;
class IAxis;
class BA_CORE_API_ BeamItem : public SessionItem class BA_CORE_API_ BeamItem : public SessionItem
{ {
...@@ -70,6 +71,7 @@ public: ...@@ -70,6 +71,7 @@ public:
FootprintItem* currentFootprintItem() const; FootprintItem* currentFootprintItem() const;
void updateFileName(const QString& filename); void updateFileName(const QString& filename);
void updateToData(const IAxis& axis, QString units);
}; };
class BA_CORE_API_ GISASBeamItem : public BeamItem class BA_CORE_API_ GISASBeamItem : public BeamItem
......
...@@ -150,15 +150,13 @@ void SpecularInstrumentItem::updateToRealData(const RealDataItem* item) ...@@ -150,15 +150,13 @@ void SpecularInstrumentItem::updateToRealData(const RealDataItem* item)
if (item->getItemValue(RealDataItem::P_NATIVE_UNITS).toString() == Constants::UnitsNbins) { if (item->getItemValue(RealDataItem::P_NATIVE_UNITS).toString() == Constants::UnitsNbins) {
beamItem()->inclinationAxisGroup()->setCurrentType(Constants::BasicAxisType); beamItem()->inclinationAxisGroup()->setCurrentType(Constants::BasicAxisType);
setShape(item->shape()); setShape(item->shape());
} else { return;
QString units = item->getItemValue(RealDataItem::P_NATIVE_UNITS).toString();
const auto& data = item->nativeData()->getOutputData()->getAxis(0);
auto axis_group = beamItem()->inclinationAxisGroup();
axis_group->setCurrentType(Constants::PointwiseAxisType);
auto axis = dynamic_cast<PointwiseAxisItem*>(axis_group->currentItem());
axis->init(data, units);
} }
// the case of dimensional units in user data
QString units = item->getItemValue(RealDataItem::P_NATIVE_UNITS).toString();
const auto& data = item->nativeData()->getOutputData()->getAxis(0);
beamItem()->updateToData(data, units);
} }
bool SpecularInstrumentItem::alignedWith(const RealDataItem* item) const bool SpecularInstrumentItem::alignedWith(const RealDataItem* item) const
......
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