From bec7e76c8eec2e4e6fc6360597b2fb5d68099ace Mon Sep 17 00:00:00 2001 From: Matthias Puchner <github@mpuchner.de> Date: Mon, 11 Oct 2021 13:55:17 +0200 Subject: [PATCH] use SelectionDescriptor in InterferenceItems --- GUI/Models/InterferenceItems.cpp | 13 +++++++++++++ GUI/Models/InterferenceItems.h | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/GUI/Models/InterferenceItems.cpp b/GUI/Models/InterferenceItems.cpp index 5ece284558d..4f4894b0509 100644 --- a/GUI/Models/InterferenceItems.cpp +++ b/GUI/Models/InterferenceItems.cpp @@ -14,12 +14,14 @@ #include "GUI/Models/InterferenceItems.h" #include "Base/Const/Units.h" +#include "ComboProperty.h" #include "GUI/Models/DoubleDescriptor.h" #include "GUI/Models/FTDecayFunctionItems.h" #include "GUI/Models/FTDistributionItems.h" #include "GUI/Models/GroupItem.h" #include "GUI/Models/Lattice2DItems.h" #include "Sample/Aggregate/Interferences.h" +#include "SelectionDescriptor.h" // TODO (when back compatibility will be broken again) // Make Interference1DLatticeItem::P_DECAY_FUNCTION and @@ -86,6 +88,11 @@ DoubleDescriptor Interference1DLatticeItem::rotationAngle() const return d; } +SelectionDescriptor<FTDecayFunction1DItem*> Interference1DLatticeItem::decayFunction() const +{ + return SelectionDescriptor<FTDecayFunction1DItem*>(item<GroupItem>(P_DECAY_FUNCTION)); +} + // --------------------------------------------------------------------------------------------- // Lattice2DItem* Interference2DAbstractLatticeItem::latticeType() const @@ -424,3 +431,9 @@ DoubleDescriptor InterferenceRadialParaCrystalItem::kappa() const { return DoubleDescriptor(getItem(P_KAPPA), Unit::unitless); } + +SelectionDescriptor<FTDistribution1DItem*> +InterferenceRadialParaCrystalItem::probabilityDistribution() const +{ + return SelectionDescriptor<FTDistribution1DItem*>(item<GroupItem>(P_PDF)); +} diff --git a/GUI/Models/InterferenceItems.h b/GUI/Models/InterferenceItems.h index b079d5a20e1..d808544e9fe 100644 --- a/GUI/Models/InterferenceItems.h +++ b/GUI/Models/InterferenceItems.h @@ -15,6 +15,7 @@ #ifndef BORNAGAIN_GUI_MODELS_INTERFERENCEITEMS_H #define BORNAGAIN_GUI_MODELS_INTERFERENCEITEMS_H +#include "GUI/Models/SelectionDescriptor.h" #include "GUI/Models/SessionGraphicsItem.h" class FTDecayFunction1DItem; @@ -55,6 +56,7 @@ public: DoubleDescriptor rotationAngle() const; template <typename T> T* setDecayFunctionType(); + SelectionDescriptor<FTDecayFunction1DItem*> decayFunction() const; }; class Interference2DAbstractLatticeItem : public InterferenceItem { @@ -167,7 +169,7 @@ public: DoubleDescriptor dampingLength() const; DoubleDescriptor domainSize() const; DoubleDescriptor kappa() const; - + SelectionDescriptor<FTDistribution1DItem*> probabilityDistribution() const; template <typename T> T* setPDFType(); }; -- GitLab