diff --git a/GUI/Model/Descriptor/PolyItem.h b/GUI/Model/Descriptor/PolyItem.h index d7828a8d7066d3e5ea5c1d00221e696a80009891..b1e56356c6ed5670e5b5d03c607fb7403229ad0b 100644 --- a/GUI/Model/Descriptor/PolyItem.h +++ b/GUI/Model/Descriptor/PolyItem.h @@ -26,7 +26,6 @@ public: void simpleInit(const QString& label, const QString& tooltip, typename Catalog::Type currentType); - BaseItem* operator->() const { return m_item.get(); } BaseItem* certainItem() const { return m_item.get(); } void setCertainItem(BaseItem* t) { m_item.reset(t); } diff --git a/GUI/Model/Detector/DetectorItem.cpp b/GUI/Model/Detector/DetectorItem.cpp index dce47cc318ca229cf6cee2cf7683e7c9614ec3f1..4bf62db56c117f915570aee2672d8c22f5d17d50 100644 --- a/GUI/Model/Detector/DetectorItem.cpp +++ b/GUI/Model/Detector/DetectorItem.cpp @@ -83,7 +83,7 @@ void DetectorItem::setMasks(MasksSet* item) std::unique_ptr<IResolutionFunction2D> DetectorItem::createResolutionFunction() const { - return m_resolution_function->createResolutionFunction(); + return m_resolution_function.certainItem()->createResolutionFunction(); } void DetectorItem::writeTo(QXmlStreamWriter* w) const diff --git a/GUI/Model/Sample/InterferenceItems.cpp b/GUI/Model/Sample/InterferenceItems.cpp index 10a7b7431e02c9770303538781ab87d325093b6d..c618bfa86e3b73faf6f913635caab7275800d624 100644 --- a/GUI/Model/Sample/InterferenceItems.cpp +++ b/GUI/Model/Sample/InterferenceItems.cpp @@ -83,7 +83,7 @@ std::unique_ptr<IInterference> Interference1DLatticeItem::createInterference() c { auto result = std::make_unique<Interference1DLattice>(m_length.dVal(), Units::deg2rad(m_rotation_angle.dVal())); - result->setDecayFunction(*m_decay_function->createProfile()); + result->setDecayFunction(*m_decay_function.certainItem()->createProfile()); result->setPositionVariance(m_position_variance.dVal()); return std::unique_ptr<IInterference>(result.release()); } @@ -164,7 +164,7 @@ std::unique_ptr<IInterference> Interference2DLatticeItem::createInterference() c std::unique_ptr<Interference2DLattice> result( new Interference2DLattice(*latticeItem->createLattice())); - result->setDecayFunction(*m_decay_function->createProfile()); + result->setDecayFunction(*m_decay_function.certainItem()->createProfile()); result->setIntegrationOverXi(xiIntegration()); result->setPositionVariance(m_position_variance.dVal()); @@ -219,7 +219,8 @@ std::unique_ptr<IInterference> Interference2DParacrystalItem::createInterference result->setDampingLength(m_damping_length.dVal()); result->setDomainSizes(m_domain_size1.dVal(), m_domain_size2.dVal()); result->setIntegrationOverXi(xiIntegration()); - result->setProbabilityDistributions(*m_pdf1->createProfile(), *m_pdf2->createProfile()); + result->setProbabilityDistributions(*m_pdf1.certainItem()->createProfile(), + *m_pdf2.certainItem()->createProfile()); result->setPositionVariance(m_position_variance.dVal()); return std::unique_ptr<IInterference>(result.release()); } @@ -369,7 +370,7 @@ std::unique_ptr<IInterference> InterferenceRadialParacrystalItem::createInterfer m_damping_length.dVal()); result->setDomainSize(m_domain_size.dVal()); result->setKappa(m_kappa.dVal()); - auto pdf = m_pdf->createProfile(); + auto pdf = m_pdf.certainItem()->createProfile(); result->setProbabilityDistribution(*pdf); result->setPositionVariance(m_position_variance.dVal()); return std::unique_ptr<IInterference>(result.release()); diff --git a/GUI/Model/Sample/ItemWithParticles.cpp b/GUI/Model/Sample/ItemWithParticles.cpp index 0ef665e3f02d6a4b2698cf7593e0959aa3441d06..e97abcb6b0a622a4943acf1285949841dfa710a5 100644 --- a/GUI/Model/Sample/ItemWithParticles.cpp +++ b/GUI/Model/Sample/ItemWithParticles.cpp @@ -39,7 +39,7 @@ std::unique_ptr<IRotation> ItemWithParticles::createRotation() const { if (!m_rotation.certainItem()) return {}; - return m_rotation->createRotation(); + return m_rotation.certainItem()->createRotation(); } void ItemWithParticles::writeTo(QXmlStreamWriter* w) const diff --git a/GUI/Model/Sample/MesocrystalItem.cpp b/GUI/Model/Sample/MesocrystalItem.cpp index 609c7c329d90b1ccc8fb597abc9ec77aca53f079..c03a0cf47a379e2adb2e4fa63e31b980c25cf777 100644 --- a/GUI/Model/Sample/MesocrystalItem.cpp +++ b/GUI/Model/Sample/MesocrystalItem.cpp @@ -146,7 +146,7 @@ std::unique_ptr<IParticle> MesocrystalItem::getBasis() const std::unique_ptr<IFormfactor> MesocrystalItem::getOuterShape() const { - return m_outer_shape->createFormfactor(); + return m_outer_shape.certainItem()->createFormfactor(); } std::vector<ItemWithParticles*> MesocrystalItem::containedItemsWithParticles() const diff --git a/GUI/Model/Sample/ParticleItem.cpp b/GUI/Model/Sample/ParticleItem.cpp index 5ac02f6a477e089b91f60120324488210d48dadb..3a286813b5add5e60360642323e884e1068206a4 100644 --- a/GUI/Model/Sample/ParticleItem.cpp +++ b/GUI/Model/Sample/ParticleItem.cpp @@ -75,7 +75,8 @@ std::unique_ptr<Particle> ParticleItem::createParticle() const { auto domainMaterial = materialItem()->createMaterial(); - auto particle = std::make_unique<Particle>(*domainMaterial, *m_form_factor->createFormfactor()); + auto particle = std::make_unique<Particle>(*domainMaterial, + *m_form_factor.certainItem()->createFormfactor()); particle->setAbundance(abundance().dVal()); if (auto r = createRotation(); r && !r->isIdentity()) particle->rotate(*r);