diff --git a/GUI/Model/Device/DetectorItems.cpp b/GUI/Model/Device/DetectorItems.cpp index 7e86d861cf78aa1933e4d1199e6cb1047ddc3a0f..2180cfa06ef83a0fa70abc8048cf3f84892e5088 100644 --- a/GUI/Model/Device/DetectorItems.cpp +++ b/GUI/Model/Device/DetectorItems.cpp @@ -43,6 +43,11 @@ MaskItems& DetectorItem::maskItems() return m_maskItems; } +SelectionProperty<ResolutionFunctionItemCatalog>& DetectorItem::resolutionFunction() +{ + return m_resolutionFunction; +} + std::unique_ptr<IResolutionFunction2D> DetectorItem::createResolutionFunction() const { return m_resolutionFunction->createResolutionFunction(axesToCoreUnitsFactor()); diff --git a/GUI/Model/Device/DetectorItems.h b/GUI/Model/Device/DetectorItems.h index 928fe7c2b42b5e616c12d53ff98a35c85becd750..704f9ba4aba9e4799627ba2eddd26158ec87cb7b 100644 --- a/GUI/Model/Device/DetectorItems.h +++ b/GUI/Model/Device/DetectorItems.h @@ -49,10 +49,7 @@ public: void importMasks(const MaskContainerItem* maskContainer); MaskItems& maskItems(); - SelectionProperty<ResolutionFunctionItemCatalog>& resolutionFunction() - { - return m_resolutionFunction; - } + SelectionProperty<ResolutionFunctionItemCatalog>& resolutionFunction(); template <typename T> T* setResolutionFunctionType(); diff --git a/GUI/Model/FromCore/ItemizeSample.cpp b/GUI/Model/FromCore/ItemizeSample.cpp index bd1c342fc50385a6625804fa6de8bf0a176c8281..7e9ecb11dfe6cd65583e1eb3a2d0b9ecb83c4c04 100644 --- a/GUI/Model/FromCore/ItemizeSample.cpp +++ b/GUI/Model/FromCore/ItemizeSample.cpp @@ -324,25 +324,25 @@ void setLayerItem(LayerItem* parent, const Layer* layer, const LayerInterface* t void setRotation(ItemWithParticles* parent, const IRotation* rotation) { if (!rotation) - parent->setCurrentRotation(nullptr); + parent->setRotationType(nullptr); else if (const auto* r = dynamic_cast<const RotationX*>(rotation)) { auto* item = new XRotationItem(); item->setAngle(Units::rad2deg(r->angle())); - parent->setCurrentRotation(item); + parent->setRotationType(item); } else if (const auto* r = dynamic_cast<const RotationY*>(rotation)) { auto* item = new YRotationItem(); item->setAngle(Units::rad2deg(r->angle())); - parent->setCurrentRotation(item); + parent->setRotationType(item); } else if (const auto* r = dynamic_cast<const RotationZ*>(rotation)) { auto* item = new ZRotationItem(); item->setAngle(Units::rad2deg(r->angle())); - parent->setCurrentRotation(item); + parent->setRotationType(item); } else if (const auto* r = dynamic_cast<const RotationEuler*>(rotation)) { auto* item = new EulerRotationItem(); item->setAlpha(Units::rad2deg(r->alpha())); item->setBeta(Units::rad2deg(r->beta())); item->setGamma(Units::rad2deg(r->gamma())); - parent->setCurrentRotation(item); + parent->setRotationType(item); } } diff --git a/GUI/Model/Sample/ItemWithParticles.h b/GUI/Model/Sample/ItemWithParticles.h index 35e00acbb7a563509b9895f996d1b00a063ab1b3..58070e652ccff96248a2ec25699ff8a0955805e5 100644 --- a/GUI/Model/Sample/ItemWithParticles.h +++ b/GUI/Model/Sample/ItemWithParticles.h @@ -40,7 +40,7 @@ public: SelectionProperty<RotationItemCatalog>& rotation() { return m_rotation; } //! nullptr is allowed and sets to "no rotation" - void setCurrentRotation(RotationItem* p) { m_rotation.setCurrentItem(p); } + void setRotationType(RotationItem* p) { m_rotation.setCurrentItem(p); } //! nullptr only if "no rotation". Can contain identity! std::unique_ptr<IRotation> createRotation() const; diff --git a/GUI/Model/Sample/ParticleLayoutItem.cpp b/GUI/Model/Sample/ParticleLayoutItem.cpp index 9f0a5b62613a6625e5659041a9d1191891f4227e..3ba10c2b5ad1bbd39b3c256f53b49b07498486c9 100644 --- a/GUI/Model/Sample/ParticleLayoutItem.cpp +++ b/GUI/Model/Sample/ParticleLayoutItem.cpp @@ -93,6 +93,11 @@ QVector<ItemWithParticles*> ParticleLayoutItem::containedItemsWithParticles() co return result; } +const SelectionProperty<InterferenceItemCatalog>& ParticleLayoutItem::interference() const +{ + return m_interference; +} + bool ParticleLayoutItem::totalDensityIsDefinedByInterference() const { return dynamic_cast<const Interference2DAbstractLatticeItem*>(m_interference.currentItem()) diff --git a/GUI/Model/Sample/ParticleLayoutItem.h b/GUI/Model/Sample/ParticleLayoutItem.h index 040732162ab06d73dfbe7202cb13c39a2a06f89c..4c3e6fd1b6a1ccdf93e517f6457ba1e3256082cc 100644 --- a/GUI/Model/Sample/ParticleLayoutItem.h +++ b/GUI/Model/Sample/ParticleLayoutItem.h @@ -60,10 +60,7 @@ public: QVector<ItemWithParticles*> containedItemsWithParticles() const; SelectionProperty<InterferenceItemCatalog>& interference() { return m_interference; } - const SelectionProperty<InterferenceItemCatalog>& interference() const - { - return m_interference; - } + const SelectionProperty<InterferenceItemCatalog>& interference() const; void setInterference(InterferenceItem* i) { m_interference.setCurrentItem(i); } void removeInterference() { m_interference.setCurrentItem(nullptr); }