From 2b5ee38c0789b002c83fc33991c50830ed5878c0 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Fri, 9 Oct 2020 00:03:10 +0200 Subject: [PATCH] forward class declaration --- Core/Scattering/IFormFactorBorn.cpp | 6 ++++ Core/Scattering/IFormFactorBorn.h | 5 +-- auto/Wrap/doxygenCore.i | 5 ++- auto/Wrap/libBornAgainCore.py | 2 +- auto/Wrap/libBornAgainCore_wrap.cpp | 50 ++++++++++++++++------------- 5 files changed, 41 insertions(+), 27 deletions(-) diff --git a/Core/Scattering/IFormFactorBorn.cpp b/Core/Scattering/IFormFactorBorn.cpp index 0989b00386a..8eb54bf4172 100644 --- a/Core/Scattering/IFormFactorBorn.cpp +++ b/Core/Scattering/IFormFactorBorn.cpp @@ -17,12 +17,18 @@ #include "Base/Utils/Algorithms.h" #include "Core/Material/WavevectorInfo.h" #include "Core/Scattering/Rotations.h" +#include "Core/Shapes/IShape.h" + + +IFormFactorBorn::IFormFactorBorn() = default; IFormFactorBorn::IFormFactorBorn(const NodeMeta& meta, const std::vector<double>& PValues) : IFormFactor(meta, PValues) { } +IFormFactorBorn::~IFormFactorBorn() = default; + complex_t IFormFactorBorn::evaluate(const WavevectorInfo& wavevectors) const { return evaluate_for_q(wavevectors.getQ()); diff --git a/Core/Scattering/IFormFactorBorn.h b/Core/Scattering/IFormFactorBorn.h index 298ffad39cc..a846ec85d71 100644 --- a/Core/Scattering/IFormFactorBorn.h +++ b/Core/Scattering/IFormFactorBorn.h @@ -17,8 +17,8 @@ #include "Base/Vector/Vectors3D.h" #include "Core/Scattering/IFormFactor.h" -#include "Core/Shapes/IShape.h" +class IShape; struct SlicingEffects; // defined below //! Pure virtual base class for Born form factors. @@ -32,8 +32,9 @@ struct SlicingEffects; // defined below class IFormFactorBorn : public IFormFactor { public: - IFormFactorBorn() = default; + IFormFactorBorn(); IFormFactorBorn(const NodeMeta& meta, const std::vector<double>& PValues); + ~IFormFactorBorn(); IFormFactorBorn* clone() const override = 0; diff --git a/auto/Wrap/doxygenCore.i b/auto/Wrap/doxygenCore.i index 28ca1e46171..415c01d751c 100644 --- a/auto/Wrap/doxygenCore.i +++ b/auto/Wrap/doxygenCore.i @@ -6113,12 +6113,15 @@ In contrast to the generic IFormFactor, a Born form factor does not depend on t C++ includes: IFormFactorBorn.h "; -%feature("docstring") IFormFactorBorn::IFormFactorBorn "IFormFactorBorn::IFormFactorBorn()=default +%feature("docstring") IFormFactorBorn::IFormFactorBorn "IFormFactorBorn::IFormFactorBorn() "; %feature("docstring") IFormFactorBorn::IFormFactorBorn "IFormFactorBorn::IFormFactorBorn(const NodeMeta &meta, const std::vector< double > &PValues) "; +%feature("docstring") IFormFactorBorn::~IFormFactorBorn "IFormFactorBorn::~IFormFactorBorn() +"; + %feature("docstring") IFormFactorBorn::clone "IFormFactorBorn* IFormFactorBorn::clone() const override=0 Returns a clone of this ISample object. diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index 29b0dc1c1f1..992b42fd352 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -7624,6 +7624,7 @@ class IFormFactorBorn(IFormFactor): else: _self = self _libBornAgainCore.IFormFactorBorn_swiginit(self, _libBornAgainCore.new_IFormFactorBorn(_self, *args)) + __swig_destroy__ = _libBornAgainCore.delete_IFormFactorBorn def clone(self): r""" @@ -7688,7 +7689,6 @@ class IFormFactorBorn(IFormFactor): def canSliceAnalytically(self, rot): r"""canSliceAnalytically(IFormFactorBorn self, IRotation rot) -> bool""" return _libBornAgainCore.IFormFactorBorn_canSliceAnalytically(self, rot) - __swig_destroy__ = _libBornAgainCore.delete_IFormFactorBorn def __disown__(self): self.this.disown() _libBornAgainCore.disown_IFormFactorBorn(self) diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index bcc8347ef45..86d3769f0a4 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -67079,6 +67079,28 @@ fail: } +SWIGINTERN PyObject *_wrap_delete_IFormFactorBorn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFormFactorBorn *arg1 = (IFormFactorBorn *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IFormFactorBorn, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IFormFactorBorn" "', argument " "1"" of type '" "IFormFactorBorn *""'"); + } + arg1 = reinterpret_cast< IFormFactorBorn * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_IFormFactorBorn_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IFormFactorBorn *arg1 = (IFormFactorBorn *) 0 ; @@ -67408,28 +67430,6 @@ fail: } -SWIGINTERN PyObject *_wrap_delete_IFormFactorBorn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFormFactorBorn *arg1 = (IFormFactorBorn *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; - - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IFormFactorBorn, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IFormFactorBorn" "', argument " "1"" of type '" "IFormFactorBorn *""'"); - } - arg1 = reinterpret_cast< IFormFactorBorn * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_disown_IFormFactorBorn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IFormFactorBorn *arg1 = (IFormFactorBorn *) 0 ; @@ -122168,6 +122168,11 @@ static PyMethodDef SwigMethods[] = { "IFormFactorBorn::IFormFactorBorn(const NodeMeta &meta, const std::vector< double > &PValues)\n" "\n" ""}, + { "delete_IFormFactorBorn", _wrap_delete_IFormFactorBorn, METH_O, "\n" + "delete_IFormFactorBorn(IFormFactorBorn self)\n" + "IFormFactorBorn::~IFormFactorBorn()\n" + "\n" + ""}, { "IFormFactorBorn_clone", _wrap_IFormFactorBorn_clone, METH_O, "\n" "IFormFactorBorn_clone(IFormFactorBorn self) -> IFormFactorBorn\n" "IFormFactorBorn* IFormFactorBorn::clone() const override=0\n" @@ -122211,7 +122216,6 @@ static PyMethodDef SwigMethods[] = { "\n" ""}, { "IFormFactorBorn_canSliceAnalytically", _wrap_IFormFactorBorn_canSliceAnalytically, METH_VARARGS, "IFormFactorBorn_canSliceAnalytically(IFormFactorBorn self, IRotation rot) -> bool"}, - { "delete_IFormFactorBorn", _wrap_delete_IFormFactorBorn, METH_O, "delete_IFormFactorBorn(IFormFactorBorn self)"}, { "disown_IFormFactorBorn", _wrap_disown_IFormFactorBorn, METH_O, NULL}, { "IFormFactorBorn_sliceFormFactor", _wrap_IFormFactorBorn_sliceFormFactor, METH_VARARGS, "IFormFactorBorn_sliceFormFactor(IFormFactorBorn self, ZLimits limits, IRotation rot, kvector_t translation) -> IFormFactor"}, { "IFormFactorBorn_swigregister", IFormFactorBorn_swigregister, METH_O, NULL}, -- GitLab