Skip to content
Snippets Groups Projects
Commit 24a209b9 authored by t.knopff's avatar t.knopff
Browse files

Make BeamItem::P_POLARIZATION private

parent ddc5d7f8
No related branches found
No related tags found
1 merge request!67Refactor model: BeamItems
......@@ -108,6 +108,11 @@ BeamAzimuthalAngleItem* BeamItem::azimuthalAngleItem() const
return item<BeamAzimuthalAngleItem>(P_AZIMUTHAL_ANGLE);
}
VectorItem* BeamItem::polarizationItem() const
{
return item<VectorItem>(P_POLARIZATION);
}
std::unique_ptr<Beam> BeamItem::createBeam() const
{
double lambda = wavelength();
......@@ -117,7 +122,7 @@ std::unique_ptr<Beam> BeamItem::createBeam() const
auto result =
std::make_unique<Beam>(intensity(), lambda, Direction(inclination_angle, azimuthal_angle));
result->setPolarization(item<VectorItem>(P_POLARIZATION)->getVector());
result->setPolarization(polarizationItem()->getVector());
return result;
}
......@@ -151,7 +156,7 @@ SpecularBeamItem::SpecularBeamItem() : BeamItem("SpecularBeam")
initWavelength<SpecularBeamWavelengthItem>();
azimuthalAngleItem()->setVisible(false);
getItem(P_POLARIZATION)->setVisible(false);
polarizationItem()->setVisible(false);
auto item = addGroupProperty(P_FOOPTPRINT, "Footprint group");
item->setDisplayName(footprint_group_label);
......
......@@ -25,6 +25,7 @@ class BeamWavelengthItem;
class FootprintItem;
class GroupItem;
class IAxis;
class VectorItem;
class BA_CORE_API_ BeamItem : public SessionItem {
private:
......@@ -32,9 +33,9 @@ private:
static const QString P_WAVELENGTH;
static const QString P_INCLINATION_ANGLE;
static const QString P_AZIMUTHAL_ANGLE;
public:
static const QString P_POLARIZATION;
public:
~BeamItem() override;
double intensity() const;
......@@ -53,6 +54,8 @@ public:
void setAzimuthalAngle(double value);
BeamAzimuthalAngleItem* azimuthalAngleItem() const;
VectorItem* polarizationItem() const;
std::unique_ptr<Beam> createBeam() const;
protected:
......
......@@ -234,7 +234,7 @@ void TransformFromDomain::setGISASBeamItem(BeamItem* beam_item, const GISASSimul
}
// polarization parameters
beam_item->item<VectorItem>(BeamItem::P_POLARIZATION)->setVector(beam.getBlochVector());
beam_item->polarizationItem()->setVector(beam.getBlochVector());
}
void TransformFromDomain::setOffSpecularBeamItem(BeamItem* beam_item,
......
......@@ -15,6 +15,7 @@
#include "GUI/coregui/Views/InstrumentWidgets/PolarizationAnalysisEditor.h"
#include "GUI/coregui/Models/DetectorItems.h"
#include "GUI/coregui/Models/InstrumentItems.h"
#include "GUI/coregui/Models/VectorItem.h"
#include "GUI/coregui/Views/CommonWidgets/ColumnResizer.h"
#include "GUI/coregui/Views/PropertyEditor/ComponentEditor.h"
#include "GUI/coregui/utils/LayoutUtils.h"
......@@ -54,7 +55,7 @@ PolarizationAnalysisEditor::PolarizationAnalysisEditor(ColumnResizer* columnResi
void PolarizationAnalysisEditor::subscribeToItem()
{
m_polarizationEditor->setItem(beamItem()->getItem(BeamItem::P_POLARIZATION));
m_polarizationEditor->setItem(beamItem()->polarizationItem());
currentItem()->mapper()->setOnPropertyChange(
[this](const QString& name) {
......
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