15 #ifndef BORNAGAIN_GUI_MODEL_DEVICE_RESOLUTIONFUNCTIONITEMS_H
16 #define BORNAGAIN_GUI_MODEL_DEVICE_RESOLUTIONFUNCTIONITEMS_H
22 class IResolutionFunction2D;
29 virtual std::unique_ptr<IResolutionFunction2D>
33 virtual void setUnit(
const std::variant<QString, Unit>&) {}
39 std::unique_ptr<IResolutionFunction2D>
46 std::unique_ptr<IResolutionFunction2D>
49 void setUnit(
const std::variant<QString, Unit>& unit)
override;
Defines class DoubleProperty.
void setUnit(const std::variant< QString, Unit > &unit) override
Set the unit of the distributed value.
std::unique_ptr< IResolutionFunction2D > createResolutionFunction(double scale=1.0) const override
ResolutionFunction2DGaussianItem()
void serialize(Streamer &s) override
DOUBLE_PROPERTY(sigmaX, SigmaX)
DOUBLE_PROPERTY(sigmaY, SigmaY)
virtual ~ResolutionFunctionItem()=default
virtual void serialize(Streamer &)
virtual std::unique_ptr< IResolutionFunction2D > createResolutionFunction(double scale=1.0) const =0
virtual void setUnit(const std::variant< QString, Unit > &)
Set the unit of the distributed value.
std::unique_ptr< IResolutionFunction2D > createResolutionFunction(double scale=1.0) const override
Supports serialization to or deserialization from QXmlStream.