From 28c91037f74badc95e29611b6b4d9b9b9129b13e Mon Sep 17 00:00:00 2001 From: Matthias Puchner <github@mpuchner.de> Date: Sun, 2 May 2021 11:31:55 +0200 Subject: [PATCH] remove obsolete RealParameter.clone --- Param/Base/IParameter.h | 2 - Param/Base/RealParameter.cpp | 8 - Param/Base/RealParameter.h | 4 +- .../Core/Parameters/RealParameterTest.cpp | 22 --- auto/Wrap/libBornAgainDevice.py | 20 +++ auto/Wrap/libBornAgainDevice_wrap.cpp | 138 ++++++++++++++++++ 6 files changed, 160 insertions(+), 34 deletions(-) diff --git a/Param/Base/IParameter.h b/Param/Base/IParameter.h index 3dfc02d9015..f38048eb4a0 100644 --- a/Param/Base/IParameter.h +++ b/Param/Base/IParameter.h @@ -33,8 +33,6 @@ public: const std::function<void()>& onChange); virtual ~IParameter() = default; - virtual IParameter* clone(const std::string& new_name = "") const = 0; - //! Returns true if wrapped parameter was not initialized with proper real value virtual bool isNull() const { return m_data ? false : true; } diff --git a/Param/Base/RealParameter.cpp b/Param/Base/RealParameter.cpp index 146b277c7bc..42442005c45 100644 --- a/Param/Base/RealParameter.cpp +++ b/Param/Base/RealParameter.cpp @@ -30,14 +30,6 @@ RealParameter::RealParameter(const std::string& name, double* par, const std::st } } -RealParameter* RealParameter::clone(const std::string& new_name) const -{ - auto* ret = new RealParameter(new_name != "" ? new_name : getName(), m_data, m_parent_name, - m_onChange, m_limits); - ret->setUnit(unit()); - return ret; -} - void RealParameter::setValue(double value) { if (value == *m_data) diff --git a/Param/Base/RealParameter.h b/Param/Base/RealParameter.h index 5b0cb1d0245..3718d40bfab 100644 --- a/Param/Base/RealParameter.h +++ b/Param/Base/RealParameter.h @@ -34,8 +34,6 @@ public: const Attributes& attr = Attributes::free()); virtual ~RealParameter() = default; - RealParameter* clone(const std::string& new_name = "") const; - //! Sets value of wrapped parameter and emit signal void setValue(double value); @@ -52,7 +50,9 @@ public: RealParameter& setUnit(const std::string& name); std::string unit() const; +#ifndef SWIG static std::string asPythonArgumentList(const std::vector<RealParameter*>& parameters); +#endif protected: RealLimits m_limits; diff --git a/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp b/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp index c23795bc494..641b9e2d1a3 100644 --- a/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp +++ b/Tests/UnitTests/Core/Parameters/RealParameterTest.cpp @@ -50,25 +50,3 @@ TEST_F(RealParameterTest, extendedConstructor) EXPECT_EQ(par.value(), new_value); } -TEST_F(RealParameterTest, clone) -{ - double value(42.0); - bool is_changed(false); - std::unique_ptr<RealParameter> par(new RealParameter( - "name", &value, "parent_name", [&]() { is_changed = true; }, RealLimits::limited(1.0, 43.0), - Attributes::free())); - - // cloning and deleting original - std::unique_ptr<RealParameter> clone(par->clone()); - par.reset(); - EXPECT_EQ(clone->value(), value); - EXPECT_EQ(clone->limits(), RealLimits::limited(1.0, 43.0)); - - // checks - EXPECT_FALSE(is_changed); - const double new_value(41.0); - clone->setValue(new_value); - EXPECT_TRUE(is_changed); - EXPECT_EQ(clone->value(), new_value); - EXPECT_EQ(value, new_value); -} diff --git a/auto/Wrap/libBornAgainDevice.py b/auto/Wrap/libBornAgainDevice.py index b508e4230f3..0aa3f2acd7f 100644 --- a/auto/Wrap/libBornAgainDevice.py +++ b/auto/Wrap/libBornAgainDevice.py @@ -2785,10 +2785,30 @@ class Beam(libBornAgainParam.INode): """ return _libBornAgainDevice.Beam_footprintFactor(self) + def parameterWavelength(self): + r"""parameterWavelength(Beam self) -> RealParameter *""" + return _libBornAgainDevice.Beam_parameterWavelength(self) + + def parameterAzimuthalAngle(self): + r"""parameterAzimuthalAngle(Beam self) -> RealParameter *""" + return _libBornAgainDevice.Beam_parameterAzimuthalAngle(self) + def parameterInclinationAngle(self): r"""parameterInclinationAngle(Beam self) -> RealParameter *""" return _libBornAgainDevice.Beam_parameterInclinationAngle(self) + def setInclinationAngleGuarded(self, d): + r"""setInclinationAngleGuarded(Beam self, double d)""" + return _libBornAgainDevice.Beam_setInclinationAngleGuarded(self, d) + + def setAzimuthalAngleGuarded(self, d): + r"""setAzimuthalAngleGuarded(Beam self, double d)""" + return _libBornAgainDevice.Beam_setAzimuthalAngleGuarded(self, d) + + def setWavelengthGuarded(self, d): + r"""setWavelengthGuarded(Beam self, double d)""" + return _libBornAgainDevice.Beam_setWavelengthGuarded(self, d) + def setWavelength(self, wavelength): r""" setWavelength(Beam self, double wavelength) diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp index 032e3bf8a7a..675531001bc 100644 --- a/auto/Wrap/libBornAgainDevice_wrap.cpp +++ b/auto/Wrap/libBornAgainDevice_wrap.cpp @@ -31331,6 +31331,52 @@ fail: } +SWIGINTERN PyObject *_wrap_Beam_parameterWavelength(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Beam *arg1 = (Beam *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + RealParameter *result = 0 ; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Beam, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Beam_parameterWavelength" "', argument " "1"" of type '" "Beam const *""'"); + } + arg1 = reinterpret_cast< Beam * >(argp1); + result = (RealParameter *)((Beam const *)arg1)->parameterWavelength(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_RealParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Beam_parameterAzimuthalAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Beam *arg1 = (Beam *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + RealParameter *result = 0 ; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Beam, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Beam_parameterAzimuthalAngle" "', argument " "1"" of type '" "Beam const *""'"); + } + arg1 = reinterpret_cast< Beam * >(argp1); + result = (RealParameter *)((Beam const *)arg1)->parameterAzimuthalAngle(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_RealParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_Beam_parameterInclinationAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; Beam *arg1 = (Beam *) 0 ; @@ -31354,6 +31400,93 @@ fail: } +SWIGINTERN PyObject *_wrap_Beam_setInclinationAngleGuarded(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Beam *arg1 = (Beam *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; + + if (!SWIG_Python_UnpackTuple(args, "Beam_setInclinationAngleGuarded", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Beam, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Beam_setInclinationAngleGuarded" "', argument " "1"" of type '" "Beam *""'"); + } + arg1 = reinterpret_cast< Beam * >(argp1); + ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Beam_setInclinationAngleGuarded" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setInclinationAngleGuarded(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Beam_setAzimuthalAngleGuarded(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Beam *arg1 = (Beam *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; + + if (!SWIG_Python_UnpackTuple(args, "Beam_setAzimuthalAngleGuarded", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Beam, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Beam_setAzimuthalAngleGuarded" "', argument " "1"" of type '" "Beam *""'"); + } + arg1 = reinterpret_cast< Beam * >(argp1); + ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Beam_setAzimuthalAngleGuarded" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setAzimuthalAngleGuarded(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Beam_setWavelengthGuarded(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Beam *arg1 = (Beam *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject *swig_obj[2] ; + + if (!SWIG_Python_UnpackTuple(args, "Beam_setWavelengthGuarded", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Beam, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Beam_setWavelengthGuarded" "', argument " "1"" of type '" "Beam *""'"); + } + arg1 = reinterpret_cast< Beam * >(argp1); + ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Beam_setWavelengthGuarded" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setWavelengthGuarded(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_Beam_setWavelength(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; Beam *arg1 = (Beam *) 0 ; @@ -44596,7 +44729,12 @@ static PyMethodDef SwigMethods[] = { "Returns footprint factor. \n" "\n" ""}, + { "Beam_parameterWavelength", _wrap_Beam_parameterWavelength, METH_O, "Beam_parameterWavelength(Beam self) -> RealParameter *"}, + { "Beam_parameterAzimuthalAngle", _wrap_Beam_parameterAzimuthalAngle, METH_O, "Beam_parameterAzimuthalAngle(Beam self) -> RealParameter *"}, { "Beam_parameterInclinationAngle", _wrap_Beam_parameterInclinationAngle, METH_O, "Beam_parameterInclinationAngle(Beam self) -> RealParameter *"}, + { "Beam_setInclinationAngleGuarded", _wrap_Beam_setInclinationAngleGuarded, METH_VARARGS, "Beam_setInclinationAngleGuarded(Beam self, double d)"}, + { "Beam_setAzimuthalAngleGuarded", _wrap_Beam_setAzimuthalAngleGuarded, METH_VARARGS, "Beam_setAzimuthalAngleGuarded(Beam self, double d)"}, + { "Beam_setWavelengthGuarded", _wrap_Beam_setWavelengthGuarded, METH_VARARGS, "Beam_setWavelengthGuarded(Beam self, double d)"}, { "Beam_setWavelength", _wrap_Beam_setWavelength, METH_VARARGS, "\n" "Beam_setWavelength(Beam self, double wavelength)\n" "void Beam::setWavelength(double wavelength)\n" -- GitLab