From d3e1f56864f5d51ff9bc8acd02d6a264de0e2009 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Thu, 16 Dec 2021 16:17:49 +0100 Subject: [PATCH] rm class and source files IDecoratableBorn --- Sample/Particle/FormFactorCrystal.h | 2 +- Sample/Scattering/DecoratedFF.h | 6 +- Sample/Scattering/IDecoratableBorn.cpp | 24 - Sample/Scattering/IDecoratableBorn.h | 41 -- Sample/Scattering/IFormFactor.h | 2 +- Tests/SingleUse/ff-tetrahedron.cpp | 2 +- Tests/Unit/Numeric/BisectFF.cpp | 8 +- Wrap/Swig/libBornAgainCore.i | 3 +- Wrap/Swig/libBornAgainResample.i | 1 - Wrap/Swig/libBornAgainSample.i | 4 +- auto/Wrap/doxygenSample.i | 50 +- auto/Wrap/libBornAgainCore_wrap.cpp | 205 +++--- auto/Wrap/libBornAgainSample.py | 64 +- auto/Wrap/libBornAgainSample_wrap.cpp | 907 ++++--------------------- auto/Wrap/libBornAgainSample_wrap.h | 52 -- 15 files changed, 257 insertions(+), 1114 deletions(-) delete mode 100644 Sample/Scattering/IDecoratableBorn.cpp delete mode 100644 Sample/Scattering/IDecoratableBorn.h diff --git a/Sample/Particle/FormFactorCrystal.h b/Sample/Particle/FormFactorCrystal.h index c076be64a35..26bdc86daba 100644 --- a/Sample/Particle/FormFactorCrystal.h +++ b/Sample/Particle/FormFactorCrystal.h @@ -15,8 +15,8 @@ #ifndef BORNAGAIN_SAMPLE_PARTICLE_FORMFACTORCRYSTAL_H #define BORNAGAIN_SAMPLE_PARTICLE_FORMFACTORCRYSTAL_H +#include "Sample/Scattering/IFormFactor.h" #include "Sample/Lattice/Lattice3D.h" -#include "Sample/Scattering/IDecoratableBorn.h" //! The form factor of a MesoCrystal. //! @ingroup formfactors diff --git a/Sample/Scattering/DecoratedFF.h b/Sample/Scattering/DecoratedFF.h index b6b39d1d5fb..1e01285f533 100644 --- a/Sample/Scattering/DecoratedFF.h +++ b/Sample/Scattering/DecoratedFF.h @@ -16,7 +16,7 @@ #ifndef BORNAGAIN_SAMPLE_SCATTERING_DECORATEDFF_H #define BORNAGAIN_SAMPLE_SCATTERING_DECORATEDFF_H -#include "Sample/Scattering/IDecoratableBorn.h" +#include "Sample/Scattering/IFormFactor.h" #include <heinz/Vectors3D.h> class IBornFF; @@ -29,7 +29,7 @@ class RotMatrix; //! This class is designed according to the Decorator Pattern. //! It inherits from IFormFactor _and_ has a member of type IFormFactor*. -class DecoratedFF : public IDecoratableBorn { +class DecoratedFF : public IFormFactor { public: DecoratedFF(const IBornFF& ff); ~DecoratedFF() override; @@ -61,7 +61,7 @@ public: const IBornFF* getFormFactor() const; - complex_t formfactor(C3 q) const override; + virtual complex_t formfactor(C3 q) const; static DecoratedFF* createTransformedFormFactor(const IBornFF& formfactor, const IRotation* rot, R3 translation); diff --git a/Sample/Scattering/IDecoratableBorn.cpp b/Sample/Scattering/IDecoratableBorn.cpp deleted file mode 100644 index 033b9a4dcca..00000000000 --- a/Sample/Scattering/IDecoratableBorn.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file Sample/Scattering/IDecoratableBorn.cpp -//! @brief Implements interface class IDecoratableBorn. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#include "Sample/Scattering/IDecoratableBorn.h" - -IDecoratableBorn::IDecoratableBorn() = default; - -IDecoratableBorn::IDecoratableBorn(const NodeMeta& meta, const std::vector<double>& PValues) - : IFormFactor(meta, PValues) -{ -} - -IDecoratableBorn::~IDecoratableBorn() = default; diff --git a/Sample/Scattering/IDecoratableBorn.h b/Sample/Scattering/IDecoratableBorn.h deleted file mode 100644 index f3003a14324..00000000000 --- a/Sample/Scattering/IDecoratableBorn.h +++ /dev/null @@ -1,41 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file Sample/Scattering/IDecoratableBorn.h -//! @brief Defines interface IDecoratableBorn. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#ifndef USER_API -#ifndef BORNAGAIN_SAMPLE_SCATTERING_IDECORATABLEBORN_H -#define BORNAGAIN_SAMPLE_SCATTERING_IDECORATABLEBORN_H - -#include "Sample/Scattering/IFormFactor.h" - -//! Abstract base class for Born form factors. -//! -//! In contrast to the generic IFormFactor, a Born form factor does not depend -//! on the incoming and outgoing wave vectors ki and kf, except through their -//! difference, the scattering vector q=ki-kf. - -class IDecoratableBorn : public IFormFactor { -public: - IDecoratableBorn(); - IDecoratableBorn(const NodeMeta& meta, const std::vector<double>& PValues); - ~IDecoratableBorn() override; - - IDecoratableBorn* clone() const override = 0; - - //! Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. - //! This method is public only for convenience of plotting form factors in Python. - virtual complex_t formfactor(C3 q) const = 0; -}; - -#endif // BORNAGAIN_SAMPLE_SCATTERING_IDECORATABLEBORN_H -#endif // USER_API diff --git a/Sample/Scattering/IFormFactor.h b/Sample/Scattering/IFormFactor.h index 136734c2793..57125718a01 100644 --- a/Sample/Scattering/IFormFactor.h +++ b/Sample/Scattering/IFormFactor.h @@ -31,7 +31,7 @@ class WavevectorInfo; //! //! The actual form factor is returned by the complex valued function IFormFactor::evaluate, //! which depends on the incoming and outgoing wave vectors ki and kf. -//! If it only depends on the scattering vector q=ki-kf, then it is a IDecoratableBorn. +//! If it only depends on the scattering vector q=ki-kf, then it is a DecoratedBorn. class IFormFactor : public ICloneable, public INode { protected: diff --git a/Tests/SingleUse/ff-tetrahedron.cpp b/Tests/SingleUse/ff-tetrahedron.cpp index 3137d7cc556..946c21e4f7a 100644 --- a/Tests/SingleUse/ff-tetrahedron.cpp +++ b/Tests/SingleUse/ff-tetrahedron.cpp @@ -14,7 +14,7 @@ class AdHoc : public ::testing::Test { }; -void run(const IDecoratableBorn& ff, const C3& q, const C3& p) +void run(const IBornFF& ff, const C3& q, const C3& p) { const complex_t ffq = ff.formfactor(q); std::cout << std::setprecision(16) << q << " -> " << ffq << "\n"; diff --git a/Tests/Unit/Numeric/BisectFF.cpp b/Tests/Unit/Numeric/BisectFF.cpp index 405b2b3d160..e2d22779f90 100644 --- a/Tests/Unit/Numeric/BisectFF.cpp +++ b/Tests/Unit/Numeric/BisectFF.cpp @@ -21,7 +21,7 @@ testing::Values(1e-19, 1e-17, 1e-15, 1e-12, 1e-9, 1e-6, 1e-3, .03, 1., 3., 10., 30., 100.), testing::Values(-1., 1.), testing::Values(0, -4e-16, +8e-16, -5e-11, 3e-7, -2e-3, .01, .1)); -complex_t deriv(const IDecoratableBorn& ff, const C3& qf, const complex_t Ff, +complex_t deriv(const IBornFF& ff, const C3& qf, const complex_t Ff, const PolyhedralDiagnosis& /*df*/, const C3& qdir, const double qstep) { assert(Ff == ff.formfactor(qf)); @@ -33,7 +33,7 @@ complex_t deriv(const IDecoratableBorn& ff, const C3& qf, const complex_t Ff, //! Bisect between two q's to find possible discontinuities -void bisect(int& ifail, const C3& qdir, const IDecoratableBorn& ff, const C3& q0, const C3& q1, +void bisect(int& ifail, const C3& qdir, const IBornFF& ff, const C3& q0, const C3& q1, const complex_t F0, const complex_t F1, const PolyhedralDiagnosis& d0, const PolyhedralDiagnosis& d1, const double qmindiff, const double Fmaxreldiff) { @@ -84,7 +84,7 @@ void bisect(int& ifail, const C3& qdir, const IDecoratableBorn& ff, const C3& q0 bisect(ifail, qdir, ff, q2, q1, F2, F1, d2, d1, qmindiff, Fmaxreldiff); } -void run_bisection(int& ifail, IDecoratableBorn& ff, const C3& q0, const C3& q1) +void run_bisection(int& ifail, IBornFF& ff, const C3& q0, const C3& q1) { const double qdiffmin = std::max(q0.mag(), q1.mag()) / 4e11; complex_t F0 = ff.formfactor(q0); @@ -97,7 +97,7 @@ void run_bisection(int& ifail, IDecoratableBorn& ff, const C3& q0, const C3& q1) bisect(ifail, q1 - q0, ff, q0, q1, F0, F1, d0, d1, qdiffmin, .6e-10); } -void run_test(IDecoratableBorn& ff) +void run_test(IBornFF& ff) { ::testing::internal::ParamGenerator<std::tuple<C3, C3, double, double, double>> gen = qlist; int ifail = 0; diff --git a/Wrap/Swig/libBornAgainCore.i b/Wrap/Swig/libBornAgainCore.i index d08cb8dacc0..cb36cb22bcf 100644 --- a/Wrap/Swig/libBornAgainCore.i +++ b/Wrap/Swig/libBornAgainCore.i @@ -56,9 +56,9 @@ %{ #include "BAVersion.h" -#include "Sample/Scattering/IDecoratableBorn.h" #include "Fit/Minimizer/MinimizerResult.h" #include "Sample/Scattering/ISampleNode.h" +#include "Sample/Scattering/IFormFactor.h" #include "Core/Background/ConstantBackground.h" #include "Core/Background/PoissonNoiseBackground.h" @@ -91,7 +91,6 @@ %import(module="libBornAgainSample") "Sample/Scattering/ISampleNode.h" %import(module="libBornAgainSample") "Sample/Scattering/IFormFactor.h" -%import(module="libBornAgainSample") "Sample/Scattering/IDecoratableBorn.h" %template(swig_dummy_type_axisinfo_vector) std::vector<AxisInfo>; diff --git a/Wrap/Swig/libBornAgainResample.i b/Wrap/Swig/libBornAgainResample.i index a29350851d3..eee2d9d0be7 100644 --- a/Wrap/Swig/libBornAgainResample.i +++ b/Wrap/Swig/libBornAgainResample.i @@ -58,7 +58,6 @@ %import(module="libBornAgainSample") "Sample/Scattering/ISampleNode.h" %import(module="libBornAgainSample") "Sample/Scattering/IFormFactor.h" -%import(module="libBornAgainSample") "Sample/Scattering/IDecoratableBorn.h" %include "BAVersion.h" %include "Resample/Swig/MultiLayerFuncs.h" diff --git a/Wrap/Swig/libBornAgainSample.i b/Wrap/Swig/libBornAgainSample.i index 7b50e8a247c..2508327e0ac 100644 --- a/Wrap/Swig/libBornAgainSample.i +++ b/Wrap/Swig/libBornAgainSample.i @@ -30,8 +30,7 @@ %} %feature("director") ISampleNode; // needed by IFormFactor -%feature("director") IFormFactor; // needed by IDecoratableBorn -%feature("director") IDecoratableBorn; // used in CustomFormFactor.py +%feature("director") IFormFactor; // needed by DecoratedFF etc ? %feature("director") IBornFF; // used in CustomFormFactor.py %{ @@ -125,7 +124,6 @@ %include "Sample/Scattering/ISampleNode.h" %include "Sample/Scattering/IFormFactor.h" -%include "Sample/Scattering/IDecoratableBorn.h" %include "Sample/Scattering/IBornFF.h" %include "Sample/Scattering/DecoratedFF.h" %include "Sample/Scattering/Rotations.h" diff --git a/auto/Wrap/doxygenSample.i b/auto/Wrap/doxygenSample.i index 077ee266a23..17ae4a8da86 100644 --- a/auto/Wrap/doxygenSample.i +++ b/auto/Wrap/doxygenSample.i @@ -254,9 +254,7 @@ Returns the z-coordinate of the lowest point in this shape after a given rotatio %feature("docstring") DecoratedFF::getFormFactor "const IBornFF * DecoratedFF::getFormFactor() const "; -%feature("docstring") DecoratedFF::formfactor "complex_t DecoratedFF::formfactor(C3 q) const override - -Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This method is public only for convenience of plotting form factors in Python. +%feature("docstring") DecoratedFF::formfactor "complex_t DecoratedFF::formfactor(C3 q) const "; @@ -2322,34 +2320,6 @@ C++ includes: IProfileRipple.h "; -// File: classIDecoratableBorn.xml -%feature("docstring") IDecoratableBorn " - -Abstract base class for Born form factors. - -In contrast to the generic IFormFactor, a Born form factor does not depend on the incoming and outgoing wave vectors ki and kf, except through their difference, the scattering vector q=ki-kf. - -C++ includes: IDecoratableBorn.h -"; - -%feature("docstring") IDecoratableBorn::IDecoratableBorn "IDecoratableBorn::IDecoratableBorn() -"; - -%feature("docstring") IDecoratableBorn::IDecoratableBorn "IDecoratableBorn::IDecoratableBorn(const NodeMeta &meta, const std::vector< double > &PValues) -"; - -%feature("docstring") IDecoratableBorn::~IDecoratableBorn "IDecoratableBorn::~IDecoratableBorn() override -"; - -%feature("docstring") IDecoratableBorn::clone "IDecoratableBorn* IDecoratableBorn::clone() const override=0 -"; - -%feature("docstring") IDecoratableBorn::formfactor "virtual complex_t IDecoratableBorn::formfactor(C3 q) const =0 - -Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This method is public only for convenience of plotting form factors in Python. -"; - - // File: classIdentityRotation.xml %feature("docstring") IdentityRotation " @@ -2414,7 +2384,7 @@ Returns true if rotation matrix is identity matrix (no rotations) Abstract base class for all form factors. -The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a IDecoratableBorn. +The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a DecoratedBorn. C++ includes: IFormFactor.h "; @@ -5137,19 +5107,19 @@ C++ includes: ZLimits.h // File: namespace_0d2.xml -// File: namespace_0d204.xml +// File: namespace_0d202.xml -// File: namespace_0d217.xml +// File: namespace_0d215.xml -// File: namespace_0d227.xml +// File: namespace_0d225.xml -// File: namespace_0d249.xml +// File: namespace_0d247.xml -// File: namespace_0d262.xml +// File: namespace_0d260.xml // File: namespace_0d36.xml @@ -6143,12 +6113,6 @@ magnetization (in A/m) // File: IBornFF_8h.xml -// File: IDecoratableBorn_8cpp.xml - - -// File: IDecoratableBorn_8h.xml - - // File: IFormFactor_8cpp.xml diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index 41d945727e5..aadd412636b 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -3109,101 +3109,100 @@ namespace Swig { #define SWIGTYPE_p_IBackground swig_types[9] #define SWIGTYPE_p_IChiSquaredModule swig_types[10] #define SWIGTYPE_p_ICloneable swig_types[11] -#define SWIGTYPE_p_IDecoratableBorn swig_types[12] -#define SWIGTYPE_p_IDetector swig_types[13] -#define SWIGTYPE_p_IDetector2D swig_types[14] -#define SWIGTYPE_p_IDistribution1D swig_types[15] -#define SWIGTYPE_p_IFootprintFactor swig_types[16] -#define SWIGTYPE_p_IFormFactor swig_types[17] -#define SWIGTYPE_p_IIntensityFunction swig_types[18] -#define SWIGTYPE_p_INode swig_types[19] -#define SWIGTYPE_p_IRangedDistribution swig_types[20] -#define SWIGTYPE_p_ISampleNode swig_types[21] -#define SWIGTYPE_p_IShape2D swig_types[22] -#define SWIGTYPE_p_ISimulation swig_types[23] -#define SWIGTYPE_p_ISimulation2D swig_types[24] -#define SWIGTYPE_p_ISpecularScan swig_types[25] -#define SWIGTYPE_p_IVarianceFunction swig_types[26] -#define SWIGTYPE_p_Instrument swig_types[27] -#define SWIGTYPE_p_IntensityFunctionLog swig_types[28] -#define SWIGTYPE_p_IntensityFunctionSqrt swig_types[29] -#define SWIGTYPE_p_IterationInfo swig_types[30] -#define SWIGTYPE_p_MultiLayer swig_types[31] -#define SWIGTYPE_p_OffSpecularSimulation swig_types[32] -#define SWIGTYPE_p_ParameterDistribution swig_types[33] -#define SWIGTYPE_p_PoissonNoiseBackground swig_types[34] -#define SWIGTYPE_p_PyBuilderCallback swig_types[35] -#define SWIGTYPE_p_PyObserverCallback swig_types[36] -#define SWIGTYPE_p_QzScan swig_types[37] -#define SWIGTYPE_p_RealLimits swig_types[38] -#define SWIGTYPE_p_ScanResolution swig_types[39] -#define SWIGTYPE_p_SimulationOptions swig_types[40] -#define SWIGTYPE_p_SimulationResult swig_types[41] -#define SWIGTYPE_p_SpecularSimulation swig_types[42] -#define SWIGTYPE_p_VarianceConstantFunction swig_types[43] -#define SWIGTYPE_p_VarianceSimFunction swig_types[44] -#define SWIGTYPE_p_Vec3T_double_t swig_types[45] -#define SWIGTYPE_p_Vec3T_int_t swig_types[46] -#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[47] -#define SWIGTYPE_p_allocator_type swig_types[48] -#define SWIGTYPE_p_char swig_types[49] -#define SWIGTYPE_p_difference_type swig_types[50] -#define SWIGTYPE_p_first_type swig_types[51] -#define SWIGTYPE_p_int swig_types[52] -#define SWIGTYPE_p_key_type swig_types[53] -#define SWIGTYPE_p_long_long swig_types[54] -#define SWIGTYPE_p_mapped_type swig_types[55] -#define SWIGTYPE_p_mumufit__MinimizerResult swig_types[56] -#define SWIGTYPE_p_mumufit__Parameters swig_types[57] -#define SWIGTYPE_p_p_PyObject swig_types[58] -#define SWIGTYPE_p_second_type swig_types[59] -#define SWIGTYPE_p_short swig_types[60] -#define SWIGTYPE_p_signed_char swig_types[61] -#define SWIGTYPE_p_size_type swig_types[62] -#define SWIGTYPE_p_std__allocatorT_AxisInfo_t swig_types[63] -#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[64] -#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[65] -#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[66] -#define SWIGTYPE_p_std__allocatorT_Vec3T_std__complexT_double_t_t_t swig_types[67] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[68] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[69] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[70] -#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[71] -#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[72] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[73] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[74] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[75] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[76] -#define SWIGTYPE_p_std__arrayT_double_3_t swig_types[77] -#define SWIGTYPE_p_std__arrayT_std__complexT_double_t_3_t swig_types[78] -#define SWIGTYPE_p_std__complexT_double_t swig_types[79] -#define SWIGTYPE_p_std__functionT_bool_fsize_tF_t swig_types[80] -#define SWIGTYPE_p_std__invalid_argument swig_types[81] -#define SWIGTYPE_p_std__lessT_std__string_t swig_types[82] -#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[83] -#define SWIGTYPE_p_std__pairT_double_double_t swig_types[84] -#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[85] -#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[86] -#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[87] -#define SWIGTYPE_p_std__vectorT_ParameterDistribution_std__allocatorT_ParameterDistribution_t_t swig_types[88] -#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_std__allocatorT_Vec3T_double_t_t_t swig_types[89] -#define SWIGTYPE_p_std__vectorT_Vec3T_std__complexT_double_t_t_std__allocatorT_Vec3T_std__complexT_double_t_t_t_t swig_types[90] -#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[91] -#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[92] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[93] -#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[94] -#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[95] -#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[96] -#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[97] -#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[98] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[99] -#define SWIGTYPE_p_unsigned_char swig_types[100] -#define SWIGTYPE_p_unsigned_int swig_types[101] -#define SWIGTYPE_p_unsigned_long_long swig_types[102] -#define SWIGTYPE_p_unsigned_short swig_types[103] -#define SWIGTYPE_p_value_type swig_types[104] -static swig_type_info *swig_types[106]; -static swig_module_info swig_module = {swig_types, 105, 0, 0, 0, 0}; +#define SWIGTYPE_p_IDetector swig_types[12] +#define SWIGTYPE_p_IDetector2D swig_types[13] +#define SWIGTYPE_p_IDistribution1D swig_types[14] +#define SWIGTYPE_p_IFootprintFactor swig_types[15] +#define SWIGTYPE_p_IFormFactor swig_types[16] +#define SWIGTYPE_p_IIntensityFunction swig_types[17] +#define SWIGTYPE_p_INode swig_types[18] +#define SWIGTYPE_p_IRangedDistribution swig_types[19] +#define SWIGTYPE_p_ISampleNode swig_types[20] +#define SWIGTYPE_p_IShape2D swig_types[21] +#define SWIGTYPE_p_ISimulation swig_types[22] +#define SWIGTYPE_p_ISimulation2D swig_types[23] +#define SWIGTYPE_p_ISpecularScan swig_types[24] +#define SWIGTYPE_p_IVarianceFunction swig_types[25] +#define SWIGTYPE_p_Instrument swig_types[26] +#define SWIGTYPE_p_IntensityFunctionLog swig_types[27] +#define SWIGTYPE_p_IntensityFunctionSqrt swig_types[28] +#define SWIGTYPE_p_IterationInfo swig_types[29] +#define SWIGTYPE_p_MultiLayer swig_types[30] +#define SWIGTYPE_p_OffSpecularSimulation swig_types[31] +#define SWIGTYPE_p_ParameterDistribution swig_types[32] +#define SWIGTYPE_p_PoissonNoiseBackground swig_types[33] +#define SWIGTYPE_p_PyBuilderCallback swig_types[34] +#define SWIGTYPE_p_PyObserverCallback swig_types[35] +#define SWIGTYPE_p_QzScan swig_types[36] +#define SWIGTYPE_p_RealLimits swig_types[37] +#define SWIGTYPE_p_ScanResolution swig_types[38] +#define SWIGTYPE_p_SimulationOptions swig_types[39] +#define SWIGTYPE_p_SimulationResult swig_types[40] +#define SWIGTYPE_p_SpecularSimulation swig_types[41] +#define SWIGTYPE_p_VarianceConstantFunction swig_types[42] +#define SWIGTYPE_p_VarianceSimFunction swig_types[43] +#define SWIGTYPE_p_Vec3T_double_t swig_types[44] +#define SWIGTYPE_p_Vec3T_int_t swig_types[45] +#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[46] +#define SWIGTYPE_p_allocator_type swig_types[47] +#define SWIGTYPE_p_char swig_types[48] +#define SWIGTYPE_p_difference_type swig_types[49] +#define SWIGTYPE_p_first_type swig_types[50] +#define SWIGTYPE_p_int swig_types[51] +#define SWIGTYPE_p_key_type swig_types[52] +#define SWIGTYPE_p_long_long swig_types[53] +#define SWIGTYPE_p_mapped_type swig_types[54] +#define SWIGTYPE_p_mumufit__MinimizerResult swig_types[55] +#define SWIGTYPE_p_mumufit__Parameters swig_types[56] +#define SWIGTYPE_p_p_PyObject swig_types[57] +#define SWIGTYPE_p_second_type swig_types[58] +#define SWIGTYPE_p_short swig_types[59] +#define SWIGTYPE_p_signed_char swig_types[60] +#define SWIGTYPE_p_size_type swig_types[61] +#define SWIGTYPE_p_std__allocatorT_AxisInfo_t swig_types[62] +#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[63] +#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[64] +#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[65] +#define SWIGTYPE_p_std__allocatorT_Vec3T_std__complexT_double_t_t_t swig_types[66] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[67] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[68] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[69] +#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[70] +#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[71] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[72] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[73] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[74] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[75] +#define SWIGTYPE_p_std__arrayT_double_3_t swig_types[76] +#define SWIGTYPE_p_std__arrayT_std__complexT_double_t_3_t swig_types[77] +#define SWIGTYPE_p_std__complexT_double_t swig_types[78] +#define SWIGTYPE_p_std__functionT_bool_fsize_tF_t swig_types[79] +#define SWIGTYPE_p_std__invalid_argument swig_types[80] +#define SWIGTYPE_p_std__lessT_std__string_t swig_types[81] +#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[82] +#define SWIGTYPE_p_std__pairT_double_double_t swig_types[83] +#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[84] +#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[85] +#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[86] +#define SWIGTYPE_p_std__vectorT_ParameterDistribution_std__allocatorT_ParameterDistribution_t_t swig_types[87] +#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_std__allocatorT_Vec3T_double_t_t_t swig_types[88] +#define SWIGTYPE_p_std__vectorT_Vec3T_std__complexT_double_t_t_std__allocatorT_Vec3T_std__complexT_double_t_t_t_t swig_types[89] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[90] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[91] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[92] +#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[93] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[94] +#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[95] +#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[96] +#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[97] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[98] +#define SWIGTYPE_p_unsigned_char swig_types[99] +#define SWIGTYPE_p_unsigned_int swig_types[100] +#define SWIGTYPE_p_unsigned_long_long swig_types[101] +#define SWIGTYPE_p_unsigned_short swig_types[102] +#define SWIGTYPE_p_value_type swig_types[103] +static swig_type_info *swig_types[105]; +static swig_module_info swig_module = {swig_types, 104, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -6954,9 +6953,9 @@ SWIGINTERN std::vector< std::pair< double,double > >::iterator std_vector_Sl_std SWIGINTERN void std_vector_Sl_std_pair_Sl_double_Sc_double_Sg__Sg__insert__SWIG_1(std::vector< std::pair< double,double > > *self,std::vector< std::pair< double,double > >::iterator pos,std::vector< std::pair< double,double > >::size_type n,std::vector< std::pair< double,double > >::value_type const &x){ self->insert(pos, n, x); } #include "BAVersion.h" -#include "Sample/Scattering/IDecoratableBorn.h" #include "Fit/Minimizer/MinimizerResult.h" #include "Sample/Scattering/ISampleNode.h" +#include "Sample/Scattering/IFormFactor.h" #include "Core/Background/ConstantBackground.h" #include "Core/Background/PoissonNoiseBackground.h" @@ -47839,9 +47838,6 @@ static void *_p_IntensityFunctionLogTo_p_IIntensityFunction(void *x, int *SWIGUN static void *_p_IFormFactorTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) ((IFormFactor *) x)); } -static void *_p_IDecoratableBornTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *) ((IDecoratableBorn *) x)); -} static void *_p_ISimulation2DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISimulation *) ((ISimulation2D *) x)); } @@ -47893,9 +47889,6 @@ static void *_p_AlphaScanTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory) static void *_p_IFormFactorTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((IFormFactor *) x)); } -static void *_p_IDecoratableBornTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *) ((IDecoratableBorn *) x)); -} static void *_p_IBackgroundTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((IBackground *) x)); } @@ -47927,7 +47920,6 @@ static swig_type_info _swigt__p_IBackground = {"_p_IBackground", "IBackground *" static swig_type_info _swigt__p_IChiSquaredModule = {"_p_IChiSquaredModule", "IChiSquaredModule *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ICloneable = {"_p_ICloneable", "ICloneable *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IFormFactor = {"_p_IFormFactor", 0, 0, 0, 0, 0}; -static swig_type_info _swigt__p_IDecoratableBorn = {"_p_IDecoratableBorn", 0, 0, 0, 0, 0}; static swig_type_info _swigt__p_ISampleNode = {"_p_ISampleNode", 0, 0, 0, 0, 0}; static swig_type_info _swigt__p_IDetector = {"_p_IDetector", "IDetector *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IDetector2D = {"_p_IDetector2D", "IDetector2D *", 0, 0, (void*)0, 0}; @@ -48033,7 +48025,6 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_IBackground, &_swigt__p_IChiSquaredModule, &_swigt__p_ICloneable, - &_swigt__p_IDecoratableBorn, &_swigt__p_IDetector, &_swigt__p_IDetector2D, &_swigt__p_IDistribution1D, @@ -48140,15 +48131,14 @@ static swig_cast_info _swigc__p_IAxis[] = { {&_swigt__p_IAxis, 0, 0, 0},{0, 0, static swig_cast_info _swigc__p_IBackground[] = { {&_swigt__p_IBackground, 0, 0, 0}, {&_swigt__p_ConstantBackground, _p_ConstantBackgroundTo_p_IBackground, 0, 0}, {&_swigt__p_PoissonNoiseBackground, _p_PoissonNoiseBackgroundTo_p_IBackground, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IChiSquaredModule[] = { {&_swigt__p_IChiSquaredModule, 0, 0, 0}, {&_swigt__p_ChiSquaredModule, _p_ChiSquaredModuleTo_p_IChiSquaredModule, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFormFactor[] = {{&_swigt__p_IFormFactor, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_IDecoratableBorn[] = {{&_swigt__p_IDecoratableBorn, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ISampleNode[] = {{&_swigt__p_ISampleNode, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_ScanResolution, _p_ScanResolutionTo_p_ICloneable, 0, 0}, {&_swigt__p_IChiSquaredModule, _p_IChiSquaredModuleTo_p_ICloneable, 0, 0}, {&_swigt__p_ChiSquaredModule, _p_ChiSquaredModuleTo_p_ICloneable, 0, 0}, {&_swigt__p_QzScan, _p_QzScanTo_p_ICloneable, 0, 0}, {&_swigt__p_AlphaScan, _p_AlphaScanTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_ICloneable, 0, 0}, {&_swigt__p_IDecoratableBorn, _p_IDecoratableBornTo_p_ICloneable, 0, 0}, {&_swigt__p_IBackground, _p_IBackgroundTo_p_ICloneable, 0, 0}, {&_swigt__p_ConstantBackground, _p_ConstantBackgroundTo_p_ICloneable, 0, 0}, {&_swigt__p_PoissonNoiseBackground, _p_PoissonNoiseBackgroundTo_p_ICloneable, 0, 0}, {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_ISpecularScan, _p_ISpecularScanTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_ScanResolution, _p_ScanResolutionTo_p_ICloneable, 0, 0}, {&_swigt__p_IChiSquaredModule, _p_IChiSquaredModuleTo_p_ICloneable, 0, 0}, {&_swigt__p_ChiSquaredModule, _p_ChiSquaredModuleTo_p_ICloneable, 0, 0}, {&_swigt__p_QzScan, _p_QzScanTo_p_ICloneable, 0, 0}, {&_swigt__p_AlphaScan, _p_AlphaScanTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_ICloneable, 0, 0}, {&_swigt__p_IBackground, _p_IBackgroundTo_p_ICloneable, 0, 0}, {&_swigt__p_ConstantBackground, _p_ConstantBackgroundTo_p_ICloneable, 0, 0}, {&_swigt__p_PoissonNoiseBackground, _p_PoissonNoiseBackgroundTo_p_ICloneable, 0, 0}, {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_ISpecularScan, _p_ISpecularScanTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IDetector[] = { {&_swigt__p_IDetector, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IDetector2D[] = { {&_swigt__p_IDetector2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IDistribution1D[] = { {&_swigt__p_IDistribution1D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFootprintFactor[] = { {&_swigt__p_IFootprintFactor, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IIntensityFunction[] = { {&_swigt__p_IntensityFunctionSqrt, _p_IntensityFunctionSqrtTo_p_IIntensityFunction, 0, 0}, {&_swigt__p_IIntensityFunction, 0, 0, 0}, {&_swigt__p_IntensityFunctionLog, _p_IntensityFunctionLogTo_p_IIntensityFunction, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_INode, 0, 0}, {&_swigt__p_IDecoratableBorn, _p_IDecoratableBornTo_p_INode, 0, 0}, {&_swigt__p_ISimulation2D, _p_ISimulation2DTo_p_INode, 0, 0}, {&_swigt__p_GISASSimulation, _p_GISASSimulationTo_p_INode, 0, 0}, {&_swigt__p_OffSpecularSimulation, _p_OffSpecularSimulationTo_p_INode, 0, 0}, {&_swigt__p_ISimulation, _p_ISimulationTo_p_INode, 0, 0}, {&_swigt__p_DepthProbeSimulation, _p_DepthProbeSimulationTo_p_INode, 0, 0}, {&_swigt__p_SpecularSimulation, _p_SpecularSimulationTo_p_INode, 0, 0}, {&_swigt__p_IBackground, _p_IBackgroundTo_p_INode, 0, 0}, {&_swigt__p_ConstantBackground, _p_ConstantBackgroundTo_p_INode, 0, 0}, {&_swigt__p_PoissonNoiseBackground, _p_PoissonNoiseBackgroundTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_INode, 0, 0}, {&_swigt__p_ISimulation2D, _p_ISimulation2DTo_p_INode, 0, 0}, {&_swigt__p_GISASSimulation, _p_GISASSimulationTo_p_INode, 0, 0}, {&_swigt__p_OffSpecularSimulation, _p_OffSpecularSimulationTo_p_INode, 0, 0}, {&_swigt__p_ISimulation, _p_ISimulationTo_p_INode, 0, 0}, {&_swigt__p_DepthProbeSimulation, _p_DepthProbeSimulationTo_p_INode, 0, 0}, {&_swigt__p_SpecularSimulation, _p_SpecularSimulationTo_p_INode, 0, 0}, {&_swigt__p_IBackground, _p_IBackgroundTo_p_INode, 0, 0}, {&_swigt__p_ConstantBackground, _p_ConstantBackgroundTo_p_INode, 0, 0}, {&_swigt__p_PoissonNoiseBackground, _p_PoissonNoiseBackgroundTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IRangedDistribution[] = { {&_swigt__p_IRangedDistribution, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IShape2D[] = { {&_swigt__p_IShape2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ISimulation[] = { {&_swigt__p_ISimulation2D, _p_ISimulation2DTo_p_ISimulation, 0, 0}, {&_swigt__p_ISimulation, 0, 0, 0}, {&_swigt__p_GISASSimulation, _p_GISASSimulationTo_p_ISimulation, 0, 0}, {&_swigt__p_OffSpecularSimulation, _p_OffSpecularSimulationTo_p_ISimulation, 0, 0}, {&_swigt__p_DepthProbeSimulation, _p_DepthProbeSimulationTo_p_ISimulation, 0, 0}, {&_swigt__p_SpecularSimulation, _p_SpecularSimulationTo_p_ISimulation, 0, 0},{0, 0, 0, 0}}; @@ -48247,7 +48237,6 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_IBackground, _swigc__p_IChiSquaredModule, _swigc__p_ICloneable, - _swigc__p_IDecoratableBorn, _swigc__p_IDetector, _swigc__p_IDetector2D, _swigc__p_IDistribution1D, diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py index 9791d0af2ca..7aa831d3250 100644 --- a/auto/Wrap/libBornAgainSample.py +++ b/auto/Wrap/libBornAgainSample.py @@ -3216,7 +3216,7 @@ class IFormFactor(libBornAgainBase.ICloneable, libBornAgainParam.INode): Abstract base class for all form factors. - The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a IDecoratableBorn. + The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a DecoratedBorn. C++ includes: IFormFactor.h @@ -3233,7 +3233,7 @@ class IFormFactor(libBornAgainBase.ICloneable, libBornAgainParam.INode): Abstract base class for all form factors. - The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a IDecoratableBorn. + The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a DecoratedBorn. C++ includes: IFormFactor.h @@ -3310,60 +3310,6 @@ class IFormFactor(libBornAgainBase.ICloneable, libBornAgainParam.INode): # Register IFormFactor in _libBornAgainSample: _libBornAgainSample.IFormFactor_swigregister(IFormFactor) -class IDecoratableBorn(IFormFactor): - r""" - - - Abstract base class for Born form factors. - - In contrast to the generic IFormFactor, a Born form factor does not depend on the incoming and outgoing wave vectors ki and kf, except through their difference, the scattering vector q=ki-kf. - - C++ includes: IDecoratableBorn.h - - """ - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(IDecoratableBorn self) -> IDecoratableBorn - __init__(IDecoratableBorn self, NodeMeta meta, vdouble1d_t PValues) -> IDecoratableBorn - IDecoratableBorn::IDecoratableBorn(const NodeMeta &meta, const std::vector< double > &PValues) - - """ - if self.__class__ == IDecoratableBorn: - _self = None - else: - _self = self - _libBornAgainSample.IDecoratableBorn_swiginit(self, _libBornAgainSample.new_IDecoratableBorn(_self, *args)) - __swig_destroy__ = _libBornAgainSample.delete_IDecoratableBorn - - def clone(self): - r""" - clone(IDecoratableBorn self) -> IDecoratableBorn - IDecoratableBorn* IDecoratableBorn::clone() const override=0 - - """ - return _libBornAgainSample.IDecoratableBorn_clone(self) - - def formfactor(self, q): - r""" - formfactor(IDecoratableBorn self, C3 q) -> complex_t - virtual complex_t IDecoratableBorn::formfactor(C3 q) const =0 - - Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This method is public only for convenience of plotting form factors in Python. - - """ - return _libBornAgainSample.IDecoratableBorn_formfactor(self, q) - def __disown__(self): - self.this.disown() - _libBornAgainSample.disown_IDecoratableBorn(self) - return weakref.proxy(self) - -# Register IDecoratableBorn in _libBornAgainSample: -_libBornAgainSample.IDecoratableBorn_swigregister(IDecoratableBorn) - class SlicingEffects(object): r""" @@ -3526,7 +3472,7 @@ class IBornFF(ISampleNode): # Register IBornFF in _libBornAgainSample: _libBornAgainSample.IBornFF_swigregister(IBornFF) -class DecoratedFF(IDecoratableBorn): +class DecoratedFF(IFormFactor): r""" @@ -3663,9 +3609,7 @@ class DecoratedFF(IDecoratableBorn): def formfactor(self, q): r""" formfactor(DecoratedFF self, C3 q) -> complex_t - complex_t DecoratedFF::formfactor(C3 q) const override - - Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This method is public only for convenience of plotting form factors in Python. + complex_t DecoratedFF::formfactor(C3 q) const """ return _libBornAgainSample.DecoratedFF_formfactor(self, q) diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp index 2e6a28b7fb8..ecf0dd17f1b 100644 --- a/auto/Wrap/libBornAgainSample_wrap.cpp +++ b/auto/Wrap/libBornAgainSample_wrap.cpp @@ -3157,130 +3157,129 @@ namespace Swig { #define SWIGTYPE_p_IBornFF swig_types[57] #define SWIGTYPE_p_ICloneable swig_types[58] #define SWIGTYPE_p_ICosineRipple swig_types[59] -#define SWIGTYPE_p_IDecoratableBorn swig_types[60] -#define SWIGTYPE_p_IFTDecayFunction1D swig_types[61] -#define SWIGTYPE_p_IFTDecayFunction2D swig_types[62] -#define SWIGTYPE_p_IFTDistribution1D swig_types[63] -#define SWIGTYPE_p_IFTDistribution2D swig_types[64] -#define SWIGTYPE_p_IFormFactor swig_types[65] -#define SWIGTYPE_p_IFormFactorPolyhedron swig_types[66] -#define SWIGTYPE_p_IFormFactorPrism swig_types[67] -#define SWIGTYPE_p_IInterference swig_types[68] -#define SWIGTYPE_p_INode swig_types[69] -#define SWIGTYPE_p_IParticle swig_types[70] -#define SWIGTYPE_p_IPeakShape swig_types[71] -#define SWIGTYPE_p_IProfileRectangularRipple swig_types[72] -#define SWIGTYPE_p_IProfileRipple swig_types[73] -#define SWIGTYPE_p_IRotation swig_types[74] -#define SWIGTYPE_p_ISampleNode swig_types[75] -#define SWIGTYPE_p_ISawtoothRipple swig_types[76] -#define SWIGTYPE_p_ISelectionRule swig_types[77] -#define SWIGTYPE_p_IdentityRotation swig_types[78] -#define SWIGTYPE_p_Interference1DLattice swig_types[79] -#define SWIGTYPE_p_Interference2DLattice swig_types[80] -#define SWIGTYPE_p_Interference2DParaCrystal swig_types[81] -#define SWIGTYPE_p_Interference2DSuperLattice swig_types[82] -#define SWIGTYPE_p_Interference3DLattice swig_types[83] -#define SWIGTYPE_p_InterferenceFinite2DLattice swig_types[84] -#define SWIGTYPE_p_InterferenceFinite3DLattice swig_types[85] -#define SWIGTYPE_p_InterferenceHardDisk swig_types[86] -#define SWIGTYPE_p_InterferenceNone swig_types[87] -#define SWIGTYPE_p_InterferenceRadialParaCrystal swig_types[88] -#define SWIGTYPE_p_InterferenceTwin swig_types[89] -#define SWIGTYPE_p_IsotropicGaussPeakShape swig_types[90] -#define SWIGTYPE_p_IsotropicLorentzPeakShape swig_types[91] -#define SWIGTYPE_p_Lattice2D swig_types[92] -#define SWIGTYPE_p_Lattice2D__ReciprocalBases swig_types[93] -#define SWIGTYPE_p_Lattice3D swig_types[94] -#define SWIGTYPE_p_Layer swig_types[95] -#define SWIGTYPE_p_LayerInterface swig_types[96] -#define SWIGTYPE_p_LayerRoughness swig_types[97] -#define SWIGTYPE_p_LorentzFisherPeakShape swig_types[98] -#define SWIGTYPE_p_Material swig_types[99] -#define SWIGTYPE_p_MesoCrystal swig_types[100] -#define SWIGTYPE_p_MisesFisherGaussPeakShape swig_types[101] -#define SWIGTYPE_p_MisesGaussPeakShape swig_types[102] -#define SWIGTYPE_p_MultiLayer swig_types[103] -#define SWIGTYPE_p_NodeMeta swig_types[104] -#define SWIGTYPE_p_Particle swig_types[105] -#define SWIGTYPE_p_ParticleComposition swig_types[106] -#define SWIGTYPE_p_ParticleCoreShell swig_types[107] -#define SWIGTYPE_p_ParticleInSlice swig_types[108] -#define SWIGTYPE_p_ParticleLayout swig_types[109] -#define SWIGTYPE_p_RotMatrix swig_types[110] -#define SWIGTYPE_p_RotationEuler swig_types[111] -#define SWIGTYPE_p_RotationX swig_types[112] -#define SWIGTYPE_p_RotationY swig_types[113] -#define SWIGTYPE_p_RotationZ swig_types[114] -#define SWIGTYPE_p_RoughnessModelWrap swig_types[115] -#define SWIGTYPE_p_RoughnessModelWrap__RoughnessModel swig_types[116] -#define SWIGTYPE_p_SimpleSelectionRule swig_types[117] -#define SWIGTYPE_p_SlicingEffects swig_types[118] -#define SWIGTYPE_p_SquareLattice2D swig_types[119] -#define SWIGTYPE_p_Vec3T_double_t swig_types[120] -#define SWIGTYPE_p_Vec3T_int_t swig_types[121] -#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[122] -#define SWIGTYPE_p_WavevectorInfo swig_types[123] -#define SWIGTYPE_p_ZLimits swig_types[124] -#define SWIGTYPE_p_allocator_type swig_types[125] -#define SWIGTYPE_p_char swig_types[126] -#define SWIGTYPE_p_difference_type swig_types[127] -#define SWIGTYPE_p_first_type swig_types[128] -#define SWIGTYPE_p_int swig_types[129] -#define SWIGTYPE_p_key_type swig_types[130] -#define SWIGTYPE_p_long_long swig_types[131] -#define SWIGTYPE_p_mapped_type swig_types[132] -#define SWIGTYPE_p_p_PyObject swig_types[133] -#define SWIGTYPE_p_second_type swig_types[134] -#define SWIGTYPE_p_short swig_types[135] -#define SWIGTYPE_p_signed_char swig_types[136] -#define SWIGTYPE_p_size_type swig_types[137] -#define SWIGTYPE_p_std__allocatorT_IFormFactor_p_t swig_types[138] -#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[139] -#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[140] -#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[141] -#define SWIGTYPE_p_std__allocatorT_Vec3T_std__complexT_double_t_t_t swig_types[142] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[143] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[144] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[145] -#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[146] -#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[147] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[148] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[149] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[150] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[151] -#define SWIGTYPE_p_std__arrayT_double_3_t swig_types[152] -#define SWIGTYPE_p_std__arrayT_std__complexT_double_t_3_t swig_types[153] -#define SWIGTYPE_p_std__complexT_double_t swig_types[154] -#define SWIGTYPE_p_std__invalid_argument swig_types[155] -#define SWIGTYPE_p_std__lessT_std__string_t swig_types[156] -#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[157] -#define SWIGTYPE_p_std__pairT_double_double_t swig_types[158] -#define SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t swig_types[159] -#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[160] -#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[161] -#define SWIGTYPE_p_std__vectorT_IParticle_const_p_std__allocatorT_IParticle_const_p_t_t swig_types[162] -#define SWIGTYPE_p_std__vectorT_Material_const_p_std__allocatorT_Material_const_p_t_t swig_types[163] -#define SWIGTYPE_p_std__vectorT_ParticleLayout_const_p_std__allocatorT_ParticleLayout_const_p_t_t swig_types[164] -#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_std__allocatorT_Vec3T_double_t_t_t swig_types[165] -#define SWIGTYPE_p_std__vectorT_Vec3T_std__complexT_double_t_t_std__allocatorT_Vec3T_std__complexT_double_t_t_t_t swig_types[166] -#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[167] -#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[168] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[169] -#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[170] -#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[171] -#define SWIGTYPE_p_std__vectorT_std__unique_ptrT_IParticle_t_std__allocatorT_std__unique_ptrT_IParticle_t_t_t swig_types[172] -#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[173] -#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[174] -#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[175] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[176] -#define SWIGTYPE_p_unsigned_char swig_types[177] -#define SWIGTYPE_p_unsigned_int swig_types[178] -#define SWIGTYPE_p_unsigned_long_long swig_types[179] -#define SWIGTYPE_p_unsigned_short swig_types[180] -#define SWIGTYPE_p_value_type swig_types[181] -static swig_type_info *swig_types[183]; -static swig_module_info swig_module = {swig_types, 182, 0, 0, 0, 0}; +#define SWIGTYPE_p_IFTDecayFunction1D swig_types[60] +#define SWIGTYPE_p_IFTDecayFunction2D swig_types[61] +#define SWIGTYPE_p_IFTDistribution1D swig_types[62] +#define SWIGTYPE_p_IFTDistribution2D swig_types[63] +#define SWIGTYPE_p_IFormFactor swig_types[64] +#define SWIGTYPE_p_IFormFactorPolyhedron swig_types[65] +#define SWIGTYPE_p_IFormFactorPrism swig_types[66] +#define SWIGTYPE_p_IInterference swig_types[67] +#define SWIGTYPE_p_INode swig_types[68] +#define SWIGTYPE_p_IParticle swig_types[69] +#define SWIGTYPE_p_IPeakShape swig_types[70] +#define SWIGTYPE_p_IProfileRectangularRipple swig_types[71] +#define SWIGTYPE_p_IProfileRipple swig_types[72] +#define SWIGTYPE_p_IRotation swig_types[73] +#define SWIGTYPE_p_ISampleNode swig_types[74] +#define SWIGTYPE_p_ISawtoothRipple swig_types[75] +#define SWIGTYPE_p_ISelectionRule swig_types[76] +#define SWIGTYPE_p_IdentityRotation swig_types[77] +#define SWIGTYPE_p_Interference1DLattice swig_types[78] +#define SWIGTYPE_p_Interference2DLattice swig_types[79] +#define SWIGTYPE_p_Interference2DParaCrystal swig_types[80] +#define SWIGTYPE_p_Interference2DSuperLattice swig_types[81] +#define SWIGTYPE_p_Interference3DLattice swig_types[82] +#define SWIGTYPE_p_InterferenceFinite2DLattice swig_types[83] +#define SWIGTYPE_p_InterferenceFinite3DLattice swig_types[84] +#define SWIGTYPE_p_InterferenceHardDisk swig_types[85] +#define SWIGTYPE_p_InterferenceNone swig_types[86] +#define SWIGTYPE_p_InterferenceRadialParaCrystal swig_types[87] +#define SWIGTYPE_p_InterferenceTwin swig_types[88] +#define SWIGTYPE_p_IsotropicGaussPeakShape swig_types[89] +#define SWIGTYPE_p_IsotropicLorentzPeakShape swig_types[90] +#define SWIGTYPE_p_Lattice2D swig_types[91] +#define SWIGTYPE_p_Lattice2D__ReciprocalBases swig_types[92] +#define SWIGTYPE_p_Lattice3D swig_types[93] +#define SWIGTYPE_p_Layer swig_types[94] +#define SWIGTYPE_p_LayerInterface swig_types[95] +#define SWIGTYPE_p_LayerRoughness swig_types[96] +#define SWIGTYPE_p_LorentzFisherPeakShape swig_types[97] +#define SWIGTYPE_p_Material swig_types[98] +#define SWIGTYPE_p_MesoCrystal swig_types[99] +#define SWIGTYPE_p_MisesFisherGaussPeakShape swig_types[100] +#define SWIGTYPE_p_MisesGaussPeakShape swig_types[101] +#define SWIGTYPE_p_MultiLayer swig_types[102] +#define SWIGTYPE_p_NodeMeta swig_types[103] +#define SWIGTYPE_p_Particle swig_types[104] +#define SWIGTYPE_p_ParticleComposition swig_types[105] +#define SWIGTYPE_p_ParticleCoreShell swig_types[106] +#define SWIGTYPE_p_ParticleInSlice swig_types[107] +#define SWIGTYPE_p_ParticleLayout swig_types[108] +#define SWIGTYPE_p_RotMatrix swig_types[109] +#define SWIGTYPE_p_RotationEuler swig_types[110] +#define SWIGTYPE_p_RotationX swig_types[111] +#define SWIGTYPE_p_RotationY swig_types[112] +#define SWIGTYPE_p_RotationZ swig_types[113] +#define SWIGTYPE_p_RoughnessModelWrap swig_types[114] +#define SWIGTYPE_p_RoughnessModelWrap__RoughnessModel swig_types[115] +#define SWIGTYPE_p_SimpleSelectionRule swig_types[116] +#define SWIGTYPE_p_SlicingEffects swig_types[117] +#define SWIGTYPE_p_SquareLattice2D swig_types[118] +#define SWIGTYPE_p_Vec3T_double_t swig_types[119] +#define SWIGTYPE_p_Vec3T_int_t swig_types[120] +#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[121] +#define SWIGTYPE_p_WavevectorInfo swig_types[122] +#define SWIGTYPE_p_ZLimits swig_types[123] +#define SWIGTYPE_p_allocator_type swig_types[124] +#define SWIGTYPE_p_char swig_types[125] +#define SWIGTYPE_p_difference_type swig_types[126] +#define SWIGTYPE_p_first_type swig_types[127] +#define SWIGTYPE_p_int swig_types[128] +#define SWIGTYPE_p_key_type swig_types[129] +#define SWIGTYPE_p_long_long swig_types[130] +#define SWIGTYPE_p_mapped_type swig_types[131] +#define SWIGTYPE_p_p_PyObject swig_types[132] +#define SWIGTYPE_p_second_type swig_types[133] +#define SWIGTYPE_p_short swig_types[134] +#define SWIGTYPE_p_signed_char swig_types[135] +#define SWIGTYPE_p_size_type swig_types[136] +#define SWIGTYPE_p_std__allocatorT_IFormFactor_p_t swig_types[137] +#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[138] +#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[139] +#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[140] +#define SWIGTYPE_p_std__allocatorT_Vec3T_std__complexT_double_t_t_t swig_types[141] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[142] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[143] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[144] +#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[145] +#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[146] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[147] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[148] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[149] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[150] +#define SWIGTYPE_p_std__arrayT_double_3_t swig_types[151] +#define SWIGTYPE_p_std__arrayT_std__complexT_double_t_3_t swig_types[152] +#define SWIGTYPE_p_std__complexT_double_t swig_types[153] +#define SWIGTYPE_p_std__invalid_argument swig_types[154] +#define SWIGTYPE_p_std__lessT_std__string_t swig_types[155] +#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[156] +#define SWIGTYPE_p_std__pairT_double_double_t swig_types[157] +#define SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t swig_types[158] +#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[159] +#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[160] +#define SWIGTYPE_p_std__vectorT_IParticle_const_p_std__allocatorT_IParticle_const_p_t_t swig_types[161] +#define SWIGTYPE_p_std__vectorT_Material_const_p_std__allocatorT_Material_const_p_t_t swig_types[162] +#define SWIGTYPE_p_std__vectorT_ParticleLayout_const_p_std__allocatorT_ParticleLayout_const_p_t_t swig_types[163] +#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_std__allocatorT_Vec3T_double_t_t_t swig_types[164] +#define SWIGTYPE_p_std__vectorT_Vec3T_std__complexT_double_t_t_std__allocatorT_Vec3T_std__complexT_double_t_t_t_t swig_types[165] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[166] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[167] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[168] +#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[169] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[170] +#define SWIGTYPE_p_std__vectorT_std__unique_ptrT_IParticle_t_std__allocatorT_std__unique_ptrT_IParticle_t_t_t swig_types[171] +#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[172] +#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[173] +#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[174] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[175] +#define SWIGTYPE_p_unsigned_char swig_types[176] +#define SWIGTYPE_p_unsigned_int swig_types[177] +#define SWIGTYPE_p_unsigned_long_long swig_types[178] +#define SWIGTYPE_p_unsigned_short swig_types[179] +#define SWIGTYPE_p_value_type swig_types[180] +static swig_type_info *swig_types[182]; +static swig_module_info swig_module = {swig_types, 181, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -8148,331 +8147,6 @@ double SwigDirector_IFormFactor::topZ(IRotation const *rotation) const { } -SwigDirector_IDecoratableBorn::SwigDirector_IDecoratableBorn(PyObject *self): IDecoratableBorn(), Swig::Director(self) { - SWIG_DIRECTOR_RGTR((IDecoratableBorn *)this, this); -} - - - - -SwigDirector_IDecoratableBorn::SwigDirector_IDecoratableBorn(PyObject *self, NodeMeta const &meta, std::vector< double, std::allocator< double > > const &PValues): IDecoratableBorn(meta, PValues), Swig::Director(self) { - SWIG_DIRECTOR_RGTR((IDecoratableBorn *)this, this); -} - - - - -SwigDirector_IDecoratableBorn::~SwigDirector_IDecoratableBorn() { -} - -IDecoratableBorn *SwigDirector_IDecoratableBorn::clone() const { - IDecoratableBorn *c_result = 0 ; - void *swig_argp ; - int swig_res ; - swig_owntype own ; - - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 0; - const char *const swig_method_name = "clone"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject args = PyTuple_New(0); - swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("clone"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.clone'"); - } - } - swig_res = SWIG_ConvertPtrAndOwn(result, &swig_argp, SWIGTYPE_p_IDecoratableBorn, 0 | SWIG_POINTER_DISOWN, &own); - if (!SWIG_IsOK(swig_res)) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""IDecoratableBorn *""'"); - } - c_result = reinterpret_cast< IDecoratableBorn * >(swig_argp); - swig_acquire_ownership_obj(SWIG_as_voidptr(c_result), own /* & TODO: SWIG_POINTER_OWN */); - return (IDecoratableBorn *) c_result; -} - - -void SwigDirector_IDecoratableBorn::transferToCPP() { - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 1; - const char *const swig_method_name = "transferToCPP"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject args = PyTuple_New(0); - swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("transferToCPP"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.transferToCPP'"); - } - } -} - - -std::string SwigDirector_IDecoratableBorn::className() const { - std::string c_result; - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 2; - const char *const swig_method_name = "className"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject args = PyTuple_New(0); - swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("className"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.className'"); - } - } - std::string *swig_optr = 0; - int swig_ores = SWIG_AsPtr_std_string(result, &swig_optr); - if (!SWIG_IsOK(swig_ores) || !swig_optr) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::string""'"); - } - c_result = *swig_optr; - if (SWIG_IsNewObj(swig_ores)) delete swig_optr; - return (std::string) c_result; -} - - -std::vector< INode const *, std::allocator< INode const * > > SwigDirector_IDecoratableBorn::nodeChildren() const { - std::vector< INode const *,std::allocator< INode const * > > c_result; - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 3; - const char *const swig_method_name = "nodeChildren"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject args = PyTuple_New(0); - swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("nodeChildren"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.nodeChildren'"); - } - } - std::vector< INode const*,std::allocator< INode const * > > *swig_optr = 0; - int swig_ores = swig::asptr(result, &swig_optr); - if (!SWIG_IsOK(swig_ores) || !swig_optr) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError((swig_optr ? swig_ores : SWIG_TypeError))), "in output value of type '""std::vector< INode const *,std::allocator< INode const * > >""'"); - } - c_result = *swig_optr; - if (SWIG_IsNewObj(swig_ores)) delete swig_optr; - return (std::vector< INode const *,std::allocator< INode const * > >) c_result; -} - - -void SwigDirector_IDecoratableBorn::setAmbientMaterial(Material const &arg0) { - swig::SwigVar_PyObject obj0; - obj0 = SWIG_NewPointerObj(SWIG_as_voidptr(&arg0), SWIGTYPE_p_Material, 0 ); - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 4; - const char *const swig_method_name = "setAmbientMaterial"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("setAmbientMaterial"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.setAmbientMaterial'"); - } - } -} - - -complex_t SwigDirector_IDecoratableBorn::theFF(WavevectorInfo const &wavevectors) const { - complex_t c_result; - swig::SwigVar_PyObject obj0; - obj0 = SWIG_NewPointerObj(SWIG_as_voidptr(&wavevectors), SWIGTYPE_p_WavevectorInfo, 0 ); - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 5; - const char *const swig_method_name = "theFF"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("theFF"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.theFF'"); - } - } - std::complex<double> swig_val; - int swig_res = SWIG_AsVal_std_complex_Sl_double_Sg_(result, &swig_val); - if (!SWIG_IsOK(swig_res)) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""complex_t""'"); - } - c_result = static_cast< complex_t >(swig_val); - return (complex_t) c_result; -} - - -double SwigDirector_IDecoratableBorn::radialExtension() const { - double c_result = SwigValueInit< double >() ; - - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 6; - const char *const swig_method_name = "radialExtension"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject args = PyTuple_New(0); - swig::SwigVar_PyObject result = PyObject_Call(method, (PyObject *) args, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("radialExtension"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.radialExtension'"); - } - } - double swig_val; - int swig_res = SWIG_AsVal_double(result, &swig_val); - if (!SWIG_IsOK(swig_res)) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""double""'"); - } - c_result = static_cast< double >(swig_val); - return (double) c_result; -} - - -double SwigDirector_IDecoratableBorn::bottomZ(IRotation const *rotation) const { - double c_result = SwigValueInit< double >() ; - - swig::SwigVar_PyObject obj0; - obj0 = SWIG_NewPointerObj(SWIG_as_voidptr(rotation), SWIGTYPE_p_IRotation, 0 ); - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 7; - const char *const swig_method_name = "bottomZ"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("bottomZ"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.bottomZ'"); - } - } - double swig_val; - int swig_res = SWIG_AsVal_double(result, &swig_val); - if (!SWIG_IsOK(swig_res)) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""double""'"); - } - c_result = static_cast< double >(swig_val); - return (double) c_result; -} - - -double SwigDirector_IDecoratableBorn::topZ(IRotation const *rotation) const { - double c_result = SwigValueInit< double >() ; - - swig::SwigVar_PyObject obj0; - obj0 = SWIG_NewPointerObj(SWIG_as_voidptr(rotation), SWIGTYPE_p_IRotation, 0 ); - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 8; - const char *const swig_method_name = "topZ"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("topZ"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.topZ'"); - } - } - double swig_val; - int swig_res = SWIG_AsVal_double(result, &swig_val); - if (!SWIG_IsOK(swig_res)) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""double""'"); - } - c_result = static_cast< double >(swig_val); - return (double) c_result; -} - - -complex_t SwigDirector_IDecoratableBorn::formfactor(C3 q) const { - complex_t c_result; - swig::SwigVar_PyObject obj0; - obj0 = SWIG_NewPointerObj(SWIG_as_voidptr(new C3((const C3 &)q)), SWIGTYPE_p_Vec3T_std__complexT_double_t_t, SWIG_POINTER_OWN | 0 ); - if (!swig_get_self()) { - Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IDecoratableBorn.__init__."); - } -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 9; - const char *const swig_method_name = "formfactor"; - PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); -#else - swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("formfactor"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL); -#endif - if (!result) { - PyObject *error = PyErr_Occurred(); - if (error) { - Swig::DirectorMethodException::raise("Error detected when calling 'IDecoratableBorn.formfactor'"); - } - } - std::complex<double> swig_val; - int swig_res = SWIG_AsVal_std_complex_Sl_double_Sg_(result, &swig_val); - if (!SWIG_IsOK(swig_res)) { - Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""complex_t""'"); - } - c_result = static_cast< complex_t >(swig_val); - return (complex_t) c_result; -} - - SwigDirector_IBornFF::SwigDirector_IBornFF(PyObject *self): IBornFF(), Swig::Director(self) { SWIG_DIRECTOR_RGTR((IBornFF *)this, this); } @@ -40290,269 +39964,6 @@ SWIGINTERN PyObject *IFormFactor_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObje return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_IDecoratableBorn__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { - PyObject *resultobj = 0; - PyObject *arg1 = (PyObject *) 0 ; - IDecoratableBorn *result = 0 ; - - if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; - arg1 = swig_obj[0]; - if ( arg1 != Py_None ) { - /* subclassed */ - result = (IDecoratableBorn *)new SwigDirector_IDecoratableBorn(arg1); - } else { - SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor"); - SWIG_fail; - } - - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IDecoratableBorn, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_new_IDecoratableBorn__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { - PyObject *resultobj = 0; - PyObject *arg1 = (PyObject *) 0 ; - NodeMeta *arg2 = 0 ; - std::vector< double,std::allocator< double > > *arg3 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - int res3 = SWIG_OLDOBJ ; - IDecoratableBorn *result = 0 ; - - if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; - arg1 = swig_obj[0]; - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_NodeMeta, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_IDecoratableBorn" "', argument " "2"" of type '" "NodeMeta const &""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IDecoratableBorn" "', argument " "2"" of type '" "NodeMeta const &""'"); - } - arg2 = reinterpret_cast< NodeMeta * >(argp2); - { - std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; - res3 = swig::asptr(swig_obj[2], &ptr); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_IDecoratableBorn" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IDecoratableBorn" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - arg3 = ptr; - } - if ( arg1 != Py_None ) { - /* subclassed */ - result = (IDecoratableBorn *)new SwigDirector_IDecoratableBorn(arg1,(NodeMeta const &)*arg2,(std::vector< double,std::allocator< double > > const &)*arg3); - } else { - SWIG_SetErrorMsg(PyExc_RuntimeError,"accessing abstract class or protected constructor"); - SWIG_fail; - } - - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IDecoratableBorn, SWIG_POINTER_NEW | 0 ); - if (SWIG_IsNewObj(res3)) delete arg3; - return resultobj; -fail: - if (SWIG_IsNewObj(res3)) delete arg3; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_new_IDecoratableBorn(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[4] = { - 0 - }; - - if (!(argc = SWIG_Python_UnpackTuple(args, "new_IDecoratableBorn", 0, 3, argv))) SWIG_fail; - --argc; - if (argc == 1) { - int _v; - _v = (argv[0] != 0); - if (_v) { - return _wrap_new_IDecoratableBorn__SWIG_0(self, argc, argv); - } - } - if (argc == 3) { - int _v; - _v = (argv[0] != 0); - if (_v) { - int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_NodeMeta, SWIG_POINTER_NO_NULL | 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = swig::asptr(argv[2], (std::vector< double,std::allocator< double > >**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_new_IDecoratableBorn__SWIG_1(self, argc, argv); - } - } - } - } - -fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_IDecoratableBorn'.\n" - " Possible C/C++ prototypes are:\n" - " IDecoratableBorn::IDecoratableBorn()\n" - " IDecoratableBorn::IDecoratableBorn(PyObject *,NodeMeta const &,std::vector< double,std::allocator< double > > const &)\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_delete_IDecoratableBorn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IDecoratableBorn *arg1 = (IDecoratableBorn *) 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_IDecoratableBorn, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IDecoratableBorn" "', argument " "1"" of type '" "IDecoratableBorn *""'"); - } - arg1 = reinterpret_cast< IDecoratableBorn * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IDecoratableBorn_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IDecoratableBorn *arg1 = (IDecoratableBorn *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; - Swig::Director *director = 0; - bool upcall = false; - IDecoratableBorn *result = 0 ; - - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IDecoratableBorn, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IDecoratableBorn_clone" "', argument " "1"" of type '" "IDecoratableBorn const *""'"); - } - arg1 = reinterpret_cast< IDecoratableBorn * >(argp1); - director = SWIG_DIRECTOR_CAST(arg1); - upcall = (director && (director->swig_get_self()==swig_obj[0])); - try { - if (upcall) { - Swig::DirectorPureVirtualException::raise("IDecoratableBorn::clone"); - } else { - result = (IDecoratableBorn *)((IDecoratableBorn const *)arg1)->clone(); - } - } catch (Swig::DirectorException&) { - SWIG_fail; - } - director = SWIG_DIRECTOR_CAST(result); - if (director) { - resultobj = director->swig_get_self(); - Py_INCREF(resultobj); - } else { - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IDecoratableBorn, 0 | 0 ); - } - if (director) { - SWIG_AcquirePtr(resultobj, director->swig_release_ownership(SWIG_as_voidptr(result))); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IDecoratableBorn_formfactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IDecoratableBorn *arg1 = (IDecoratableBorn *) 0 ; - C3 arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - PyObject *swig_obj[2] ; - Swig::Director *director = 0; - bool upcall = false; - complex_t result; - - if (!SWIG_Python_UnpackTuple(args, "IDecoratableBorn_formfactor", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IDecoratableBorn, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IDecoratableBorn_formfactor" "', argument " "1"" of type '" "IDecoratableBorn const *""'"); - } - arg1 = reinterpret_cast< IDecoratableBorn * >(argp1); - { - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_Vec3T_std__complexT_double_t_t, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IDecoratableBorn_formfactor" "', argument " "2"" of type '" "C3""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IDecoratableBorn_formfactor" "', argument " "2"" of type '" "C3""'"); - } else { - C3 * temp = reinterpret_cast< C3 * >(argp2); - arg2 = *temp; - if (SWIG_IsNewObj(res2)) delete temp; - } - } - director = SWIG_DIRECTOR_CAST(arg1); - upcall = (director && (director->swig_get_self()==swig_obj[0])); - try { - if (upcall) { - Swig::DirectorPureVirtualException::raise("IDecoratableBorn::formfactor"); - } else { - result = ((IDecoratableBorn const *)arg1)->formfactor(arg2); - } - } catch (Swig::DirectorException&) { - SWIG_fail; - } - resultobj = SWIG_From_std_complex_Sl_double_Sg_(static_cast< std::complex<double> >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_disown_IDecoratableBorn(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IDecoratableBorn *arg1 = (IDecoratableBorn *) 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_IDecoratableBorn, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "disown_IDecoratableBorn" "', argument " "1"" of type '" "IDecoratableBorn *""'"); - } - arg1 = reinterpret_cast< IDecoratableBorn * >(argp1); - { - Swig::Director *director = SWIG_DIRECTOR_CAST(arg1); - if (director) director->swig_disown(); - } - - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *IDecoratableBorn_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_IDecoratableBorn, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *IDecoratableBorn_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - return SWIG_Python_InitShadowInstance(args); -} - SWIGINTERN PyObject *_wrap_SlicingEffects_position_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; SlicingEffects *arg1 = (SlicingEffects *) 0 ; @@ -69619,7 +69030,7 @@ static PyMethodDef SwigMethods[] = { "\n" "Abstract base class for all form factors.\n" "\n" - "The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a IDecoratableBorn.\n" + "The actual form factor is returned by the complex valued function IFormFactor::evaluate, which depends on the incoming and outgoing wave vectors ki and kf. If it only depends on the scattering vector q=ki-kf, then it is a DecoratedBorn.\n" "\n" "C++ includes: IFormFactor.h\n" "\n" @@ -69672,32 +69083,6 @@ static PyMethodDef SwigMethods[] = { { "disown_IFormFactor", _wrap_disown_IFormFactor, METH_O, NULL}, { "IFormFactor_swigregister", IFormFactor_swigregister, METH_O, NULL}, { "IFormFactor_swiginit", IFormFactor_swiginit, METH_VARARGS, NULL}, - { "new_IDecoratableBorn", _wrap_new_IDecoratableBorn, METH_VARARGS, "\n" - "IDecoratableBorn()\n" - "new_IDecoratableBorn(PyObject * _self, NodeMeta meta, vdouble1d_t PValues) -> IDecoratableBorn\n" - "IDecoratableBorn::IDecoratableBorn(const NodeMeta &meta, const std::vector< double > &PValues)\n" - "\n" - ""}, - { "delete_IDecoratableBorn", _wrap_delete_IDecoratableBorn, METH_O, "\n" - "delete_IDecoratableBorn(IDecoratableBorn self)\n" - "IDecoratableBorn::~IDecoratableBorn() override\n" - "\n" - ""}, - { "IDecoratableBorn_clone", _wrap_IDecoratableBorn_clone, METH_O, "\n" - "IDecoratableBorn_clone(IDecoratableBorn self) -> IDecoratableBorn\n" - "IDecoratableBorn* IDecoratableBorn::clone() const override=0\n" - "\n" - ""}, - { "IDecoratableBorn_formfactor", _wrap_IDecoratableBorn_formfactor, METH_VARARGS, "\n" - "IDecoratableBorn_formfactor(IDecoratableBorn self, C3 q) -> complex_t\n" - "virtual complex_t IDecoratableBorn::formfactor(C3 q) const =0\n" - "\n" - "Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This method is public only for convenience of plotting form factors in Python. \n" - "\n" - ""}, - { "disown_IDecoratableBorn", _wrap_disown_IDecoratableBorn, METH_O, NULL}, - { "IDecoratableBorn_swigregister", IDecoratableBorn_swigregister, METH_O, NULL}, - { "IDecoratableBorn_swiginit", IDecoratableBorn_swiginit, METH_VARARGS, NULL}, { "SlicingEffects_position_set", _wrap_SlicingEffects_position_set, METH_VARARGS, "SlicingEffects_position_set(SlicingEffects self, R3 position)"}, { "SlicingEffects_position_get", _wrap_SlicingEffects_position_get, METH_O, "SlicingEffects_position_get(SlicingEffects self) -> R3"}, { "SlicingEffects_dz_bottom_set", _wrap_SlicingEffects_dz_bottom_set, METH_VARARGS, "SlicingEffects_dz_bottom_set(SlicingEffects self, double dz_bottom)"}, @@ -69874,9 +69259,7 @@ static PyMethodDef SwigMethods[] = { ""}, { "DecoratedFF_formfactor", _wrap_DecoratedFF_formfactor, METH_VARARGS, "\n" "DecoratedFF_formfactor(DecoratedFF self, C3 q) -> complex_t\n" - "complex_t DecoratedFF::formfactor(C3 q) const override\n" - "\n" - "Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This method is public only for convenience of plotting form factors in Python. \n" + "complex_t DecoratedFF::formfactor(C3 q) const\n" "\n" ""}, { "DecoratedFF_createTransformedFormFactor", _wrap_DecoratedFF_createTransformedFormFactor, METH_VARARGS, "DecoratedFF_createTransformedFormFactor(IBornFF formfactor, IRotation rot, R3 translation) -> DecoratedFF"}, @@ -74254,11 +73637,8 @@ static void *_p_RotationXTo_p_IRotation(void *x, int *SWIGUNUSEDPARM(newmemory)) static void *_p_FormFactorCompositionTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFormFactor *) ((FormFactorComposition *) x)); } -static void *_p_IDecoratableBornTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) ((IDecoratableBorn *) x)); -} static void *_p_DecoratedFFTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *) ((DecoratedFF *) x)); + return (void *)((IFormFactor *) ((DecoratedFF *) x)); } static void *_p_FormFactorCrystalTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFormFactor *) ((FormFactorCrystal *) x)); @@ -74548,9 +73928,6 @@ static void *_p_FTDistribution1DGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPAR static void *_p_ParticleLayoutTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *) ((ParticleLayout *) x)); } -static void *_p_IDecoratableBornTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *) ((IDecoratableBorn *) x)); -} static void *_p_FormFactorHemiEllipsoidTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorHemiEllipsoid *) x)); } @@ -74606,7 +73983,7 @@ static void *_p_FTDistribution2DConeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM return (void *)((ICloneable *) (IFTDistribution2D *) ((FTDistribution2DCone *) x)); } static void *_p_DecoratedFFTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *) ((DecoratedFF *) x)); + return (void *)((ICloneable *) (IFormFactor *) ((DecoratedFF *) x)); } static void *_p_ParticleCoreShellTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IParticle *) ((ParticleCoreShell *) x)); @@ -74638,12 +74015,12 @@ static void *_p_FTDistribution2DGateTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM static void *_p_IInterferenceTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((IInterference *) x)); } -static void *_p_FTDistribution1DVoigtTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFTDistribution1D *) ((FTDistribution1DVoigt *) x)); -} static void *_p_FTDecayFunction1DVoigtTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDecayFunction1D *) ((FTDecayFunction1DVoigt *) x)); } +static void *_p_FTDistribution1DVoigtTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ICloneable *) (IFTDistribution1D *) ((FTDistribution1DVoigt *) x)); +} static void *_p_IdentityRotationTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IRotation *) ((IdentityRotation *) x)); } @@ -74905,9 +74282,6 @@ static void *_p_FTDistribution1DGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(new static void *_p_ParticleLayoutTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *) ((ParticleLayout *) x)); } -static void *_p_IDecoratableBornTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *) ((IDecoratableBorn *) x)); -} static void *_p_FormFactorHemiEllipsoidTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorHemiEllipsoid *) x)); } @@ -74963,7 +74337,7 @@ static void *_p_FTDistribution2DConeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newm return (void *)((INode *) (IFTDistribution2D *) ((FTDistribution2DCone *) x)); } static void *_p_DecoratedFFTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *) ((DecoratedFF *) x)); + return (void *)((INode *) (IFormFactor *) ((DecoratedFF *) x)); } static void *_p_ParticleCoreShellTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IParticle *) ((ParticleCoreShell *) x)); @@ -74995,12 +74369,12 @@ static void *_p_FTDistribution2DGateTo_p_INode(void *x, int *SWIGUNUSEDPARM(newm static void *_p_IInterferenceTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) ((IInterference *) x)); } -static void *_p_FTDistribution1DVoigtTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFTDistribution1D *) ((FTDistribution1DVoigt *) x)); -} static void *_p_FTDecayFunction1DVoigtTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDecayFunction1D *) ((FTDecayFunction1DVoigt *) x)); } +static void *_p_FTDistribution1DVoigtTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((INode *) (IFTDistribution1D *) ((FTDistribution1DVoigt *) x)); +} static void *_p_IdentityRotationTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IRotation *) ((IdentityRotation *) x)); } @@ -75205,9 +74579,6 @@ static void *_p_FTDistribution1DTriangleTo_p_INode(void *x, int *SWIGUNUSEDPARM( static void *_p_RotationEulerTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IRotation *) ((RotationEuler *) x)); } -static void *_p_DecoratedFFTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) ((DecoratedFF *) x)); -} static void *_p_FormFactorPrism6To_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IBornFF *) (IFormFactorPrism *) ((FormFactorPrism6 *) x)); } @@ -75436,7 +74807,6 @@ static swig_type_info _swigt__p_HexagonalLattice2D = {"_p_HexagonalLattice2D", " static swig_type_info _swigt__p_IBornFF = {"_p_IBornFF", "IBornFF *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ICloneable = {"_p_ICloneable", "ICloneable *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ICosineRipple = {"_p_ICosineRipple", "ICosineRipple *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_IDecoratableBorn = {"_p_IDecoratableBorn", "IDecoratableBorn *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IFTDecayFunction1D = {"_p_IFTDecayFunction1D", "IFTDecayFunction1D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IFTDecayFunction2D = {"_p_IFTDecayFunction2D", "IFTDecayFunction2D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IFTDistribution1D = {"_p_IFTDistribution1D", "IFTDistribution1D *", 0, 0, (void*)0, 0}; @@ -75620,7 +74990,6 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_IBornFF, &_swigt__p_ICloneable, &_swigt__p_ICosineRipple, - &_swigt__p_IDecoratableBorn, &_swigt__p_IFTDecayFunction1D, &_swigt__p_IFTDecayFunction2D, &_swigt__p_IFTDistribution1D, @@ -75802,18 +75171,17 @@ static swig_cast_info _swigc__p_FormFactorTruncatedSpheroid[] = { {&_swigt__p_F static swig_cast_info _swigc__p_GaussFisherPeakShape[] = { {&_swigt__p_GaussFisherPeakShape, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_HexagonalLattice2D[] = { {&_swigt__p_HexagonalLattice2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IBornFF[] = { {&_swigt__p_IBornFF, 0, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IBornFF, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IBornFF, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IBornFF, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IBornFF, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IBornFF, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IBornFF, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ICloneable, 0, 0}, {&_swigt__p_IDecoratableBorn, _p_IDecoratableBornTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_ICloneable, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceTwin, _p_InterferenceTwinTo_p_ICloneable, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_ICloneable, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorComposition, _p_FormFactorCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_ICloneable, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceRadialParaCrystal, _p_InterferenceRadialParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DParaCrystal, _p_Interference2DParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFinite3DLattice, _p_InterferenceFinite3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference3DLattice, _p_Interference3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_ICloneable, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceTwin, _p_InterferenceTwinTo_p_ICloneable, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_ICloneable, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorComposition, _p_FormFactorCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_ICloneable, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceRadialParaCrystal, _p_InterferenceRadialParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DParaCrystal, _p_Interference2DParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFinite3DLattice, _p_InterferenceFinite3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference3DLattice, _p_Interference3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ICosineRipple[] = { {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_ICosineRipple, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_ICosineRipple, 0, 0}, {&_swigt__p_ICosineRipple, 0, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICosineRipple, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_IDecoratableBorn[] = { {&_swigt__p_IDecoratableBorn, 0, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_IDecoratableBorn, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFTDecayFunction1D[] = { {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_IFTDecayFunction1D, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_IFTDecayFunction1D, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_IFTDecayFunction1D, 0, 0}, {&_swigt__p_IFTDecayFunction1D, 0, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_IFTDecayFunction1D, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFTDecayFunction2D[] = { {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_IFTDecayFunction2D, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_IFTDecayFunction2D, 0, 0}, {&_swigt__p_IFTDecayFunction2D, 0, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_IFTDecayFunction2D, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFTDistribution1D[] = { {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_IFTDistribution1D, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_IFTDistribution1D, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_IFTDistribution1D, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_IFTDistribution1D, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_IFTDistribution1D, 0, 0}, {&_swigt__p_IFTDistribution1D, 0, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_IFTDistribution1D, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFTDistribution2D[] = { {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_IFTDistribution2D, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_IFTDistribution2D, 0, 0}, {&_swigt__p_IFTDistribution2D, 0, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_IFTDistribution2D, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_IFTDistribution2D, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_IFTDistribution2D, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_IFormFactor[] = { {&_swigt__p_FormFactorComposition, _p_FormFactorCompositionTo_p_IFormFactor, 0, 0}, {&_swigt__p_IFormFactor, 0, 0, 0}, {&_swigt__p_IDecoratableBorn, _p_IDecoratableBornTo_p_IFormFactor, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_IFormFactor, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_IFormFactor[] = { {&_swigt__p_FormFactorComposition, _p_FormFactorCompositionTo_p_IFormFactor, 0, 0}, {&_swigt__p_IFormFactor, 0, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_IFormFactor, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFormFactorPolyhedron[] = { {&_swigt__p_IFormFactorPolyhedron, 0, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IFormFactorPolyhedron, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFormFactorPrism[] = { {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IFormFactorPrism, 0, 0}, {&_swigt__p_IFormFactorPrism, 0, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IFormFactorPrism, 0, 0}, {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IFormFactorPrism, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IInterference[] = { {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_IInterference, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_Interference3DLattice, _p_Interference3DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceFinite3DLattice, _p_InterferenceFinite3DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceTwin, _p_InterferenceTwinTo_p_IInterference, 0, 0}, {&_swigt__p_IInterference, 0, 0, 0}, {&_swigt__p_Interference2DParaCrystal, _p_Interference2DParaCrystalTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceRadialParaCrystal, _p_InterferenceRadialParaCrystalTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_IInterference, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_INode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_INode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_INode, 0, 0}, {&_swigt__p_IDecoratableBorn, _p_IDecoratableBornTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_INode, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_INode, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_INode, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_INode, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_INode, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_INode, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_INode, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_INode, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_INode, 0, 0}, {&_swigt__p_InterferenceTwin, _p_InterferenceTwinTo_p_INode, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_INode, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_INode, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_INode, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_INode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_INode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorComposition, _p_FormFactorCompositionTo_p_INode, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_INode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_INode, 0, 0}, {&_swigt__p_InterferenceRadialParaCrystal, _p_InterferenceRadialParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_Interference2DParaCrystal, _p_Interference2DParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_INode, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_INode, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_INode, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_INode, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_INode, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_INode, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite3DLattice, _p_InterferenceFinite3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference3DLattice, _p_Interference3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_INode, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_INode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_INode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_INode, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_INode, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_INode, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_INode, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_INode, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_INode, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_INode, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_INode, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_INode, 0, 0}, {&_swigt__p_InterferenceTwin, _p_InterferenceTwinTo_p_INode, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_INode, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_INode, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_INode, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_INode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_INode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorComposition, _p_FormFactorCompositionTo_p_INode, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_INode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_INode, 0, 0}, {&_swigt__p_InterferenceRadialParaCrystal, _p_InterferenceRadialParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_Interference2DParaCrystal, _p_Interference2DParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_INode, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_INode, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_INode, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_INode, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_INode, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_INode, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite3DLattice, _p_InterferenceFinite3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference3DLattice, _p_Interference3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_INode, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IParticle[] = { {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_IParticle, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_IParticle, 0, 0}, {&_swigt__p_IParticle, 0, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_IParticle, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_IParticle, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IPeakShape[] = { {&_swigt__p_IPeakShape, 0, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_IPeakShape, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IProfileRectangularRipple[] = { {&_swigt__p_IProfileRectangularRipple, 0, 0, 0},{0, 0, 0, 0}}; @@ -75988,7 +75356,6 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_IBornFF, _swigc__p_ICloneable, _swigc__p_ICosineRipple, - _swigc__p_IDecoratableBorn, _swigc__p_IFTDecayFunction1D, _swigc__p_IFTDecayFunction2D, _swigc__p_IFTDistribution1D, diff --git a/auto/Wrap/libBornAgainSample_wrap.h b/auto/Wrap/libBornAgainSample_wrap.h index 50028bf2f0e..07dd24e5083 100644 --- a/auto/Wrap/libBornAgainSample_wrap.h +++ b/auto/Wrap/libBornAgainSample_wrap.h @@ -113,58 +113,6 @@ private: }; -class SwigDirector_IDecoratableBorn : public IDecoratableBorn, public Swig::Director { - -public: - SwigDirector_IDecoratableBorn(PyObject *self); - SwigDirector_IDecoratableBorn(PyObject *self, NodeMeta const &meta, std::vector< double, std::allocator< double > > const &PValues); - virtual ~SwigDirector_IDecoratableBorn(); - virtual IDecoratableBorn *clone() const; - virtual void transferToCPP(); - virtual std::string className() const; - virtual std::vector< INode const *, std::allocator< INode const * > > nodeChildren() const; - virtual void setAmbientMaterial(Material const &arg0); - virtual complex_t theFF(WavevectorInfo const &wavevectors) const; - virtual double radialExtension() const; - virtual double bottomZ(IRotation const *rotation) const; - virtual double topZ(IRotation const *rotation) const; - virtual complex_t formfactor(C3 q) const; - -/* Internal director utilities */ -public: - bool swig_get_inner(const char *swig_protected_method_name) const { - std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name); - return (iv != swig_inner.end() ? iv->second : false); - } - void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const { - swig_inner[swig_protected_method_name] = swig_val; - } -private: - mutable std::map<std::string, bool> swig_inner; - -#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) -/* VTable implementation */ - PyObject *swig_get_method(size_t method_index, const char *method_name) const { - PyObject *method = vtable[method_index]; - if (!method) { - swig::SwigVar_PyObject name = SWIG_Python_str_FromChar(method_name); - method = PyObject_GetAttr(swig_get_self(), name); - if (!method) { - std::string msg = "Method in class IDecoratableBorn doesn't exist, undefined "; - msg += method_name; - Swig::DirectorMethodException::raise(msg.c_str()); - } - vtable[method_index] = method; - } - return method; - } -private: - mutable swig::SwigVar_PyObject vtable[10]; -#endif - -}; - - class SwigDirector_IBornFF : public IBornFF, public Swig::Director { public: -- GitLab