diff --git a/Core/Export/SampleToPython.cpp b/Core/Export/SampleToPython.cpp index db9f8aed139e56ba82359976a68c7c5f3c2d5074..a2fa4b8662fc75bba403dc2d66c3f35f8efddd04 100644 --- a/Core/Export/SampleToPython.cpp +++ b/Core/Export/SampleToPython.cpp @@ -113,7 +113,7 @@ void SampleToPython::initLabels(const MultiLayer& multilayer) m_objs->insertModel("roughness", x); for (const auto* x : NodeUtils::AllDescendantsOfType<ParticleLayout>(multilayer)) m_objs->insertModel("layout", x); - for (const auto* x : NodeUtils::AllDescendantsOfType<IFormFactor>(multilayer)) + for (const auto* x : NodeUtils::AllDescendantsOfType<IBornFF>(multilayer)) m_objs->insertModel("ff", x); for (const auto* x : NodeUtils::AllDescendantsOfType<IInterference>(multilayer)) m_objs->insertModel("iff", x); @@ -228,7 +228,7 @@ std::string SampleToPython::defineRoughnesses() const std::string SampleToPython::defineFormFactors() const { - std::vector<const IFormFactor*> formFactors = m_objs->objectsOfType<IFormFactor>(); + std::vector<const IBornFF*> formFactors = m_objs->objectsOfType<IBornFF>(); if (formFactors.empty()) return ""; std::ostringstream result; @@ -381,7 +381,7 @@ std::string SampleToPython::defineParticles() const result << "\n" << indent() << "# Define particles\n"; for (const auto* s : v) { const std::string& key = m_objs->obj2key(s); - const auto* ff = NodeUtils::OnlyChildOfType<IFormFactor>(*s); + const auto* ff = NodeUtils::OnlyChildOfType<IBornFF>(*s); ASSERT(ff); result << indent() << key << " = ba.Particle(" << m_materials->mat2key(s->material()) << ", " << m_objs->obj2key(ff) << ")\n"; @@ -441,7 +441,7 @@ std::string SampleToPython::defineMesoCrystals() const for (const auto* s : v) { const std::string& key = m_objs->obj2key(s); const auto* crystal = NodeUtils::OnlyChildOfType<Crystal>(*s); - const auto* outer_shape = NodeUtils::OnlyChildOfType<IFormFactor>(*s); + const auto* outer_shape = NodeUtils::OnlyChildOfType<IBornFF>(*s); if (!crystal || !outer_shape) continue; result << indent() << key << " = ba.MesoCrystal("; diff --git a/GUI/Model/From/FromDomain.cpp b/GUI/Model/From/FromDomain.cpp index 88d1beeb71944c851a0969e01304a678c1d7c951..d3ee899a3a87415679fc1a8a0b59f6025f61a6a3 100644 --- a/GUI/Model/From/FromDomain.cpp +++ b/GUI/Model/From/FromDomain.cpp @@ -822,7 +822,7 @@ void GUI::Transform::FromDomain::setInterference(ParticleLayoutItem* layoutItem, } void GUI::Transform::FromDomain::setFormFactor(std::variant<ParticleItem*, MesoCrystalItem*> parent, - const IFormFactor* iFormFactor) + const IBornFF* iFormFactor) { if (const auto* formFactor = dynamic_cast<const FormFactorAnisoPyramid*>(iFormFactor)) { auto* formFactorItem = addFormFactorItem<AnisoPyramidItem>(parent); diff --git a/GUI/Model/From/FromDomain.h b/GUI/Model/From/FromDomain.h index 6c10d0b66ff9f2fa5688177cd184b7f32e7f3da9..884d69ce9749dee32068a3dcee8ca6eebcc4cf60 100644 --- a/GUI/Model/From/FromDomain.h +++ b/GUI/Model/From/FromDomain.h @@ -64,7 +64,7 @@ class ParticleLayoutItem; class IInterference; class ParticleItem; class MesoCrystalItem; -class IFormFactor; +class IBornFF; namespace GUI::Transform::FromDomain { @@ -128,7 +128,7 @@ void setRotation(ItemWithParticles* item, const IRotation* rotation); void setInterference(ParticleLayoutItem* layoutItem, const IInterference* interference); void setFormFactor(std::variant<ParticleItem*, MesoCrystalItem*> parent, - const IFormFactor* iFormFactor); + const IBornFF* iFormFactor); } // namespace GUI::Transform::FromDomain diff --git a/GUI/View/Realspace/RealSpaceBuilderUtils.cpp b/GUI/View/Realspace/RealSpaceBuilderUtils.cpp index 48f14f0fbc59acf28e7ff7bdb00c3123925c5e24..a03b40e2cdf29a0e43afe6a0cd1252e3d827c5d9 100644 --- a/GUI/View/Realspace/RealSpaceBuilderUtils.cpp +++ b/GUI/View/Realspace/RealSpaceBuilderUtils.cpp @@ -37,12 +37,12 @@ namespace { const double layerBorderWidth = 10.0; -const IDecoratableBorn* getUnderlyingFormFactor(const IFormFactor* ff) +const IBornFF* getUnderlyingFormFactor(const IBornFF* ff) { // TRUE as long as ff is of DecoratedFF (or its derived) type while (dynamic_cast<const DecoratedFF*>(ff)) ff = dynamic_cast<const DecoratedFF*>(ff)->getFormFactor(); - const auto* ffb = dynamic_cast<const IDecoratableBorn*>(ff); + const auto* ffb = dynamic_cast<const IBornFF*>(ff); ASSERT(ffb); return ffb; } @@ -261,10 +261,9 @@ Particle3DContainer GUI::RealSpace::BuilderUtils::singleParticle3DContainer( { std::unique_ptr<Particle> P_clone(particle.clone()); // clone of the particle - std::unique_ptr<const IFormFactor> particleff(P_clone->createFormFactor()); - const IDecoratableBorn* ff = getUnderlyingFormFactor(particleff.get()); + const IBornFF* ff = getUnderlyingFormFactor(P_clone->formFactor()); - auto particle3D = GUI::View::TransformTo3D::createParticlefromIFormFactor(ff); + auto particle3D = GUI::View::TransformTo3D::createParticlefromFormfactor(ff); applyParticleTransformations(*P_clone, *particle3D, to_kvector(origin)); applyParticleColor(*P_clone, *particle3D); @@ -282,16 +281,16 @@ Particle3DContainer GUI::RealSpace::BuilderUtils::particleCoreShell3DContainer( // clone of the particleCoreShell std::unique_ptr<ParticleCoreShell> PCS_clone(particleCoreShell.clone()); - std::unique_ptr<const IFormFactor> coreParticleff( - PCS_clone->coreParticle()->createFormFactor()); - std::unique_ptr<const IFormFactor> shellParticleff( - PCS_clone->shellParticle()->createFormFactor()); + std::unique_ptr<const IBornFF> coreParticleff( + PCS_clone->coreParticle()->formFactor()); + std::unique_ptr<const IBornFF> shellParticleff( + PCS_clone->shellParticle()->formFactor()); const auto* coreff = getUnderlyingFormFactor(coreParticleff.get()); const auto* shellff = getUnderlyingFormFactor(shellParticleff.get()); - auto coreParticle3D = GUI::View::TransformTo3D::createParticlefromIFormFactor(coreff); - auto shellParticle3D = GUI::View::TransformTo3D::createParticlefromIFormFactor(shellff); + auto coreParticle3D = GUI::View::TransformTo3D::createParticlefromFormfactor(coreff); + auto shellParticle3D = GUI::View::TransformTo3D::createParticlefromFormfactor(shellff); // core applyParticleCoreShellTransformations(*PCS_clone->coreParticle(), *coreParticle3D, *PCS_clone, diff --git a/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp b/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp index 893062bff809e27ffcd2f5b7918520f0cb57a56c..cb90e3e7ec6d793260357330dac86785a29b4cac 100644 --- a/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp +++ b/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp @@ -28,7 +28,7 @@ namespace { const int n = 10; // TODO: Adjust this parameter based on the size of the mesocrystal -bool isPositionInsideMesoCrystal(const IDecoratableBorn* outerShape, R3 positionInside) +bool isPositionInsideMesoCrystal(const IBornFF* outerShape, R3 positionInside) { bool check(false); if (const auto* ff_AnisoPyramid = dynamic_cast<const FormFactorAnisoPyramid*>(outerShape)) { @@ -424,7 +424,7 @@ Particle3DContainer RealSpaceMesoCrystal::populateMesoCrystal() } // Add outer shape for visualization - auto outerShape3D = GUI::View::TransformTo3D::createParticlefromIFormFactor(outerShapeff.get()); + auto outerShape3D = GUI::View::TransformTo3D::createParticlefromFormfactor(outerShapeff.get()); outerShape3D->addTransform( m_builderUtils->implementParticleRotationfromIRotation(mesoCrystal_rotation), QVector3D(static_cast<float>(mesoCrystal_translation.x()), diff --git a/GUI/View/Realspace/TransformTo3D.cpp b/GUI/View/Realspace/TransformTo3D.cpp index bef27b084c26e7391d7c922fdea6c90ffc1e8329..b8bad6d97416e800c8badba0bba22ee5436c840a 100644 --- a/GUI/View/Realspace/TransformTo3D.cpp +++ b/GUI/View/Realspace/TransformTo3D.cpp @@ -77,7 +77,7 @@ GUI::View::TransformTo3D::createLayer(const LayerItem& layerItem, } std::unique_ptr<GUI::RealSpace::Particles::Particle> -GUI::View::TransformTo3D::createParticlefromIFormFactor(const IDecoratableBorn* ff) +GUI::View::TransformTo3D::createParticlefromFormfactor(const IBornFF* ff) { if (const auto* ff_AnisoPyramid = dynamic_cast<const FormFactorAnisoPyramid*>(ff)) { double length = ff_AnisoPyramid->getLength(); diff --git a/GUI/View/Realspace/TransformTo3D.h b/GUI/View/Realspace/TransformTo3D.h index bb3e024df994c75078cbd57c01b504de18761b21..c65f34456a49e795ef4f50b02edde7b539601a66 100644 --- a/GUI/View/Realspace/TransformTo3D.h +++ b/GUI/View/Realspace/TransformTo3D.h @@ -24,7 +24,7 @@ class LayerItem; class ParticleItem; class SessionItem; struct SceneGeometry; -class IDecoratableBorn; +class IBornFF; //! Collection of utility functions to build 3D objects from session items. @@ -37,7 +37,7 @@ std::unique_ptr<GUI::RealSpace::Layer> createLayer(const LayerItem& layerItem, const QVector3D& origin = {}); std::unique_ptr<GUI::RealSpace::Particles::Particle> -createParticlefromIFormFactor(const IDecoratableBorn* ff); +createParticlefromFormfactor(const IBornFF* ff); } // namespace GUI::View::TransformTo3D diff --git a/Sample/Scattering/DecoratedFF.cpp b/Sample/Scattering/DecoratedFF.cpp index dab7702fe2f5b65a1965dc728527219b38ed78be..b7a14a174fe914e974935e5b31c22e55c723c309 100644 --- a/Sample/Scattering/DecoratedFF.cpp +++ b/Sample/Scattering/DecoratedFF.cpp @@ -87,7 +87,7 @@ double DecoratedFF::radialExtension() const return m_ff->radialExtension(); } -const IDecoratableBorn* DecoratedFF::getFormFactor() const +const IBornFF* DecoratedFF::getFormFactor() const { return m_ff.get(); } diff --git a/Sample/Scattering/DecoratedFF.h b/Sample/Scattering/DecoratedFF.h index 91de7e468fdda91caa786da4cb065de3c250e505..b6b39d1d5fb1f79f21148deff9b43f2c03159a1e 100644 --- a/Sample/Scattering/DecoratedFF.h +++ b/Sample/Scattering/DecoratedFF.h @@ -59,7 +59,7 @@ public: double topZ(const IRotation* rotation) const override; - const IDecoratableBorn* getFormFactor() const; + const IBornFF* getFormFactor() const; complex_t formfactor(C3 q) const override; diff --git a/Sample/Scattering/IBornFF.cpp b/Sample/Scattering/IBornFF.cpp index 0b31eb9a43b7d236bc1659969cd8709e49920275..3be1289d756c396d77295344e87e3477d7f20a65 100644 --- a/Sample/Scattering/IBornFF.cpp +++ b/Sample/Scattering/IBornFF.cpp @@ -18,11 +18,14 @@ #include "Base/Vector/WavevectorInfo.h" #include "Sample/Scattering/Rotations.h" #include "Sample/Shapes/IShape3D.h" +#include "Base/Util/PyFmt.h" +#include "Base/Util/StringUtils.h" #include <stdexcept> +#include <utility> namespace { -bool shapeIsContainedInLimits(const IFormFactor& formfactor, ZLimits limits, +bool shapeIsContainedInLimits(const IBornFF& formfactor, ZLimits limits, const IRotation* rotation, R3 translation) { double zbottom = formfactor.bottomZ(rotation) + translation.z(); @@ -31,7 +34,7 @@ bool shapeIsContainedInLimits(const IFormFactor& formfactor, ZLimits limits, return limits.zBottom() <= zbottom && ztop <= limits.zTop(); } -bool shapeOutsideLimits(const IFormFactor& formfactor, ZLimits limits, const IRotation* rotation, +bool shapeOutsideLimits(const IBornFF& formfactor, ZLimits limits, const IRotation* rotation, R3 translation) { double zbottom = formfactor.bottomZ(rotation) + translation.z(); @@ -46,12 +49,19 @@ bool shapeOutsideLimits(const IFormFactor& formfactor, ZLimits limits, const IRo IBornFF::IBornFF() = default; IBornFF::IBornFF(const NodeMeta& meta, const std::vector<double>& PValues) - : IDecoratableBorn(meta, PValues) + : ISampleNode(meta, PValues), m_nodeMeta(meta) { } IBornFF::~IBornFF() = default; +std::string IBornFF::shapeName() const +{ + if (className().substr(0, 10) == "FormFactor") + return className().substr(10); + return className(); +} + complex_t IBornFF::theFF(const WavevectorInfo& wavevectors) const { return formfactor(wavevectors.getQ()); @@ -81,6 +91,15 @@ bool IBornFF::canSliceAnalytically(const IRotation* rotation) const return !rotation || rotation->zInvariant(); } +std::string IBornFF::pythonConstructor() const +{ + std::vector<std::pair<double, std::string>> arguments; + for (size_t i = 0; i < m_nodeMeta.paraMeta.size(); i++) + arguments.emplace_back(m_P[i], m_nodeMeta.paraMeta[i].unit); + + return Py::Fmt::printFunction(className(), arguments); +} + Eigen::Matrix2cd IBornFF::formfactor_pol(C3 q) const { return formfactor(q) * Eigen::Matrix2cd::Identity(); @@ -123,6 +142,8 @@ SlicingEffects IBornFF::computeSlicingEffects(ZLimits limits, const R3& position return {new_position, dz_bottom, dz_top}; } +double IBornFF::volume() const { return std::abs(formfactor(C3())); } + double IBornFF::BottomZ(const std::vector<R3>& vertices, const IRotation* rotation) { ASSERT(vertices.size()); diff --git a/Sample/Scattering/IBornFF.h b/Sample/Scattering/IBornFF.h index 383ece4f9f18fd0a5c12fdfd0d34ce2944f89668..2ae890895bfbf5cedf01f2a1233cbfc3a199e541 100644 --- a/Sample/Scattering/IBornFF.h +++ b/Sample/Scattering/IBornFF.h @@ -16,7 +16,7 @@ #ifndef BORNAGAIN_SAMPLE_SCATTERING_IBORNFF_H #define BORNAGAIN_SAMPLE_SCATTERING_IBORNFF_H -#include "Sample/Scattering/IDecoratableBorn.h" +#include "Sample/Scattering/ISampleNode.h" #include "Sample/Scattering/DecoratedFF.h" // TODO circular, temporary // class DecoratedFF; @@ -37,7 +37,7 @@ struct SlicingEffects { //! on the incoming and outgoing wave vectors ki and kf, except through their //! difference, the scattering vector q=ki-kf. -class IBornFF : public IDecoratableBorn { +class IBornFF : public ISampleNode { public: IBornFF(); IBornFF(const NodeMeta& meta, const std::vector<double>& PValues); @@ -45,16 +45,29 @@ public: IBornFF* clone() const override = 0; - complex_t theFF(const WavevectorInfo& wavevectors) const override; + virtual complex_t theFF(const WavevectorInfo& wavevectors) const; + + std::string shapeName() const; #ifndef SWIG - Eigen::Matrix2cd thePolFF(const WavevectorInfo& wavevectors) const override; + virtual Eigen::Matrix2cd thePolFF(const WavevectorInfo& wavevectors) const; #endif - double bottomZ(const IRotation* rotation) const override; - double topZ(const IRotation* rotation) const override; + virtual double bottomZ(const IRotation* rotation) const; + virtual double topZ(const IRotation* rotation) const; + + virtual double volume() const; + + //! Returns the (approximate in some cases) radial size of the particle of this + //! form factor's shape. This is used for SSCA calculations + virtual double radialExtension() const = 0; + + virtual complex_t formfactor(C3 q) const = 0; DecoratedFF* createSlicedFormFactor(ZLimits limits, const IRotation* rot, R3 translation) const; + //! Creates the Python constructor of this class (or derived classes) + virtual std::string pythonConstructor() const; + protected: //! Default implementation only allows rotations along z-axis virtual bool canSliceAnalytically(const IRotation* rot) const; @@ -82,6 +95,9 @@ protected: //! Calculates the z-coordinate of the highest vertex after rotation static double TopZ(const std::vector<R3>& vertices, const IRotation* rotation); + + + NodeMeta m_nodeMeta; //!< stored for python code generation }; #endif // BORNAGAIN_SAMPLE_SCATTERING_IBORNFF_H diff --git a/Sample/Scattering/IFormFactor.cpp b/Sample/Scattering/IFormFactor.cpp index 2b969dab264934598717d814b105da6f2b3703fb..fe6a250299cfe653ff4fff7b151e1d2cc526626c 100644 --- a/Sample/Scattering/IFormFactor.cpp +++ b/Sample/Scattering/IFormFactor.cpp @@ -13,39 +13,20 @@ // ************************************************************************************************ #include "Sample/Scattering/IFormFactor.h" -#include "Base/Util/PyFmt.h" -#include "Base/Util/StringUtils.h" #include "Base/Vector/WavevectorInfo.h" #include <memory> -#include <utility> IFormFactor::IFormFactor(const NodeMeta& meta, const std::vector<double>& PValues) - : INode(meta, PValues), m_nodeMeta(meta) + : INode(meta, PValues) { } -std::string IFormFactor::shapeName() const -{ - if (className().substr(0, 10) == "FormFactor") - return className().substr(10); - return className(); -} - Eigen::Matrix2cd IFormFactor::thePolFF(const WavevectorInfo&) const { // Throws to prevent unanticipated behaviour throw std::runtime_error("IFormFactor::evaluatePol: is not implemented by default"); } -std::string IFormFactor::pythonConstructor() const -{ - std::vector<std::pair<double, std::string>> arguments; - for (size_t i = 0; i < m_nodeMeta.paraMeta.size(); i++) - arguments.emplace_back(m_P[i], m_nodeMeta.paraMeta[i].unit); - - return Py::Fmt::printFunction(className(), arguments); -} - double IFormFactor::volume() const { auto zero_wavevectors = WavevectorInfo::makeZeroQ(); diff --git a/Sample/Scattering/IFormFactor.h b/Sample/Scattering/IFormFactor.h index 6feb7be528265147b5cf3421b5b781f5941dbae6..136734c2793a845a72f304a7dd2f5766acb4e64f 100644 --- a/Sample/Scattering/IFormFactor.h +++ b/Sample/Scattering/IFormFactor.h @@ -43,8 +43,6 @@ public: IFormFactor* clone() const override = 0; - std::string shapeName() const; - //! Passes the material in which this particle is embedded. virtual void setAmbientMaterial(const Material&) {} @@ -65,15 +63,9 @@ public: //! Returns scattering amplitude for matrix interactions virtual Eigen::Matrix2cd thePolFF(const WavevectorInfo& wavevectors) const; - //! Creates the Python constructor of this class (or derived classes) - virtual std::string pythonConstructor() const; - //! Returns the total volume of the particle of this form factor's shape virtual double volume() const; -protected: - NodeMeta m_nodeMeta; //!< stored for python code generation - #endif // SWIG }; diff --git a/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp b/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp index 826b2be42850e6e8828800f844aa85b83a6ebc0f..b53e9f3af485274edb3c20afb6861d8c7690045c 100644 --- a/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp +++ b/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp @@ -8,7 +8,7 @@ class FFSpecializationTest : public testing::Test { protected: - void run_test(IDecoratableBorn* p0, IDecoratableBorn* p1, double eps, double qmag1, + void run_test(IBornFF* p0, IBornFF* p1, double eps, double qmag1, double qmag2) { formFactorTest::run_test_for_many_q([&](C3 q) { test_ff_eq(q, p0, p1, eps); }, qmag1, @@ -16,7 +16,7 @@ protected: } private: - void test_ff_eq(C3 q, IDecoratableBorn* p0, IDecoratableBorn* p1, double eps) + void test_ff_eq(C3 q, IBornFF* p0, IBornFF* p1, double eps) { const complex_t f0 = p0->formfactor(q); const complex_t f1 = p1->formfactor(q); diff --git a/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp b/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp index f851947e9b5d864c7c9cb176323ba29fc63ccd87..d08e3a254369895eafddac7315612526dff8199c 100644 --- a/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp +++ b/Tests/Unit/Numeric/FormFactorSymmetryTest.cpp @@ -10,7 +10,7 @@ class FFSymmetryTest : public testing::Test { private: using transform_t = std::function<C3(const C3&)>; - void test_qq_eq(IDecoratableBorn* ff, C3 q, C3 p, double eps) + void test_qq_eq(IBornFF* ff, C3 q, C3 p, double eps) { complex_t f0 = ff->formfactor(q); #ifdef ALGORITHM_DIAGNOSTIC @@ -36,7 +36,7 @@ private: } protected: - void run_test(IDecoratableBorn* ff, transform_t trafo, double eps, double qmag1, double qmag2) + void run_test(IBornFF* ff, transform_t trafo, double eps, double qmag1, double qmag2) { formFactorTest::run_test_for_many_q([&](C3 q) { test_qq_eq(ff, q, trafo(q), eps); }, qmag1, qmag2); diff --git a/Tests/Unit/Sample/FormFactorBasicTest.cpp b/Tests/Unit/Sample/FormFactorBasicTest.cpp index d99e1f53fa6f233fb52286d718e84cd8555620c8..3b43aa443a5c3d8bb073c13df5aab77434dd21ec 100644 --- a/Tests/Unit/Sample/FormFactorBasicTest.cpp +++ b/Tests/Unit/Sample/FormFactorBasicTest.cpp @@ -6,7 +6,7 @@ class FormFactorBasicTest : public ::testing::Test { protected: - void test_eps_q(const IDecoratableBorn* p, C3 qdir, double eps) const + void test_eps_q(const IBornFF* p, C3 qdir, double eps) const { C3 q = eps * qdir; complex_t ff = p->formfactor(q); @@ -18,7 +18,7 @@ protected: EXPECT_GT(real(ff), V * (1 - std::max(3e-16, 2 * eps * R * eps * R))); EXPECT_LT(std::abs(imag(ff)), 2 * eps * V * R); } - void test_small_q(const IDecoratableBorn* p, complex_t x, complex_t y, complex_t z) const + void test_small_q(const IBornFF* p, complex_t x, complex_t y, complex_t z) const { C3 q(x, y, z); test_eps_q(p, q, 1e-14); @@ -26,7 +26,7 @@ protected: test_eps_q(p, q, 1e-8); test_eps_q(p, q, 1e-5); } - void test_ff(const IDecoratableBorn* p) + void test_ff(const IBornFF* p) { complex_t ff0 = p->formfactor(C3(0., 0., 0.)); EXPECT_EQ(imag(ff0), 0.); @@ -54,7 +54,7 @@ protected: test_small_q(p, 1, 1, 1); test_small_q(p, .7, .8, .9); - IDecoratableBorn* clone = p->clone(); + IBornFF* clone = p->clone(); EXPECT_EQ(clone->volume(), V); C3 q(.1, .2, complex_t(.3, .004)); EXPECT_EQ(clone->formfactor(q), p->formfactor(q)); diff --git a/auto/Wrap/doxygenSample.i b/auto/Wrap/doxygenSample.i index bfdad15a80d4debea1724e3ec71b71d45b1909a0..077ee266a2332c95b6820348182db8d78ca5b9b2 100644 --- a/auto/Wrap/doxygenSample.i +++ b/auto/Wrap/doxygenSample.i @@ -251,7 +251,7 @@ Returns the z-coordinate of the lowest point in this shape after a given rotatio Returns the z-coordinate of the lowest point in this shape after a given rotation. "; -%feature("docstring") DecoratedFF::getFormFactor "const IDecoratableBorn * DecoratedFF::getFormFactor() const +%feature("docstring") DecoratedFF::getFormFactor "const IBornFF * DecoratedFF::getFormFactor() const "; %feature("docstring") DecoratedFF::formfactor "complex_t DecoratedFF::formfactor(C3 q) const override @@ -378,6 +378,8 @@ C++ includes: FormFactorAnisoPyramid.h "; %feature("docstring") FormFactorAnisoPyramid::clone "FormFactorAnisoPyramid* FormFactorAnisoPyramid::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorAnisoPyramid::getLength "double FormFactorAnisoPyramid::getLength() const @@ -411,6 +413,8 @@ C++ includes: FormFactorBar.h "; %feature("docstring") FormFactorBarGauss::clone "FormFactorBarGauss * FormFactorBarGauss::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -432,6 +436,8 @@ C++ includes: FormFactorBar.h "; %feature("docstring") FormFactorBarLorentz::clone "FormFactorBarLorentz * FormFactorBarLorentz::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -453,6 +459,8 @@ C++ includes: FormFactorBox.h "; %feature("docstring") FormFactorBox::clone "FormFactorBox* FormFactorBox::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorBox::getLength "double FormFactorBox::getLength() const @@ -462,8 +470,6 @@ C++ includes: FormFactorBox.h "; %feature("docstring") FormFactorBox::volume "double FormFactorBox::volume() const override - -Returns the total volume of the particle of this form factor's shape. "; %feature("docstring") FormFactorBox::radialExtension "double FormFactorBox::radialExtension() const override @@ -472,8 +478,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorBox::formfactor "complex_t FormFactorBox::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. "; @@ -495,6 +499,8 @@ C++ includes: FormFactorCantellatedCube.h "; %feature("docstring") FormFactorCantellatedCube::clone "FormFactorCantellatedCube* FormFactorCantellatedCube::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorCantellatedCube::getLength "double FormFactorCantellatedCube::getLength() const @@ -590,6 +596,8 @@ C++ includes: FormFactorCone.h "; %feature("docstring") FormFactorCone::clone "FormFactorCone* FormFactorCone::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorCone::getHeight "double FormFactorCone::getHeight() const @@ -607,8 +615,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorCone::formfactor "complex_t FormFactorCone::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. "; @@ -630,6 +636,8 @@ C++ includes: FormFactorCone6.h "; %feature("docstring") FormFactorCone6::clone "FormFactorCone6* FormFactorCone6::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorCone6::getBaseEdge "double FormFactorCone6::getBaseEdge() const @@ -713,6 +721,8 @@ C++ includes: FormFactorCosineRipple.h "; %feature("docstring") FormFactorCosineRippleBox::clone "FormFactorCosineRippleBox * FormFactorCosineRippleBox::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -734,6 +744,8 @@ C++ includes: FormFactorCosineRipple.h "; %feature("docstring") FormFactorCosineRippleGauss::clone "FormFactorCosineRippleGauss * FormFactorCosineRippleGauss::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -755,6 +767,8 @@ C++ includes: FormFactorCosineRipple.h "; %feature("docstring") FormFactorCosineRippleLorentz::clone "FormFactorCosineRippleLorentz * FormFactorCosineRippleLorentz::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -832,6 +846,8 @@ C++ includes: FormFactorCuboctahedron.h "; %feature("docstring") FormFactorCuboctahedron::clone "FormFactorCuboctahedron* FormFactorCuboctahedron::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorCuboctahedron::getLength "double FormFactorCuboctahedron::getLength() const @@ -865,6 +881,8 @@ C++ includes: FormFactorCylinder.h "; %feature("docstring") FormFactorCylinder::clone "FormFactorCylinder* FormFactorCylinder::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorCylinder::getHeight "double FormFactorCylinder::getHeight() const @@ -879,8 +897,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorCylinder::formfactor "complex_t FormFactorCylinder::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. "; @@ -902,6 +918,8 @@ C++ includes: FormFactorDodecahedron.h "; %feature("docstring") FormFactorDodecahedron::clone "FormFactorDodecahedron* FormFactorDodecahedron::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorDodecahedron::getEdge "double FormFactorDodecahedron::getEdge() const @@ -926,6 +944,8 @@ C++ includes: FormFactorEllipsoidalCylinder.h "; %feature("docstring") FormFactorEllipsoidalCylinder::clone "FormFactorEllipsoidalCylinder* FormFactorEllipsoidalCylinder::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorEllipsoidalCylinder::getRadiusX "double FormFactorEllipsoidalCylinder::getRadiusX() const @@ -943,8 +963,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorEllipsoidalCylinder::formfactor "complex_t FormFactorEllipsoidalCylinder::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. "; @@ -966,6 +984,8 @@ C++ includes: FormFactorFullSphere.h "; %feature("docstring") FormFactorFullSphere::clone "FormFactorFullSphere* FormFactorFullSphere::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorFullSphere::getRadius "double FormFactorFullSphere::getRadius() const @@ -977,18 +997,12 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorFullSphere::bottomZ "double FormFactorFullSphere::bottomZ(const IRotation *rotation) const override - -Returns the z-coordinate of the lowest point in this shape after a given rotation. "; %feature("docstring") FormFactorFullSphere::topZ "double FormFactorFullSphere::topZ(const IRotation *rotation) const override - -Returns the z-coordinate of the lowest point in this shape after a given rotation. "; %feature("docstring") FormFactorFullSphere::formfactor "complex_t FormFactorFullSphere::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. "; @@ -1010,6 +1024,8 @@ C++ includes: FormFactorFullSpheroid.h "; %feature("docstring") FormFactorFullSpheroid::clone "FormFactorFullSpheroid* FormFactorFullSpheroid::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorFullSpheroid::getHeight "double FormFactorFullSpheroid::getHeight() const @@ -1024,8 +1040,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorFullSpheroid::formfactor "complex_t FormFactorFullSpheroid::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. "; @@ -1047,6 +1061,8 @@ C++ includes: FormFactorGauss.h "; %feature("docstring") FormFactorGaussSphere::clone "FormFactorGaussSphere* FormFactorGaussSphere::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorGaussSphere::getMeanRadius "double FormFactorGaussSphere::getMeanRadius() const @@ -1058,8 +1074,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorGaussSphere::formfactor "complex_t FormFactorGaussSphere::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. "; @@ -1084,6 +1098,8 @@ C++ includes: FormFactorHemiEllipsoid.h "; %feature("docstring") FormFactorHemiEllipsoid::clone "FormFactorHemiEllipsoid* FormFactorHemiEllipsoid::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorHemiEllipsoid::getHeight "double FormFactorHemiEllipsoid::getHeight() const @@ -1101,8 +1117,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorHemiEllipsoid::formfactor "complex_t FormFactorHemiEllipsoid::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. "; @@ -1124,6 +1138,8 @@ C++ includes: FormFactorHollowSphere.h "; %feature("docstring") FormFactorHollowSphere::clone "FormFactorHollowSphere* FormFactorHollowSphere::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorHollowSphere::radialExtension "double FormFactorHollowSphere::radialExtension() const override @@ -1132,8 +1148,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorHollowSphere::formfactor "complex_t FormFactorHollowSphere::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. "; @@ -1155,6 +1169,8 @@ C++ includes: FormFactorIcosahedron.h "; %feature("docstring") FormFactorIcosahedron::clone "FormFactorIcosahedron* FormFactorIcosahedron::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorIcosahedron::getEdge "double FormFactorIcosahedron::getEdge() const @@ -1179,6 +1195,8 @@ C++ includes: FormFactorLongBoxGauss.h "; %feature("docstring") FormFactorLongBoxGauss::clone "FormFactorLongBoxGauss* FormFactorLongBoxGauss::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorLongBoxGauss::getLength "double FormFactorLongBoxGauss::getLength() const @@ -1196,8 +1214,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorLongBoxGauss::formfactor "complex_t FormFactorLongBoxGauss::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. "; @@ -1219,6 +1235,8 @@ C++ includes: FormFactorLongBoxLorentz.h "; %feature("docstring") FormFactorLongBoxLorentz::clone "FormFactorLongBoxLorentz* FormFactorLongBoxLorentz::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorLongBoxLorentz::getLength "double FormFactorLongBoxLorentz::getLength() const @@ -1236,8 +1254,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorLongBoxLorentz::formfactor "complex_t FormFactorLongBoxLorentz::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. "; @@ -1259,6 +1275,8 @@ C++ includes: FormFactorPrism3.h "; %feature("docstring") FormFactorPrism3::clone "FormFactorPrism3* FormFactorPrism3::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorPrism3::getBaseEdge "double FormFactorPrism3::getBaseEdge() const @@ -1283,6 +1301,8 @@ C++ includes: FormFactorPrism6.h "; %feature("docstring") FormFactorPrism6::clone "FormFactorPrism6* FormFactorPrism6::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorPrism6::getBaseEdge "double FormFactorPrism6::getBaseEdge() const @@ -1307,6 +1327,8 @@ C++ includes: FormFactorPyramid.h "; %feature("docstring") FormFactorPyramid::clone "FormFactorPyramid* FormFactorPyramid::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorPyramid::getHeight "double FormFactorPyramid::getHeight() const @@ -1337,6 +1359,8 @@ C++ includes: FormFactorSawtoothRipple.h "; %feature("docstring") FormFactorSawtoothRippleBox::clone "FormFactorSawtoothRippleBox * FormFactorSawtoothRippleBox::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -1358,6 +1382,8 @@ C++ includes: FormFactorSawtoothRipple.h "; %feature("docstring") FormFactorSawtoothRippleGauss::clone "FormFactorSawtoothRippleGauss * FormFactorSawtoothRippleGauss::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -1379,6 +1405,8 @@ C++ includes: FormFactorSawtoothRipple.h "; %feature("docstring") FormFactorSawtoothRippleLorentz::clone "FormFactorSawtoothRippleLorentz * FormFactorSawtoothRippleLorentz::clone() const override + +Returns a clone of this ISampleNode object. "; @@ -1400,6 +1428,8 @@ C++ includes: FormFactorSphereGaussianRadius.h "; %feature("docstring") FormFactorSphereGaussianRadius::clone "FormFactorSphereGaussianRadius* FormFactorSphereGaussianRadius::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorSphereGaussianRadius::radialExtension "double FormFactorSphereGaussianRadius::radialExtension() const override @@ -1408,8 +1438,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorSphereGaussianRadius::formfactor "complex_t FormFactorSphereGaussianRadius::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. "; @@ -1431,6 +1459,8 @@ C++ includes: FormFactorSphereLogNormalRadius.h "; %feature("docstring") FormFactorSphereLogNormalRadius::clone "FormFactorSphereLogNormalRadius * FormFactorSphereLogNormalRadius::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorSphereLogNormalRadius::radialExtension "double FormFactorSphereLogNormalRadius::radialExtension() const override @@ -1439,8 +1469,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorSphereLogNormalRadius::formfactor "complex_t FormFactorSphereLogNormalRadius::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") FormFactorSphereLogNormalRadius::pythonConstructor "std::string FormFactorSphereLogNormalRadius::pythonConstructor() const override @@ -1467,6 +1495,8 @@ C++ includes: FormFactorTetrahedron.h "; %feature("docstring") FormFactorTetrahedron::clone "FormFactorTetrahedron* FormFactorTetrahedron::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorTetrahedron::getBaseEdge "double FormFactorTetrahedron::getBaseEdge() const @@ -1497,6 +1527,8 @@ C++ includes: FormFactorTruncatedCube.h "; %feature("docstring") FormFactorTruncatedCube::clone "FormFactorTruncatedCube* FormFactorTruncatedCube::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorTruncatedCube::getLength "double FormFactorTruncatedCube::getLength() const @@ -1524,6 +1556,8 @@ C++ includes: FormFactorTruncatedSphere.h "; %feature("docstring") FormFactorTruncatedSphere::clone "FormFactorTruncatedSphere* FormFactorTruncatedSphere::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorTruncatedSphere::getHeight "double FormFactorTruncatedSphere::getHeight() const @@ -1564,6 +1598,8 @@ C++ includes: FormFactorTruncatedSpheroid.h "; %feature("docstring") FormFactorTruncatedSpheroid::clone "FormFactorTruncatedSpheroid* FormFactorTruncatedSpheroid::clone() const override + +Returns a clone of this ISampleNode object. "; %feature("docstring") FormFactorTruncatedSpheroid::getRadius "double FormFactorTruncatedSpheroid::getRadius() const @@ -1584,8 +1620,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") FormFactorTruncatedSpheroid::formfactor "complex_t FormFactorTruncatedSpheroid::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. "; @@ -2237,31 +2271,44 @@ C++ includes: IBornFF.h "; %feature("docstring") IBornFF::clone "IBornFF* IBornFF::clone() const override=0 + +Returns a clone of this ISampleNode object. "; -%feature("docstring") IBornFF::theFF "complex_t IBornFF::theFF(const WavevectorInfo &wavevectors) const override +%feature("docstring") IBornFF::theFF "complex_t IBornFF::theFF(const WavevectorInfo &wavevectors) const +"; -Returns scattering amplitude for complex wavevectors ki, kf. +%feature("docstring") IBornFF::shapeName "std::string IBornFF::shapeName() const "; -%feature("docstring") IBornFF::thePolFF "Eigen::Matrix2cd IBornFF::thePolFF(const WavevectorInfo &wavevectors) const override +%feature("docstring") IBornFF::thePolFF "Eigen::Matrix2cd IBornFF::thePolFF(const WavevectorInfo &wavevectors) const +"; -Returns scattering amplitude for matrix interactions. +%feature("docstring") IBornFF::bottomZ "double IBornFF::bottomZ(const IRotation *rotation) const "; -%feature("docstring") IBornFF::bottomZ "double IBornFF::bottomZ(const IRotation *rotation) const override +%feature("docstring") IBornFF::topZ "double IBornFF::topZ(const IRotation *rotation) const +"; -Returns the z-coordinate of the lowest point in this shape after a given rotation. +%feature("docstring") IBornFF::volume "double IBornFF::volume() const "; -%feature("docstring") IBornFF::topZ "double IBornFF::topZ(const IRotation *rotation) const override +%feature("docstring") IBornFF::radialExtension "virtual double IBornFF::radialExtension() const =0 -Returns the z-coordinate of the lowest point in this shape after a given rotation. +Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations +"; + +%feature("docstring") IBornFF::formfactor "virtual complex_t IBornFF::formfactor(C3 q) const =0 "; %feature("docstring") IBornFF::createSlicedFormFactor "DecoratedFF * IBornFF::createSlicedFormFactor(ZLimits limits, const IRotation *rot, R3 translation) const "; +%feature("docstring") IBornFF::pythonConstructor "std::string IBornFF::pythonConstructor() const + +Creates the Python constructor of this class (or derived classes) +"; + // File: classICosineRipple.xml %feature("docstring") ICosineRipple " @@ -2378,9 +2425,6 @@ C++ includes: IFormFactor.h %feature("docstring") IFormFactor::clone "IFormFactor* IFormFactor::clone() const override=0 "; -%feature("docstring") IFormFactor::shapeName "std::string IFormFactor::shapeName() const -"; - %feature("docstring") IFormFactor::setAmbientMaterial "virtual void IFormFactor::setAmbientMaterial(const Material &) Passes the material in which this particle is embedded. @@ -2411,11 +2455,6 @@ Returns the z-coordinate of the lowest point in this shape after a given rotatio Returns scattering amplitude for matrix interactions. "; -%feature("docstring") IFormFactor::pythonConstructor "std::string IFormFactor::pythonConstructor() const - -Creates the Python constructor of this class (or derived classes) -"; - %feature("docstring") IFormFactor::volume "double IFormFactor::volume() const Returns the total volume of the particle of this form factor's shape. @@ -2439,23 +2478,15 @@ The mathematics implemented here is described in full detail in a paper by Joach "; %feature("docstring") IFormFactorPolyhedron::bottomZ "double IFormFactorPolyhedron::bottomZ(const IRotation *rotation) const override - -Returns the z-coordinate of the lowest point in this shape after a given rotation. "; %feature("docstring") IFormFactorPolyhedron::topZ "double IFormFactorPolyhedron::topZ(const IRotation *rotation) const override - -Returns the z-coordinate of the lowest point in this shape after a given rotation. "; %feature("docstring") IFormFactorPolyhedron::formfactor "complex_t IFormFactorPolyhedron::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") IFormFactorPolyhedron::volume "double IFormFactorPolyhedron::volume() const override - -Returns the total volume of the particle of this form factor's shape. "; %feature("docstring") IFormFactorPolyhedron::radialExtension "double IFormFactorPolyhedron::radialExtension() const override @@ -2484,13 +2515,9 @@ C++ includes: IFormFactorPrism.h "; %feature("docstring") IFormFactorPrism::bottomZ "double IFormFactorPrism::bottomZ(const IRotation *rotation) const override - -Returns the z-coordinate of the lowest point in this shape after a given rotation. "; %feature("docstring") IFormFactorPrism::topZ "double IFormFactorPrism::topZ(const IRotation *rotation) const override - -Returns the z-coordinate of the lowest point in this shape after a given rotation. "; %feature("docstring") IFormFactorPrism::formfactor "complex_t IFormFactorPrism::formfactor(C3 q) const override @@ -3445,8 +3472,6 @@ Returns the (approximate in some cases) radial size of the particle of this form "; %feature("docstring") IProfileRipple::formfactor "complex_t IProfileRipple::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. "; diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py index 9aa50d9db776e4fcf1f26f300ab8497ad5f36591..9791d0af2cad2e9c0d3db1b0e1e3a73fc04ac0ee 100644 --- a/auto/Wrap/libBornAgainSample.py +++ b/auto/Wrap/libBornAgainSample.py @@ -3253,14 +3253,6 @@ class IFormFactor(libBornAgainBase.ICloneable, libBornAgainParam.INode): """ return _libBornAgainSample.IFormFactor_clone(self) - def shapeName(self): - r""" - shapeName(IFormFactor self) -> std::string - std::string IFormFactor::shapeName() const - - """ - return _libBornAgainSample.IFormFactor_shapeName(self) - def setAmbientMaterial(self, arg0): r""" setAmbientMaterial(IFormFactor self, Material arg0) @@ -3404,7 +3396,7 @@ class SlicingEffects(object): # Register SlicingEffects in _libBornAgainSample: _libBornAgainSample.SlicingEffects_swigregister(SlicingEffects) -class IBornFF(IDecoratableBorn): +class IBornFF(ISampleNode): r""" @@ -3438,25 +3430,31 @@ class IBornFF(IDecoratableBorn): clone(IBornFF self) -> IBornFF IBornFF* IBornFF::clone() const override=0 + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.IBornFF_clone(self) def theFF(self, wavevectors): r""" theFF(IBornFF self, WavevectorInfo const & wavevectors) -> complex_t - complex_t IBornFF::theFF(const WavevectorInfo &wavevectors) const override - - Returns scattering amplitude for complex wavevectors ki, kf. + complex_t IBornFF::theFF(const WavevectorInfo &wavevectors) const """ return _libBornAgainSample.IBornFF_theFF(self, wavevectors) + def shapeName(self): + r""" + shapeName(IBornFF self) -> std::string + std::string IBornFF::shapeName() const + + """ + return _libBornAgainSample.IBornFF_shapeName(self) + def bottomZ(self, rotation): r""" bottomZ(IBornFF self, IRotation rotation) -> double - double IBornFF::bottomZ(const IRotation *rotation) const override - - Returns the z-coordinate of the lowest point in this shape after a given rotation. + double IBornFF::bottomZ(const IRotation *rotation) const """ return _libBornAgainSample.IBornFF_bottomZ(self, rotation) @@ -3464,13 +3462,37 @@ class IBornFF(IDecoratableBorn): def topZ(self, rotation): r""" topZ(IBornFF self, IRotation rotation) -> double - double IBornFF::topZ(const IRotation *rotation) const override - - Returns the z-coordinate of the lowest point in this shape after a given rotation. + double IBornFF::topZ(const IRotation *rotation) const """ return _libBornAgainSample.IBornFF_topZ(self, rotation) + def volume(self): + r""" + volume(IBornFF self) -> double + double IBornFF::volume() const + + """ + return _libBornAgainSample.IBornFF_volume(self) + + def radialExtension(self): + r""" + radialExtension(IBornFF self) -> double + virtual double IBornFF::radialExtension() const =0 + + Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations + + """ + return _libBornAgainSample.IBornFF_radialExtension(self) + + def formfactor(self, q): + r""" + formfactor(IBornFF self, C3 q) -> complex_t + virtual complex_t IBornFF::formfactor(C3 q) const =0 + + """ + return _libBornAgainSample.IBornFF_formfactor(self, q) + def createSlicedFormFactor(self, limits, rot, translation): r""" createSlicedFormFactor(IBornFF self, ZLimits limits, IRotation rot, R3 translation) -> DecoratedFF @@ -3479,6 +3501,16 @@ class IBornFF(IDecoratableBorn): """ return _libBornAgainSample.IBornFF_createSlicedFormFactor(self, limits, rot, translation) + def pythonConstructor(self): + r""" + pythonConstructor(IBornFF self) -> std::string + std::string IBornFF::pythonConstructor() const + + Creates the Python constructor of this class (or derived classes) + + """ + return _libBornAgainSample.IBornFF_pythonConstructor(self) + def canSliceAnalytically(self, rot): r"""canSliceAnalytically(IBornFF self, IRotation rot) -> bool""" return _libBornAgainSample.IBornFF_canSliceAnalytically(self, rot) @@ -3622,8 +3654,8 @@ class DecoratedFF(IDecoratableBorn): def getFormFactor(self): r""" - getFormFactor(DecoratedFF self) -> IDecoratableBorn - const IDecoratableBorn * DecoratedFF::getFormFactor() const + getFormFactor(DecoratedFF self) -> IBornFF + const IBornFF * DecoratedFF::getFormFactor() const """ return _libBornAgainSample.DecoratedFF_getFormFactor(self) @@ -8406,8 +8438,6 @@ class IFormFactorPolyhedron(IBornFF): bottomZ(IFormFactorPolyhedron self, IRotation rotation) -> double double IFormFactorPolyhedron::bottomZ(const IRotation *rotation) const override - Returns the z-coordinate of the lowest point in this shape after a given rotation. - """ return _libBornAgainSample.IFormFactorPolyhedron_bottomZ(self, rotation) @@ -8416,8 +8446,6 @@ class IFormFactorPolyhedron(IBornFF): topZ(IFormFactorPolyhedron self, IRotation rotation) -> double double IFormFactorPolyhedron::topZ(const IRotation *rotation) const override - Returns the z-coordinate of the lowest point in this shape after a given rotation. - """ return _libBornAgainSample.IFormFactorPolyhedron_topZ(self, rotation) @@ -8426,8 +8454,6 @@ class IFormFactorPolyhedron(IBornFF): formfactor(IFormFactorPolyhedron self, C3 q) -> complex_t complex_t IFormFactorPolyhedron::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. - """ return _libBornAgainSample.IFormFactorPolyhedron_formfactor(self, q) @@ -8436,8 +8462,6 @@ class IFormFactorPolyhedron(IBornFF): volume(IFormFactorPolyhedron self) -> double double IFormFactorPolyhedron::volume() const override - Returns the total volume of the particle of this form factor's shape. - """ return _libBornAgainSample.IFormFactorPolyhedron_volume(self) @@ -8486,8 +8510,6 @@ class IFormFactorPrism(IBornFF): bottomZ(IFormFactorPrism self, IRotation rotation) -> double double IFormFactorPrism::bottomZ(const IRotation *rotation) const override - Returns the z-coordinate of the lowest point in this shape after a given rotation. - """ return _libBornAgainSample.IFormFactorPrism_bottomZ(self, rotation) @@ -8496,8 +8518,6 @@ class IFormFactorPrism(IBornFF): topZ(IFormFactorPrism self, IRotation rotation) -> double double IFormFactorPrism::topZ(const IRotation *rotation) const override - Returns the z-coordinate of the lowest point in this shape after a given rotation. - """ return _libBornAgainSample.IFormFactorPrism_topZ(self, rotation) @@ -8597,8 +8617,6 @@ class IProfileRipple(IBornFF): formfactor(IProfileRipple self, C3 q) -> complex_t complex_t IProfileRipple::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. - """ return _libBornAgainSample.IProfileRipple_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_IProfileRipple @@ -8709,6 +8727,8 @@ class FormFactorAnisoPyramid(IFormFactorPolyhedron): clone(FormFactorAnisoPyramid self) -> FormFactorAnisoPyramid FormFactorAnisoPyramid* FormFactorAnisoPyramid::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorAnisoPyramid_clone(self) @@ -8783,6 +8803,8 @@ class FormFactorBox(IFormFactorPrism): clone(FormFactorBox self) -> FormFactorBox FormFactorBox* FormFactorBox::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorBox_clone(self) @@ -8807,8 +8829,6 @@ class FormFactorBox(IFormFactorPrism): volume(FormFactorBox self) -> double double FormFactorBox::volume() const override - Returns the total volume of the particle of this form factor's shape. - """ return _libBornAgainSample.FormFactorBox_volume(self) @@ -8827,8 +8847,6 @@ class FormFactorBox(IFormFactorPrism): formfactor(FormFactorBox self, C3 q) -> complex_t complex_t FormFactorBox::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. - """ return _libBornAgainSample.FormFactorBox_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorBox @@ -8871,6 +8889,8 @@ class FormFactorCantellatedCube(IFormFactorPolyhedron): clone(FormFactorCantellatedCube self) -> FormFactorCantellatedCube FormFactorCantellatedCube* FormFactorCantellatedCube::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCantellatedCube_clone(self) @@ -8929,6 +8949,8 @@ class FormFactorCone(IBornFF): clone(FormFactorCone self) -> FormFactorCone FormFactorCone* FormFactorCone::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCone_clone(self) @@ -8971,8 +8993,6 @@ class FormFactorCone(IBornFF): formfactor(FormFactorCone self, C3 q) -> complex_t complex_t FormFactorCone::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. - """ return _libBornAgainSample.FormFactorCone_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorCone @@ -9015,6 +9035,8 @@ class FormFactorCone6(IFormFactorPolyhedron): clone(FormFactorCone6 self) -> FormFactorCone6 FormFactorCone6* FormFactorCone6::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCone6_clone(self) @@ -9081,6 +9103,8 @@ class FormFactorCosineRippleBox(ICosineRipple): clone(FormFactorCosineRippleBox self) -> FormFactorCosineRippleBox FormFactorCosineRippleBox * FormFactorCosineRippleBox::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCosineRippleBox_clone(self) __swig_destroy__ = _libBornAgainSample.delete_FormFactorCosineRippleBox @@ -9123,6 +9147,8 @@ class FormFactorCosineRippleGauss(ICosineRipple): clone(FormFactorCosineRippleGauss self) -> FormFactorCosineRippleGauss FormFactorCosineRippleGauss * FormFactorCosineRippleGauss::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCosineRippleGauss_clone(self) __swig_destroy__ = _libBornAgainSample.delete_FormFactorCosineRippleGauss @@ -9165,6 +9191,8 @@ class FormFactorCosineRippleLorentz(ICosineRipple): clone(FormFactorCosineRippleLorentz self) -> FormFactorCosineRippleLorentz FormFactorCosineRippleLorentz * FormFactorCosineRippleLorentz::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCosineRippleLorentz_clone(self) __swig_destroy__ = _libBornAgainSample.delete_FormFactorCosineRippleLorentz @@ -9207,6 +9235,8 @@ class FormFactorCuboctahedron(IFormFactorPolyhedron): clone(FormFactorCuboctahedron self) -> FormFactorCuboctahedron FormFactorCuboctahedron* FormFactorCuboctahedron::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCuboctahedron_clone(self) @@ -9281,6 +9311,8 @@ class FormFactorCylinder(IBornFF): clone(FormFactorCylinder self) -> FormFactorCylinder FormFactorCylinder* FormFactorCylinder::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorCylinder_clone(self) @@ -9315,8 +9347,6 @@ class FormFactorCylinder(IBornFF): formfactor(FormFactorCylinder self, C3 q) -> complex_t complex_t FormFactorCylinder::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. - """ return _libBornAgainSample.FormFactorCylinder_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorCylinder @@ -9359,6 +9389,8 @@ class FormFactorDodecahedron(IFormFactorPolyhedron): clone(FormFactorDodecahedron self) -> FormFactorDodecahedron FormFactorDodecahedron* FormFactorDodecahedron::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorDodecahedron_clone(self) @@ -9409,6 +9441,8 @@ class FormFactorEllipsoidalCylinder(IBornFF): clone(FormFactorEllipsoidalCylinder self) -> FormFactorEllipsoidalCylinder FormFactorEllipsoidalCylinder* FormFactorEllipsoidalCylinder::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorEllipsoidalCylinder_clone(self) @@ -9451,8 +9485,6 @@ class FormFactorEllipsoidalCylinder(IBornFF): formfactor(FormFactorEllipsoidalCylinder self, C3 q) -> complex_t complex_t FormFactorEllipsoidalCylinder::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. - """ return _libBornAgainSample.FormFactorEllipsoidalCylinder_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorEllipsoidalCylinder @@ -9495,6 +9527,8 @@ class FormFactorFullSphere(IBornFF): clone(FormFactorFullSphere self) -> FormFactorFullSphere FormFactorFullSphere* FormFactorFullSphere::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorFullSphere_clone(self) @@ -9521,8 +9555,6 @@ class FormFactorFullSphere(IBornFF): bottomZ(FormFactorFullSphere self, IRotation rotation) -> double double FormFactorFullSphere::bottomZ(const IRotation *rotation) const override - Returns the z-coordinate of the lowest point in this shape after a given rotation. - """ return _libBornAgainSample.FormFactorFullSphere_bottomZ(self, rotation) @@ -9531,8 +9563,6 @@ class FormFactorFullSphere(IBornFF): topZ(FormFactorFullSphere self, IRotation rotation) -> double double FormFactorFullSphere::topZ(const IRotation *rotation) const override - Returns the z-coordinate of the lowest point in this shape after a given rotation. - """ return _libBornAgainSample.FormFactorFullSphere_topZ(self, rotation) @@ -9541,8 +9571,6 @@ class FormFactorFullSphere(IBornFF): formfactor(FormFactorFullSphere self, C3 q) -> complex_t complex_t FormFactorFullSphere::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. - """ return _libBornAgainSample.FormFactorFullSphere_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorFullSphere @@ -9585,6 +9613,8 @@ class FormFactorFullSpheroid(IBornFF): clone(FormFactorFullSpheroid self) -> FormFactorFullSpheroid FormFactorFullSpheroid* FormFactorFullSpheroid::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorFullSpheroid_clone(self) @@ -9619,8 +9649,6 @@ class FormFactorFullSpheroid(IBornFF): formfactor(FormFactorFullSpheroid self, C3 q) -> complex_t complex_t FormFactorFullSpheroid::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. - """ return _libBornAgainSample.FormFactorFullSpheroid_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorFullSpheroid @@ -9664,6 +9692,8 @@ class FormFactorHemiEllipsoid(IBornFF): clone(FormFactorHemiEllipsoid self) -> FormFactorHemiEllipsoid FormFactorHemiEllipsoid* FormFactorHemiEllipsoid::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorHemiEllipsoid_clone(self) @@ -9706,8 +9736,6 @@ class FormFactorHemiEllipsoid(IBornFF): formfactor(FormFactorHemiEllipsoid self, C3 q) -> complex_t complex_t FormFactorHemiEllipsoid::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. - """ return _libBornAgainSample.FormFactorHemiEllipsoid_formfactor(self, q) @@ -9749,6 +9777,8 @@ class FormFactorHollowSphere(IBornFF): clone(FormFactorHollowSphere self) -> FormFactorHollowSphere FormFactorHollowSphere* FormFactorHollowSphere::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorHollowSphere_clone(self) @@ -9767,8 +9797,6 @@ class FormFactorHollowSphere(IBornFF): formfactor(FormFactorHollowSphere self, C3 q) -> complex_t complex_t FormFactorHollowSphere::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. - """ return _libBornAgainSample.FormFactorHollowSphere_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorHollowSphere @@ -9811,6 +9839,8 @@ class FormFactorIcosahedron(IFormFactorPolyhedron): clone(FormFactorIcosahedron self) -> FormFactorIcosahedron FormFactorIcosahedron* FormFactorIcosahedron::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorIcosahedron_clone(self) @@ -9861,6 +9891,8 @@ class FormFactorLongBoxGauss(IBornFF): clone(FormFactorLongBoxGauss self) -> FormFactorLongBoxGauss FormFactorLongBoxGauss* FormFactorLongBoxGauss::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorLongBoxGauss_clone(self) @@ -9903,8 +9935,6 @@ class FormFactorLongBoxGauss(IBornFF): formfactor(FormFactorLongBoxGauss self, C3 q) -> complex_t complex_t FormFactorLongBoxGauss::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. - """ return _libBornAgainSample.FormFactorLongBoxGauss_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorLongBoxGauss @@ -9947,6 +9977,8 @@ class FormFactorLongBoxLorentz(IBornFF): clone(FormFactorLongBoxLorentz self) -> FormFactorLongBoxLorentz FormFactorLongBoxLorentz* FormFactorLongBoxLorentz::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorLongBoxLorentz_clone(self) @@ -9989,8 +10021,6 @@ class FormFactorLongBoxLorentz(IBornFF): formfactor(FormFactorLongBoxLorentz self, C3 q) -> complex_t complex_t FormFactorLongBoxLorentz::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. - """ return _libBornAgainSample.FormFactorLongBoxLorentz_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorLongBoxLorentz @@ -10033,6 +10063,8 @@ class FormFactorPrism3(IFormFactorPrism): clone(FormFactorPrism3 self) -> FormFactorPrism3 FormFactorPrism3* FormFactorPrism3::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorPrism3_clone(self) @@ -10083,6 +10115,8 @@ class FormFactorPrism6(IFormFactorPrism): clone(FormFactorPrism6 self) -> FormFactorPrism6 FormFactorPrism6* FormFactorPrism6::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorPrism6_clone(self) @@ -10133,6 +10167,8 @@ class FormFactorPyramid(IFormFactorPolyhedron): clone(FormFactorPyramid self) -> FormFactorPyramid FormFactorPyramid* FormFactorPyramid::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorPyramid_clone(self) @@ -10199,6 +10235,8 @@ class FormFactorSawtoothRippleBox(ISawtoothRipple): clone(FormFactorSawtoothRippleBox self) -> FormFactorSawtoothRippleBox FormFactorSawtoothRippleBox * FormFactorSawtoothRippleBox::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorSawtoothRippleBox_clone(self) __swig_destroy__ = _libBornAgainSample.delete_FormFactorSawtoothRippleBox @@ -10241,6 +10279,8 @@ class FormFactorSawtoothRippleGauss(ISawtoothRipple): clone(FormFactorSawtoothRippleGauss self) -> FormFactorSawtoothRippleGauss FormFactorSawtoothRippleGauss * FormFactorSawtoothRippleGauss::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorSawtoothRippleGauss_clone(self) __swig_destroy__ = _libBornAgainSample.delete_FormFactorSawtoothRippleGauss @@ -10283,6 +10323,8 @@ class FormFactorSawtoothRippleLorentz(ISawtoothRipple): clone(FormFactorSawtoothRippleLorentz self) -> FormFactorSawtoothRippleLorentz FormFactorSawtoothRippleLorentz * FormFactorSawtoothRippleLorentz::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorSawtoothRippleLorentz_clone(self) __swig_destroy__ = _libBornAgainSample.delete_FormFactorSawtoothRippleLorentz @@ -10325,6 +10367,8 @@ class FormFactorTetrahedron(IFormFactorPolyhedron): clone(FormFactorTetrahedron self) -> FormFactorTetrahedron FormFactorTetrahedron* FormFactorTetrahedron::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorTetrahedron_clone(self) @@ -10391,6 +10435,8 @@ class FormFactorTruncatedCube(IFormFactorPolyhedron): clone(FormFactorTruncatedCube self) -> FormFactorTruncatedCube FormFactorTruncatedCube* FormFactorTruncatedCube::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorTruncatedCube_clone(self) @@ -10449,6 +10495,8 @@ class FormFactorTruncatedSphere(IBornFF): clone(FormFactorTruncatedSphere self) -> FormFactorTruncatedSphere FormFactorTruncatedSphere* FormFactorTruncatedSphere::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorTruncatedSphere_clone(self) @@ -10535,6 +10583,8 @@ class FormFactorTruncatedSpheroid(IBornFF): clone(FormFactorTruncatedSpheroid self) -> FormFactorTruncatedSpheroid FormFactorTruncatedSpheroid* FormFactorTruncatedSpheroid::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorTruncatedSpheroid_clone(self) @@ -10585,8 +10635,6 @@ class FormFactorTruncatedSpheroid(IBornFF): formfactor(FormFactorTruncatedSpheroid self, C3 q) -> complex_t complex_t FormFactorTruncatedSpheroid::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. - """ return _libBornAgainSample.FormFactorTruncatedSpheroid_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorTruncatedSpheroid @@ -10629,6 +10677,8 @@ class FormFactorGaussSphere(IBornFF): clone(FormFactorGaussSphere self) -> FormFactorGaussSphere FormFactorGaussSphere* FormFactorGaussSphere::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorGaussSphere_clone(self) @@ -10655,8 +10705,6 @@ class FormFactorGaussSphere(IBornFF): formfactor(FormFactorGaussSphere self, C3 q) -> complex_t complex_t FormFactorGaussSphere::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. - """ return _libBornAgainSample.FormFactorGaussSphere_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorGaussSphere @@ -10699,6 +10747,8 @@ class FormFactorSphereGaussianRadius(IBornFF): clone(FormFactorSphereGaussianRadius self) -> FormFactorSphereGaussianRadius FormFactorSphereGaussianRadius* FormFactorSphereGaussianRadius::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorSphereGaussianRadius_clone(self) @@ -10717,8 +10767,6 @@ class FormFactorSphereGaussianRadius(IBornFF): formfactor(FormFactorSphereGaussianRadius self, C3 q) -> complex_t complex_t FormFactorSphereGaussianRadius::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. - """ return _libBornAgainSample.FormFactorSphereGaussianRadius_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorSphereGaussianRadius @@ -10761,6 +10809,8 @@ class FormFactorSphereLogNormalRadius(IBornFF): clone(FormFactorSphereLogNormalRadius self) -> FormFactorSphereLogNormalRadius FormFactorSphereLogNormalRadius * FormFactorSphereLogNormalRadius::clone() const override + Returns a clone of this ISampleNode object. + """ return _libBornAgainSample.FormFactorSphereLogNormalRadius_clone(self) @@ -10779,8 +10829,6 @@ class FormFactorSphereLogNormalRadius(IBornFF): formfactor(FormFactorSphereLogNormalRadius self, C3 q) -> complex_t complex_t FormFactorSphereLogNormalRadius::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. - """ return _libBornAgainSample.FormFactorSphereLogNormalRadius_formfactor(self, q) __swig_destroy__ = _libBornAgainSample.delete_FormFactorSphereLogNormalRadius diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp index e8fca0d064b686058e1bf9203071c04c4116bf3b..2e6a28b7fb85fa84eea6d06643675c8139abf2fc 100644 --- a/auto/Wrap/libBornAgainSample_wrap.cpp +++ b/auto/Wrap/libBornAgainSample_wrap.cpp @@ -8612,27 +8612,38 @@ std::vector< INode const *, std::allocator< INode const * > > SwigDirector_IBorn } -void SwigDirector_IBornFF::setAmbientMaterial(Material const &arg0) { - swig::SwigVar_PyObject obj0; - obj0 = SWIG_NewPointerObj(SWIG_as_voidptr(&arg0), SWIGTYPE_p_Material, 0 ); +Material const *SwigDirector_IBornFF::material() const { + Material *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 IBornFF.__init__."); } #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) const size_t swig_method_index = 4; - const char *const swig_method_name = "setAmbientMaterial"; + const char *const swig_method_name = "material"; PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); + 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("setAmbientMaterial"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL); + swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("material"); + 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 'IBornFF.setAmbientMaterial'"); + Swig::DirectorMethodException::raise("Error detected when calling 'IBornFF.material'"); } } + swig_res = SWIG_ConvertPtrAndOwn(result, &swig_argp, SWIGTYPE_p_Material, 0 | SWIG_POINTER_DISOWN, &own); + if (!SWIG_IsOK(swig_res)) { + Swig::DirectorTypeMismatchException::raise(SWIG_ErrorType(SWIG_ArgError(swig_res)), "in output value of type '""Material const *""'"); + } + c_result = reinterpret_cast< Material * >(swig_argp); + swig_acquire_ownership_obj(SWIG_as_voidptr(c_result), own /* & TODO: SWIG_POINTER_OWN */); + return (Material const *) c_result; } @@ -8668,26 +8679,27 @@ complex_t SwigDirector_IBornFF::theFF(WavevectorInfo const &wavevectors) const { } -double SwigDirector_IBornFF::radialExtension() const { +double SwigDirector_IBornFF::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 IBornFF.__init__."); } #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) const size_t swig_method_index = 6; - const char *const swig_method_name = "radialExtension"; + const char *const swig_method_name = "bottomZ"; 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); + swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, 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); + 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 'IBornFF.radialExtension'"); + Swig::DirectorMethodException::raise("Error detected when calling 'IBornFF.bottomZ'"); } } double swig_val; @@ -8700,7 +8712,7 @@ double SwigDirector_IBornFF::radialExtension() const { } -double SwigDirector_IBornFF::bottomZ(IRotation const *rotation) const { +double SwigDirector_IBornFF::topZ(IRotation const *rotation) const { double c_result = SwigValueInit< double >() ; swig::SwigVar_PyObject obj0; @@ -8710,17 +8722,17 @@ double SwigDirector_IBornFF::bottomZ(IRotation const *rotation) const { } #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) const size_t swig_method_index = 7; - const char *const swig_method_name = "bottomZ"; + 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("bottomZ"); + 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 'IBornFF.bottomZ'"); + Swig::DirectorMethodException::raise("Error detected when calling 'IBornFF.topZ'"); } } double swig_val; @@ -8733,27 +8745,58 @@ double SwigDirector_IBornFF::bottomZ(IRotation const *rotation) const { } -double SwigDirector_IBornFF::topZ(IRotation const *rotation) const { +double SwigDirector_IBornFF::volume() 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 IBornFF.__init__."); } #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) const size_t swig_method_index = 8; - const char *const swig_method_name = "topZ"; + const char *const swig_method_name = "volume"; PyObject *method = swig_get_method(swig_method_index, swig_method_name); - swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); + 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("topZ"); - swig::SwigVar_PyObject result = PyObject_CallMethodObjArgs(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0, NULL); + swig::SwigVar_PyObject swig_method_name = SWIG_Python_str_FromChar("volume"); + 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 'IBornFF.topZ'"); + Swig::DirectorMethodException::raise("Error detected when calling 'IBornFF.volume'"); + } + } + 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_IBornFF::radialExtension() const { + double c_result = SwigValueInit< double >() ; + + if (!swig_get_self()) { + Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IBornFF.__init__."); + } +#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) + const size_t swig_method_index = 9; + 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 'IBornFF.radialExtension'"); } } double swig_val; @@ -8774,7 +8817,7 @@ complex_t SwigDirector_IBornFF::formfactor(C3 q) const { Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IBornFF.__init__."); } #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 9; + const size_t swig_method_index = 10; 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); @@ -8798,6 +8841,38 @@ complex_t SwigDirector_IBornFF::formfactor(C3 q) const { } +std::string SwigDirector_IBornFF::pythonConstructor() const { + std::string c_result; + if (!swig_get_self()) { + Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IBornFF.__init__."); + } +#if defined(SWIG_PYTHON_DIRECTOR_VTABLE) + const size_t swig_method_index = 11; + const char *const swig_method_name = "pythonConstructor"; + 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("pythonConstructor"); + 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 'IBornFF.pythonConstructor'"); + } + } + 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; +} + + bool SwigDirector_IBornFF::canSliceAnalytically(IRotation const *rot) const { bool c_result = SwigValueInit< bool >() ; @@ -8808,7 +8883,7 @@ bool SwigDirector_IBornFF::canSliceAnalytically(IRotation const *rot) const { Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IBornFF.__init__."); } #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 10; + const size_t swig_method_index = 12; const char *const swig_method_name = "canSliceAnalytically"; PyObject *method = swig_get_method(swig_method_index, swig_method_name); swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0, NULL); @@ -8850,7 +8925,7 @@ DecoratedFF *SwigDirector_IBornFF::sliceFormFactor(ZLimits limits, IRotation con Swig::DirectorException::raise("'self' uninitialized, maybe you forgot to call IBornFF.__init__."); } #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) - const size_t swig_method_index = 11; + const size_t swig_method_index = 13; const char *const swig_method_name = "sliceFormFactor"; PyObject *method = swig_get_method(swig_method_index, swig_method_name); swig::SwigVar_PyObject result = PyObject_CallFunctionObjArgs(method ,(PyObject *)obj0,(PyObject *)obj1,(PyObject *)obj2, NULL); @@ -39970,29 +40045,6 @@ fail: } -SWIGINTERN PyObject *_wrap_IFormFactor_shapeName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFormFactor *arg1 = (IFormFactor *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject *swig_obj[1] ; - std::string result; - - if (!args) SWIG_fail; - swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IFormFactor, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFormFactor_shapeName" "', argument " "1"" of type '" "IFormFactor const *""'"); - } - arg1 = reinterpret_cast< IFormFactor * >(argp1); - result = ((IFormFactor const *)arg1)->shapeName(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_IFormFactor_setAmbientMaterial(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IFormFactor *arg1 = (IFormFactor *) 0 ; @@ -40924,6 +40976,29 @@ fail: } +SWIGINTERN PyObject *_wrap_IBornFF_shapeName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IBornFF *arg1 = (IBornFF *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + std::string result; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IBornFF, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IBornFF_shapeName" "', argument " "1"" of type '" "IBornFF const *""'"); + } + arg1 = reinterpret_cast< IBornFF * >(argp1); + result = ((IBornFF const *)arg1)->shapeName(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_IBornFF_bottomZ(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IBornFF *arg1 = (IBornFF *) 0 ; @@ -41008,6 +41083,126 @@ fail: } +SWIGINTERN PyObject *_wrap_IBornFF_volume(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IBornFF *arg1 = (IBornFF *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + Swig::Director *director = 0; + bool upcall = false; + double result; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IBornFF, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IBornFF_volume" "', argument " "1"" of type '" "IBornFF const *""'"); + } + arg1 = reinterpret_cast< IBornFF * >(argp1); + director = SWIG_DIRECTOR_CAST(arg1); + upcall = (director && (director->swig_get_self()==swig_obj[0])); + try { + if (upcall) { + result = (double)((IBornFF const *)arg1)->IBornFF::volume(); + } else { + result = (double)((IBornFF const *)arg1)->volume(); + } + } catch (Swig::DirectorException&) { + SWIG_fail; + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IBornFF_radialExtension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IBornFF *arg1 = (IBornFF *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + Swig::Director *director = 0; + bool upcall = false; + double result; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IBornFF, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IBornFF_radialExtension" "', argument " "1"" of type '" "IBornFF const *""'"); + } + arg1 = reinterpret_cast< IBornFF * >(argp1); + director = SWIG_DIRECTOR_CAST(arg1); + upcall = (director && (director->swig_get_self()==swig_obj[0])); + try { + if (upcall) { + Swig::DirectorPureVirtualException::raise("IBornFF::radialExtension"); + } else { + result = (double)((IBornFF const *)arg1)->radialExtension(); + } + } catch (Swig::DirectorException&) { + SWIG_fail; + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IBornFF_formfactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IBornFF *arg1 = (IBornFF *) 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, "IBornFF_formfactor", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IBornFF, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IBornFF_formfactor" "', argument " "1"" of type '" "IBornFF const *""'"); + } + arg1 = reinterpret_cast< IBornFF * >(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 '" "IBornFF_formfactor" "', argument " "2"" of type '" "C3""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IBornFF_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("IBornFF::formfactor"); + } else { + result = ((IBornFF 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_IBornFF_createSlicedFormFactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IBornFF *arg1 = (IBornFF *) 0 ; @@ -41070,6 +41265,41 @@ fail: } +SWIGINTERN PyObject *_wrap_IBornFF_pythonConstructor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IBornFF *arg1 = (IBornFF *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + Swig::Director *director = 0; + bool upcall = false; + std::string result; + + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IBornFF, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IBornFF_pythonConstructor" "', argument " "1"" of type '" "IBornFF const *""'"); + } + arg1 = reinterpret_cast< IBornFF * >(argp1); + director = SWIG_DIRECTOR_CAST(arg1); + upcall = (director && (director->swig_get_self()==swig_obj[0])); + try { + if (upcall) { + result = ((IBornFF const *)arg1)->IBornFF::pythonConstructor(); + } else { + result = ((IBornFF const *)arg1)->pythonConstructor(); + } + } catch (Swig::DirectorException&) { + SWIG_fail; + } + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_IBornFF_canSliceAnalytically(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IBornFF *arg1 = (IBornFF *) 0 ; @@ -41606,7 +41836,7 @@ SWIGINTERN PyObject *_wrap_DecoratedFF_getFormFactor(PyObject *SWIGUNUSEDPARM(se int res1 = 0 ; PyObject *swig_obj[1] ; Swig::Director *director = 0; - IDecoratableBorn *result = 0 ; + IBornFF *result = 0 ; if (!args) SWIG_fail; swig_obj[0] = args; @@ -41615,13 +41845,13 @@ SWIGINTERN PyObject *_wrap_DecoratedFF_getFormFactor(PyObject *SWIGUNUSEDPARM(se SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DecoratedFF_getFormFactor" "', argument " "1"" of type '" "DecoratedFF const *""'"); } arg1 = reinterpret_cast< DecoratedFF * >(argp1); - result = (IDecoratableBorn *)((DecoratedFF const *)arg1)->getFormFactor(); + result = (IBornFF *)((DecoratedFF const *)arg1)->getFormFactor(); 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 ); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IBornFF, 0 | 0 ); } return resultobj; fail: @@ -69404,11 +69634,6 @@ static PyMethodDef SwigMethods[] = { "IFormFactor* IFormFactor::clone() const override=0\n" "\n" ""}, - { "IFormFactor_shapeName", _wrap_IFormFactor_shapeName, METH_O, "\n" - "IFormFactor_shapeName(IFormFactor self) -> std::string\n" - "std::string IFormFactor::shapeName() const\n" - "\n" - ""}, { "IFormFactor_setAmbientMaterial", _wrap_IFormFactor_setAmbientMaterial, METH_VARARGS, "\n" "IFormFactor_setAmbientMaterial(IFormFactor self, Material arg0)\n" "virtual void IFormFactor::setAmbientMaterial(const Material &)\n" @@ -69506,26 +69731,44 @@ static PyMethodDef SwigMethods[] = { "IBornFF_clone(IBornFF self) -> IBornFF\n" "IBornFF* IBornFF::clone() const override=0\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "IBornFF_theFF", _wrap_IBornFF_theFF, METH_VARARGS, "\n" "IBornFF_theFF(IBornFF self, WavevectorInfo const & wavevectors) -> complex_t\n" - "complex_t IBornFF::theFF(const WavevectorInfo &wavevectors) const override\n" + "complex_t IBornFF::theFF(const WavevectorInfo &wavevectors) const\n" "\n" - "Returns scattering amplitude for complex wavevectors ki, kf. \n" + ""}, + { "IBornFF_shapeName", _wrap_IBornFF_shapeName, METH_O, "\n" + "IBornFF_shapeName(IBornFF self) -> std::string\n" + "std::string IBornFF::shapeName() const\n" "\n" ""}, { "IBornFF_bottomZ", _wrap_IBornFF_bottomZ, METH_VARARGS, "\n" "IBornFF_bottomZ(IBornFF self, IRotation rotation) -> double\n" - "double IBornFF::bottomZ(const IRotation *rotation) const override\n" - "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" + "double IBornFF::bottomZ(const IRotation *rotation) const\n" "\n" ""}, { "IBornFF_topZ", _wrap_IBornFF_topZ, METH_VARARGS, "\n" "IBornFF_topZ(IBornFF self, IRotation rotation) -> double\n" - "double IBornFF::topZ(const IRotation *rotation) const override\n" + "double IBornFF::topZ(const IRotation *rotation) const\n" "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" + ""}, + { "IBornFF_volume", _wrap_IBornFF_volume, METH_O, "\n" + "IBornFF_volume(IBornFF self) -> double\n" + "double IBornFF::volume() const\n" + "\n" + ""}, + { "IBornFF_radialExtension", _wrap_IBornFF_radialExtension, METH_O, "\n" + "IBornFF_radialExtension(IBornFF self) -> double\n" + "virtual double IBornFF::radialExtension() const =0\n" + "\n" + "Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations \n" + "\n" + ""}, + { "IBornFF_formfactor", _wrap_IBornFF_formfactor, METH_VARARGS, "\n" + "IBornFF_formfactor(IBornFF self, C3 q) -> complex_t\n" + "virtual complex_t IBornFF::formfactor(C3 q) const =0\n" "\n" ""}, { "IBornFF_createSlicedFormFactor", _wrap_IBornFF_createSlicedFormFactor, METH_VARARGS, "\n" @@ -69533,6 +69776,13 @@ static PyMethodDef SwigMethods[] = { "DecoratedFF * IBornFF::createSlicedFormFactor(ZLimits limits, const IRotation *rot, R3 translation) const\n" "\n" ""}, + { "IBornFF_pythonConstructor", _wrap_IBornFF_pythonConstructor, METH_O, "\n" + "IBornFF_pythonConstructor(IBornFF self) -> std::string\n" + "std::string IBornFF::pythonConstructor() const\n" + "\n" + "Creates the Python constructor of this class (or derived classes) \n" + "\n" + ""}, { "IBornFF_canSliceAnalytically", _wrap_IBornFF_canSliceAnalytically, METH_VARARGS, "IBornFF_canSliceAnalytically(IBornFF self, IRotation rot) -> bool"}, { "IBornFF_sliceFormFactor", _wrap_IBornFF_sliceFormFactor, METH_VARARGS, "IBornFF_sliceFormFactor(IBornFF self, ZLimits limits, IRotation rot, R3 translation) -> DecoratedFF"}, { "disown_IBornFF", _wrap_disown_IBornFF, METH_O, NULL}, @@ -69618,8 +69868,8 @@ static PyMethodDef SwigMethods[] = { "\n" ""}, { "DecoratedFF_getFormFactor", _wrap_DecoratedFF_getFormFactor, METH_O, "\n" - "DecoratedFF_getFormFactor(DecoratedFF self) -> IDecoratableBorn\n" - "const IDecoratableBorn * DecoratedFF::getFormFactor() const\n" + "DecoratedFF_getFormFactor(DecoratedFF self) -> IBornFF\n" + "const IBornFF * DecoratedFF::getFormFactor() const\n" "\n" ""}, { "DecoratedFF_formfactor", _wrap_DecoratedFF_formfactor, METH_VARARGS, "\n" @@ -72387,29 +72637,21 @@ static PyMethodDef SwigMethods[] = { "IFormFactorPolyhedron_bottomZ(IFormFactorPolyhedron self, IRotation rotation) -> double\n" "double IFormFactorPolyhedron::bottomZ(const IRotation *rotation) const override\n" "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" - "\n" ""}, { "IFormFactorPolyhedron_topZ", _wrap_IFormFactorPolyhedron_topZ, METH_VARARGS, "\n" "IFormFactorPolyhedron_topZ(IFormFactorPolyhedron self, IRotation rotation) -> double\n" "double IFormFactorPolyhedron::topZ(const IRotation *rotation) const override\n" "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" - "\n" ""}, { "IFormFactorPolyhedron_formfactor", _wrap_IFormFactorPolyhedron_formfactor, METH_VARARGS, "\n" "IFormFactorPolyhedron_formfactor(IFormFactorPolyhedron self, C3 q) -> complex_t\n" "complex_t IFormFactorPolyhedron::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" - "\n" ""}, { "IFormFactorPolyhedron_volume", _wrap_IFormFactorPolyhedron_volume, METH_O, "\n" "IFormFactorPolyhedron_volume(IFormFactorPolyhedron self) -> double\n" "double IFormFactorPolyhedron::volume() const override\n" "\n" - "Returns the total volume of the particle of this form factor's shape. \n" - "\n" ""}, { "IFormFactorPolyhedron_radialExtension", _wrap_IFormFactorPolyhedron_radialExtension, METH_O, "\n" "IFormFactorPolyhedron_radialExtension(IFormFactorPolyhedron self) -> double\n" @@ -72435,15 +72677,11 @@ static PyMethodDef SwigMethods[] = { "IFormFactorPrism_bottomZ(IFormFactorPrism self, IRotation rotation) -> double\n" "double IFormFactorPrism::bottomZ(const IRotation *rotation) const override\n" "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" - "\n" ""}, { "IFormFactorPrism_topZ", _wrap_IFormFactorPrism_topZ, METH_VARARGS, "\n" "IFormFactorPrism_topZ(IFormFactorPrism self, IRotation rotation) -> double\n" "double IFormFactorPrism::topZ(const IRotation *rotation) const override\n" "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" - "\n" ""}, { "IFormFactorPrism_formfactor", _wrap_IFormFactorPrism_formfactor, METH_VARARGS, "\n" "IFormFactorPrism_formfactor(IFormFactorPrism self, C3 q) -> complex_t\n" @@ -72498,8 +72736,6 @@ static PyMethodDef SwigMethods[] = { "IProfileRipple_formfactor(IProfileRipple self, C3 q) -> complex_t\n" "complex_t IProfileRipple::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" - "\n" ""}, { "delete_IProfileRipple", _wrap_delete_IProfileRipple, METH_O, "delete_IProfileRipple(IProfileRipple self)"}, { "IProfileRipple_swigregister", IProfileRipple_swigregister, METH_O, NULL}, @@ -72529,6 +72765,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorAnisoPyramid_clone(FormFactorAnisoPyramid self) -> FormFactorAnisoPyramid\n" "FormFactorAnisoPyramid* FormFactorAnisoPyramid::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorAnisoPyramid_getLength", _wrap_FormFactorAnisoPyramid_getLength, METH_O, "\n" "FormFactorAnisoPyramid_getLength(FormFactorAnisoPyramid self) -> double\n" @@ -72568,6 +72806,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorBox_clone(FormFactorBox self) -> FormFactorBox\n" "FormFactorBox* FormFactorBox::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorBox_getLength", _wrap_FormFactorBox_getLength, METH_O, "\n" "FormFactorBox_getLength(FormFactorBox self) -> double\n" @@ -72583,8 +72823,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorBox_volume(FormFactorBox self) -> double\n" "double FormFactorBox::volume() const override\n" "\n" - "Returns the total volume of the particle of this form factor's shape. \n" - "\n" ""}, { "FormFactorBox_radialExtension", _wrap_FormFactorBox_radialExtension, METH_O, "\n" "FormFactorBox_radialExtension(FormFactorBox self) -> double\n" @@ -72597,8 +72835,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorBox_formfactor(FormFactorBox self, C3 q) -> complex_t\n" "complex_t FormFactorBox::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" - "\n" ""}, { "delete_FormFactorBox", _wrap_delete_FormFactorBox, METH_O, "delete_FormFactorBox(FormFactorBox self)"}, { "FormFactorBox_swigregister", FormFactorBox_swigregister, METH_O, NULL}, @@ -72618,6 +72854,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCantellatedCube_clone(FormFactorCantellatedCube self) -> FormFactorCantellatedCube\n" "FormFactorCantellatedCube* FormFactorCantellatedCube::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorCantellatedCube_getLength", _wrap_FormFactorCantellatedCube_getLength, METH_O, "\n" "FormFactorCantellatedCube_getLength(FormFactorCantellatedCube self) -> double\n" @@ -72647,6 +72885,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCone_clone(FormFactorCone self) -> FormFactorCone\n" "FormFactorCone* FormFactorCone::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorCone_getHeight", _wrap_FormFactorCone_getHeight, METH_O, "\n" "FormFactorCone_getHeight(FormFactorCone self) -> double\n" @@ -72674,8 +72914,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorCone_formfactor(FormFactorCone self, C3 q) -> complex_t\n" "complex_t FormFactorCone::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" - "\n" ""}, { "delete_FormFactorCone", _wrap_delete_FormFactorCone, METH_O, "delete_FormFactorCone(FormFactorCone self)"}, { "FormFactorCone_swigregister", FormFactorCone_swigregister, METH_O, NULL}, @@ -72695,6 +72933,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCone6_clone(FormFactorCone6 self) -> FormFactorCone6\n" "FormFactorCone6* FormFactorCone6::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorCone6_getBaseEdge", _wrap_FormFactorCone6_getBaseEdge, METH_O, "\n" "FormFactorCone6_getBaseEdge(FormFactorCone6 self) -> double\n" @@ -72729,6 +72969,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCosineRippleBox_clone(FormFactorCosineRippleBox self) -> FormFactorCosineRippleBox\n" "FormFactorCosineRippleBox * FormFactorCosineRippleBox::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "delete_FormFactorCosineRippleBox", _wrap_delete_FormFactorCosineRippleBox, METH_O, "delete_FormFactorCosineRippleBox(FormFactorCosineRippleBox self)"}, { "FormFactorCosineRippleBox_swigregister", FormFactorCosineRippleBox_swigregister, METH_O, NULL}, @@ -72748,6 +72990,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCosineRippleGauss_clone(FormFactorCosineRippleGauss self) -> FormFactorCosineRippleGauss\n" "FormFactorCosineRippleGauss * FormFactorCosineRippleGauss::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "delete_FormFactorCosineRippleGauss", _wrap_delete_FormFactorCosineRippleGauss, METH_O, "delete_FormFactorCosineRippleGauss(FormFactorCosineRippleGauss self)"}, { "FormFactorCosineRippleGauss_swigregister", FormFactorCosineRippleGauss_swigregister, METH_O, NULL}, @@ -72767,6 +73011,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCosineRippleLorentz_clone(FormFactorCosineRippleLorentz self) -> FormFactorCosineRippleLorentz\n" "FormFactorCosineRippleLorentz * FormFactorCosineRippleLorentz::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "delete_FormFactorCosineRippleLorentz", _wrap_delete_FormFactorCosineRippleLorentz, METH_O, "delete_FormFactorCosineRippleLorentz(FormFactorCosineRippleLorentz self)"}, { "FormFactorCosineRippleLorentz_swigregister", FormFactorCosineRippleLorentz_swigregister, METH_O, NULL}, @@ -72786,6 +73032,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCuboctahedron_clone(FormFactorCuboctahedron self) -> FormFactorCuboctahedron\n" "FormFactorCuboctahedron* FormFactorCuboctahedron::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorCuboctahedron_getLength", _wrap_FormFactorCuboctahedron_getLength, METH_O, "\n" "FormFactorCuboctahedron_getLength(FormFactorCuboctahedron self) -> double\n" @@ -72825,6 +73073,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorCylinder_clone(FormFactorCylinder self) -> FormFactorCylinder\n" "FormFactorCylinder* FormFactorCylinder::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorCylinder_getHeight", _wrap_FormFactorCylinder_getHeight, METH_O, "\n" "FormFactorCylinder_getHeight(FormFactorCylinder self) -> double\n" @@ -72847,8 +73097,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorCylinder_formfactor(FormFactorCylinder self, C3 q) -> complex_t\n" "complex_t FormFactorCylinder::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" - "\n" ""}, { "delete_FormFactorCylinder", _wrap_delete_FormFactorCylinder, METH_O, "delete_FormFactorCylinder(FormFactorCylinder self)"}, { "FormFactorCylinder_swigregister", FormFactorCylinder_swigregister, METH_O, NULL}, @@ -72868,6 +73116,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorDodecahedron_clone(FormFactorDodecahedron self) -> FormFactorDodecahedron\n" "FormFactorDodecahedron* FormFactorDodecahedron::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorDodecahedron_getEdge", _wrap_FormFactorDodecahedron_getEdge, METH_O, "\n" "FormFactorDodecahedron_getEdge(FormFactorDodecahedron self) -> double\n" @@ -72892,6 +73142,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorEllipsoidalCylinder_clone(FormFactorEllipsoidalCylinder self) -> FormFactorEllipsoidalCylinder\n" "FormFactorEllipsoidalCylinder* FormFactorEllipsoidalCylinder::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorEllipsoidalCylinder_getRadiusX", _wrap_FormFactorEllipsoidalCylinder_getRadiusX, METH_O, "\n" "FormFactorEllipsoidalCylinder_getRadiusX(FormFactorEllipsoidalCylinder self) -> double\n" @@ -72919,8 +73171,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorEllipsoidalCylinder_formfactor(FormFactorEllipsoidalCylinder self, C3 q) -> complex_t\n" "complex_t FormFactorEllipsoidalCylinder::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" - "\n" ""}, { "delete_FormFactorEllipsoidalCylinder", _wrap_delete_FormFactorEllipsoidalCylinder, METH_O, "delete_FormFactorEllipsoidalCylinder(FormFactorEllipsoidalCylinder self)"}, { "FormFactorEllipsoidalCylinder_swigregister", FormFactorEllipsoidalCylinder_swigregister, METH_O, NULL}, @@ -72940,6 +73190,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorFullSphere_clone(FormFactorFullSphere self) -> FormFactorFullSphere\n" "FormFactorFullSphere* FormFactorFullSphere::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorFullSphere_getRadius", _wrap_FormFactorFullSphere_getRadius, METH_O, "\n" "FormFactorFullSphere_getRadius(FormFactorFullSphere self) -> double\n" @@ -72957,22 +73209,16 @@ static PyMethodDef SwigMethods[] = { "FormFactorFullSphere_bottomZ(FormFactorFullSphere self, IRotation rotation) -> double\n" "double FormFactorFullSphere::bottomZ(const IRotation *rotation) const override\n" "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" - "\n" ""}, { "FormFactorFullSphere_topZ", _wrap_FormFactorFullSphere_topZ, METH_VARARGS, "\n" "FormFactorFullSphere_topZ(FormFactorFullSphere self, IRotation rotation) -> double\n" "double FormFactorFullSphere::topZ(const IRotation *rotation) const override\n" "\n" - "Returns the z-coordinate of the lowest point in this shape after a given rotation. \n" - "\n" ""}, { "FormFactorFullSphere_formfactor", _wrap_FormFactorFullSphere_formfactor, METH_VARARGS, "\n" "FormFactorFullSphere_formfactor(FormFactorFullSphere self, C3 q) -> complex_t\n" "complex_t FormFactorFullSphere::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" - "\n" ""}, { "delete_FormFactorFullSphere", _wrap_delete_FormFactorFullSphere, METH_O, "delete_FormFactorFullSphere(FormFactorFullSphere self)"}, { "FormFactorFullSphere_swigregister", FormFactorFullSphere_swigregister, METH_O, NULL}, @@ -72992,6 +73238,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorFullSpheroid_clone(FormFactorFullSpheroid self) -> FormFactorFullSpheroid\n" "FormFactorFullSpheroid* FormFactorFullSpheroid::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorFullSpheroid_getHeight", _wrap_FormFactorFullSpheroid_getHeight, METH_O, "\n" "FormFactorFullSpheroid_getHeight(FormFactorFullSpheroid self) -> double\n" @@ -73014,8 +73262,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorFullSpheroid_formfactor(FormFactorFullSpheroid self, C3 q) -> complex_t\n" "complex_t FormFactorFullSpheroid::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" - "\n" ""}, { "delete_FormFactorFullSpheroid", _wrap_delete_FormFactorFullSpheroid, METH_O, "delete_FormFactorFullSpheroid(FormFactorFullSpheroid self)"}, { "FormFactorFullSpheroid_swigregister", FormFactorFullSpheroid_swigregister, METH_O, NULL}, @@ -73040,6 +73286,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorHemiEllipsoid_clone(FormFactorHemiEllipsoid self) -> FormFactorHemiEllipsoid\n" "FormFactorHemiEllipsoid* FormFactorHemiEllipsoid::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorHemiEllipsoid_getHeight", _wrap_FormFactorHemiEllipsoid_getHeight, METH_O, "\n" "FormFactorHemiEllipsoid_getHeight(FormFactorHemiEllipsoid self) -> double\n" @@ -73067,8 +73315,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorHemiEllipsoid_formfactor(FormFactorHemiEllipsoid self, C3 q) -> complex_t\n" "complex_t FormFactorHemiEllipsoid::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" - "\n" ""}, { "FormFactorHemiEllipsoid_swigregister", FormFactorHemiEllipsoid_swigregister, METH_O, NULL}, { "FormFactorHemiEllipsoid_swiginit", FormFactorHemiEllipsoid_swiginit, METH_VARARGS, NULL}, @@ -73087,6 +73333,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorHollowSphere_clone(FormFactorHollowSphere self) -> FormFactorHollowSphere\n" "FormFactorHollowSphere* FormFactorHollowSphere::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorHollowSphere_radialExtension", _wrap_FormFactorHollowSphere_radialExtension, METH_O, "\n" "FormFactorHollowSphere_radialExtension(FormFactorHollowSphere self) -> double\n" @@ -73099,8 +73347,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorHollowSphere_formfactor(FormFactorHollowSphere self, C3 q) -> complex_t\n" "complex_t FormFactorHollowSphere::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" - "\n" ""}, { "delete_FormFactorHollowSphere", _wrap_delete_FormFactorHollowSphere, METH_O, "delete_FormFactorHollowSphere(FormFactorHollowSphere self)"}, { "FormFactorHollowSphere_swigregister", FormFactorHollowSphere_swigregister, METH_O, NULL}, @@ -73120,6 +73366,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorIcosahedron_clone(FormFactorIcosahedron self) -> FormFactorIcosahedron\n" "FormFactorIcosahedron* FormFactorIcosahedron::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorIcosahedron_getEdge", _wrap_FormFactorIcosahedron_getEdge, METH_O, "\n" "FormFactorIcosahedron_getEdge(FormFactorIcosahedron self) -> double\n" @@ -73144,6 +73392,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorLongBoxGauss_clone(FormFactorLongBoxGauss self) -> FormFactorLongBoxGauss\n" "FormFactorLongBoxGauss* FormFactorLongBoxGauss::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorLongBoxGauss_getLength", _wrap_FormFactorLongBoxGauss_getLength, METH_O, "\n" "FormFactorLongBoxGauss_getLength(FormFactorLongBoxGauss self) -> double\n" @@ -73171,8 +73421,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorLongBoxGauss_formfactor(FormFactorLongBoxGauss self, C3 q) -> complex_t\n" "complex_t FormFactorLongBoxGauss::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" - "\n" ""}, { "delete_FormFactorLongBoxGauss", _wrap_delete_FormFactorLongBoxGauss, METH_O, "delete_FormFactorLongBoxGauss(FormFactorLongBoxGauss self)"}, { "FormFactorLongBoxGauss_swigregister", FormFactorLongBoxGauss_swigregister, METH_O, NULL}, @@ -73192,6 +73440,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorLongBoxLorentz_clone(FormFactorLongBoxLorentz self) -> FormFactorLongBoxLorentz\n" "FormFactorLongBoxLorentz* FormFactorLongBoxLorentz::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorLongBoxLorentz_getLength", _wrap_FormFactorLongBoxLorentz_getLength, METH_O, "\n" "FormFactorLongBoxLorentz_getLength(FormFactorLongBoxLorentz self) -> double\n" @@ -73219,8 +73469,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorLongBoxLorentz_formfactor(FormFactorLongBoxLorentz self, C3 q) -> complex_t\n" "complex_t FormFactorLongBoxLorentz::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" - "\n" ""}, { "delete_FormFactorLongBoxLorentz", _wrap_delete_FormFactorLongBoxLorentz, METH_O, "delete_FormFactorLongBoxLorentz(FormFactorLongBoxLorentz self)"}, { "FormFactorLongBoxLorentz_swigregister", FormFactorLongBoxLorentz_swigregister, METH_O, NULL}, @@ -73240,6 +73488,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorPrism3_clone(FormFactorPrism3 self) -> FormFactorPrism3\n" "FormFactorPrism3* FormFactorPrism3::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorPrism3_getBaseEdge", _wrap_FormFactorPrism3_getBaseEdge, METH_O, "\n" "FormFactorPrism3_getBaseEdge(FormFactorPrism3 self) -> double\n" @@ -73264,6 +73514,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorPrism6_clone(FormFactorPrism6 self) -> FormFactorPrism6\n" "FormFactorPrism6* FormFactorPrism6::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorPrism6_getBaseEdge", _wrap_FormFactorPrism6_getBaseEdge, METH_O, "\n" "FormFactorPrism6_getBaseEdge(FormFactorPrism6 self) -> double\n" @@ -73288,6 +73540,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorPyramid_clone(FormFactorPyramid self) -> FormFactorPyramid\n" "FormFactorPyramid* FormFactorPyramid::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorPyramid_getHeight", _wrap_FormFactorPyramid_getHeight, METH_O, "\n" "FormFactorPyramid_getHeight(FormFactorPyramid self) -> double\n" @@ -73322,6 +73576,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorSawtoothRippleBox_clone(FormFactorSawtoothRippleBox self) -> FormFactorSawtoothRippleBox\n" "FormFactorSawtoothRippleBox * FormFactorSawtoothRippleBox::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "delete_FormFactorSawtoothRippleBox", _wrap_delete_FormFactorSawtoothRippleBox, METH_O, "delete_FormFactorSawtoothRippleBox(FormFactorSawtoothRippleBox self)"}, { "FormFactorSawtoothRippleBox_swigregister", FormFactorSawtoothRippleBox_swigregister, METH_O, NULL}, @@ -73341,6 +73597,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorSawtoothRippleGauss_clone(FormFactorSawtoothRippleGauss self) -> FormFactorSawtoothRippleGauss\n" "FormFactorSawtoothRippleGauss * FormFactorSawtoothRippleGauss::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "delete_FormFactorSawtoothRippleGauss", _wrap_delete_FormFactorSawtoothRippleGauss, METH_O, "delete_FormFactorSawtoothRippleGauss(FormFactorSawtoothRippleGauss self)"}, { "FormFactorSawtoothRippleGauss_swigregister", FormFactorSawtoothRippleGauss_swigregister, METH_O, NULL}, @@ -73360,6 +73618,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorSawtoothRippleLorentz_clone(FormFactorSawtoothRippleLorentz self) -> FormFactorSawtoothRippleLorentz\n" "FormFactorSawtoothRippleLorentz * FormFactorSawtoothRippleLorentz::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "delete_FormFactorSawtoothRippleLorentz", _wrap_delete_FormFactorSawtoothRippleLorentz, METH_O, "delete_FormFactorSawtoothRippleLorentz(FormFactorSawtoothRippleLorentz self)"}, { "FormFactorSawtoothRippleLorentz_swigregister", FormFactorSawtoothRippleLorentz_swigregister, METH_O, NULL}, @@ -73379,6 +73639,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorTetrahedron_clone(FormFactorTetrahedron self) -> FormFactorTetrahedron\n" "FormFactorTetrahedron* FormFactorTetrahedron::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorTetrahedron_getBaseEdge", _wrap_FormFactorTetrahedron_getBaseEdge, METH_O, "\n" "FormFactorTetrahedron_getBaseEdge(FormFactorTetrahedron self) -> double\n" @@ -73413,6 +73675,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorTruncatedCube_clone(FormFactorTruncatedCube self) -> FormFactorTruncatedCube\n" "FormFactorTruncatedCube* FormFactorTruncatedCube::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorTruncatedCube_getLength", _wrap_FormFactorTruncatedCube_getLength, METH_O, "\n" "FormFactorTruncatedCube_getLength(FormFactorTruncatedCube self) -> double\n" @@ -73442,6 +73706,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorTruncatedSphere_clone(FormFactorTruncatedSphere self) -> FormFactorTruncatedSphere\n" "FormFactorTruncatedSphere* FormFactorTruncatedSphere::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorTruncatedSphere_getHeight", _wrap_FormFactorTruncatedSphere_getHeight, METH_O, "\n" "FormFactorTruncatedSphere_getHeight(FormFactorTruncatedSphere self) -> double\n" @@ -73490,6 +73756,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorTruncatedSpheroid_clone(FormFactorTruncatedSpheroid self) -> FormFactorTruncatedSpheroid\n" "FormFactorTruncatedSpheroid* FormFactorTruncatedSpheroid::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorTruncatedSpheroid_getRadius", _wrap_FormFactorTruncatedSpheroid_getRadius, METH_O, "\n" "FormFactorTruncatedSpheroid_getRadius(FormFactorTruncatedSpheroid self) -> double\n" @@ -73522,8 +73790,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorTruncatedSpheroid_formfactor(FormFactorTruncatedSpheroid self, C3 q) -> complex_t\n" "complex_t FormFactorTruncatedSpheroid::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" - "\n" ""}, { "delete_FormFactorTruncatedSpheroid", _wrap_delete_FormFactorTruncatedSpheroid, METH_O, "delete_FormFactorTruncatedSpheroid(FormFactorTruncatedSpheroid self)"}, { "FormFactorTruncatedSpheroid_swigregister", FormFactorTruncatedSpheroid_swigregister, METH_O, NULL}, @@ -73543,6 +73809,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorGaussSphere_clone(FormFactorGaussSphere self) -> FormFactorGaussSphere\n" "FormFactorGaussSphere* FormFactorGaussSphere::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorGaussSphere_getMeanRadius", _wrap_FormFactorGaussSphere_getMeanRadius, METH_O, "\n" "FormFactorGaussSphere_getMeanRadius(FormFactorGaussSphere self) -> double\n" @@ -73560,8 +73828,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorGaussSphere_formfactor(FormFactorGaussSphere self, C3 q) -> complex_t\n" "complex_t FormFactorGaussSphere::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" - "\n" ""}, { "delete_FormFactorGaussSphere", _wrap_delete_FormFactorGaussSphere, METH_O, "delete_FormFactorGaussSphere(FormFactorGaussSphere self)"}, { "FormFactorGaussSphere_swigregister", FormFactorGaussSphere_swigregister, METH_O, NULL}, @@ -73581,6 +73847,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorSphereGaussianRadius_clone(FormFactorSphereGaussianRadius self) -> FormFactorSphereGaussianRadius\n" "FormFactorSphereGaussianRadius* FormFactorSphereGaussianRadius::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorSphereGaussianRadius_radialExtension", _wrap_FormFactorSphereGaussianRadius_radialExtension, METH_O, "\n" "FormFactorSphereGaussianRadius_radialExtension(FormFactorSphereGaussianRadius self) -> double\n" @@ -73593,8 +73861,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorSphereGaussianRadius_formfactor(FormFactorSphereGaussianRadius self, C3 q) -> complex_t\n" "complex_t FormFactorSphereGaussianRadius::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" - "\n" ""}, { "delete_FormFactorSphereGaussianRadius", _wrap_delete_FormFactorSphereGaussianRadius, METH_O, "delete_FormFactorSphereGaussianRadius(FormFactorSphereGaussianRadius self)"}, { "FormFactorSphereGaussianRadius_swigregister", FormFactorSphereGaussianRadius_swigregister, METH_O, NULL}, @@ -73614,6 +73880,8 @@ static PyMethodDef SwigMethods[] = { "FormFactorSphereLogNormalRadius_clone(FormFactorSphereLogNormalRadius self) -> FormFactorSphereLogNormalRadius\n" "FormFactorSphereLogNormalRadius * FormFactorSphereLogNormalRadius::clone() const override\n" "\n" + "Returns a clone of this ISampleNode object. \n" + "\n" ""}, { "FormFactorSphereLogNormalRadius_radialExtension", _wrap_FormFactorSphereLogNormalRadius_radialExtension, METH_O, "\n" "FormFactorSphereLogNormalRadius_radialExtension(FormFactorSphereLogNormalRadius self) -> double\n" @@ -73626,8 +73894,6 @@ static PyMethodDef SwigMethods[] = { "FormFactorSphereLogNormalRadius_formfactor(FormFactorSphereLogNormalRadius self, C3 q) -> complex_t\n" "complex_t FormFactorSphereLogNormalRadius::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" - "\n" ""}, { "delete_FormFactorSphereLogNormalRadius", _wrap_delete_FormFactorSphereLogNormalRadius, METH_O, "delete_FormFactorSphereLogNormalRadius(FormFactorSphereLogNormalRadius self)"}, { "FormFactorSphereLogNormalRadius_swigregister", FormFactorSphereLogNormalRadius_swigregister, METH_O, NULL}, @@ -73985,135 +74251,18 @@ static void *_p_IdentityRotationTo_p_IRotation(void *x, int *SWIGUNUSEDPARM(newm static void *_p_RotationXTo_p_IRotation(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IRotation *) ((RotationX *) x)); } -static void *_p_IBornFFTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *) ((IBornFF *) x)); -} -static void *_p_FormFactorPrism6To_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x)); +static void *_p_FormFactorCompositionTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IFormFactor *) ((FormFactorComposition *) x)); } -static void *_p_FormFactorHemiEllipsoidTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorHemiEllipsoid *) 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)); } -static void *_p_FormFactorFullSpheroidTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorFullSpheroid *) x)); -} -static void *_p_FormFactorTruncatedSpheroidTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x)); -} -static void *_p_IProfileRippleTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((IProfileRipple *) x)); -} -static void *_p_ICosineRippleTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x)); -} -static void *_p_FormFactorLongBoxGaussTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorLongBoxGauss *) x)); -} -static void *_p_FormFactorCosineRippleGaussTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x)); -} -static void *_p_FormFactorSawtoothRippleGaussTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); -} -static void *_p_IFormFactorPrismTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((IFormFactorPrism *) x)); -} static void *_p_FormFactorCrystalTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFormFactor *) ((FormFactorCrystal *) x)); } -static void *_p_FormFactorCantellatedCubeTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x)); -} -static void *_p_FormFactorFullSphereTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorFullSphere *) x)); -} -static void *_p_FormFactorTruncatedCubeTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x)); -} -static void *_p_FormFactorTruncatedSphereTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorTruncatedSphere *) x)); -} -static void *_p_IDecoratableBornTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) ((IDecoratableBorn *) x)); -} -static void *_p_FormFactorEllipsoidalCylinderTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x)); -} -static void *_p_FormFactorCylinderTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorCylinder *) x)); -} -static void *_p_FormFactorBoxTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x)); -} -static void *_p_FormFactorIcosahedronTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x)); -} -static void *_p_FormFactorDodecahedronTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); -} -static void *_p_FormFactorCuboctahedronTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); -} -static void *_p_IFormFactorPolyhedronTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((IFormFactorPolyhedron *) x)); -} -static void *_p_FormFactorTetrahedronTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x)); -} -static void *_p_FormFactorConeTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorCone *) x)); -} -static void *_p_FormFactorCone6To_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x)); -} -static void *_p_FormFactorSphereGaussianRadiusTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x)); -} -static void *_p_FormFactorSphereLogNormalRadiusTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x)); -} -static void *_p_FormFactorHollowSphereTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorHollowSphere *) x)); -} -static void *_p_FormFactorGaussSphereTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorGaussSphere *) x)); -} -static void *_p_IProfileRectangularRippleTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x)); -} -static void *_p_ISawtoothRippleTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x)); -} -static void *_p_FormFactorLongBoxLorentzTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *) ((FormFactorLongBoxLorentz *) x)); -} -static void *_p_FormFactorCosineRippleLorentzTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x)); -} -static void *_p_FormFactorSawtoothRippleLorentzTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); -} -static void *_p_FormFactorSawtoothRippleBoxTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); -} -static void *_p_FormFactorCosineRippleBoxTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x)); -} -static void *_p_FormFactorCompositionTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) ((FormFactorComposition *) x)); -} -static void *_p_FormFactorPyramidTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x)); -} -static void *_p_FormFactorAnisoPyramidTo_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x)); -} -static void *_p_FormFactorPrism3To_p_IFormFactor(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactor *) (IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); -} static void *_p_FormFactorCuboctahedronTo_p_IFormFactorPolyhedron(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); } @@ -74159,17 +74308,44 @@ static void *_p_MisesFisherGaussPeakShapeTo_p_IPeakShape(void *x, int *SWIGUNUSE static void *_p_MisesGaussPeakShapeTo_p_IPeakShape(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IPeakShape *) ((MisesGaussPeakShape *) x)); } -static void *_p_ParticleCompositionTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ISampleNode *) (IParticle *) ((ParticleComposition *) x)); +static void *_p_IBornFFTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) ((IBornFF *) x)); } -static void *_p_LayerRoughnessTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ISampleNode *) ((LayerRoughness *) x)); +static void *_p_FormFactorPrism6To_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x)); } -static void *_p_ParticleLayoutTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ISampleNode *) ((ParticleLayout *) x)); +static void *_p_FormFactorHemiEllipsoidTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorHemiEllipsoid *) x)); } -static void *_p_MultiLayerTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ISampleNode *) ((MultiLayer *) x)); +static void *_p_FormFactorFullSpheroidTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorFullSpheroid *) x)); +} +static void *_p_FormFactorTruncatedSpheroidTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorTruncatedSpheroid *) x)); +} +static void *_p_ICosineRippleTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *) ((ICosineRipple *) x)); +} +static void *_p_IProfileRippleTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((IProfileRipple *) x)); +} +static void *_p_FormFactorLongBoxGaussTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorLongBoxGauss *) x)); +} +static void *_p_ParticleCoreShellTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IParticle *) ((ParticleCoreShell *) x)); +} +static void *_p_FormFactorCosineRippleGaussTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x)); +} +static void *_p_FormFactorSawtoothRippleGaussTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); +} +static void *_p_LayerTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) ((Layer *) x)); +} +static void *_p_IFormFactorPrismTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((IFormFactorPrism *) x)); } static void *_p_CrystalTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ISampleNode *) ((Crystal *) x)); @@ -74177,17 +74353,107 @@ static void *_p_CrystalTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) static void *_p_MesoCrystalTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ISampleNode *) (IParticle *) ((MesoCrystal *) x)); } +static void *_p_FormFactorCantellatedCubeTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x)); +} +static void *_p_FormFactorFullSphereTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorFullSphere *) x)); +} +static void *_p_FormFactorTruncatedCubeTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x)); +} +static void *_p_FormFactorTruncatedSphereTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorTruncatedSphere *) x)); +} +static void *_p_MultiLayerTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) ((MultiLayer *) x)); +} static void *_p_IParticleTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ISampleNode *) ((IParticle *) x)); } static void *_p_ParticleTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ISampleNode *) (IParticle *) ((Particle *) x)); } -static void *_p_ParticleCoreShellTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ISampleNode *) (IParticle *) ((ParticleCoreShell *) x)); +static void *_p_FormFactorEllipsoidalCylinderTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorEllipsoidalCylinder *) x)); } -static void *_p_LayerTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ISampleNode *) ((Layer *) x)); +static void *_p_FormFactorCylinderTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorCylinder *) x)); +} +static void *_p_FormFactorBoxTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x)); +} +static void *_p_FormFactorIcosahedronTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x)); +} +static void *_p_FormFactorDodecahedronTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); +} +static void *_p_FormFactorCuboctahedronTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); +} +static void *_p_IFormFactorPolyhedronTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((IFormFactorPolyhedron *) x)); +} +static void *_p_FormFactorTetrahedronTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x)); +} +static void *_p_FormFactorConeTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorCone *) x)); +} +static void *_p_FormFactorCone6To_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x)); +} +static void *_p_FormFactorSphereGaussianRadiusTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorSphereGaussianRadius *) x)); +} +static void *_p_FormFactorSphereLogNormalRadiusTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorSphereLogNormalRadius *) x)); +} +static void *_p_FormFactorHollowSphereTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorHollowSphere *) x)); +} +static void *_p_FormFactorGaussSphereTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorGaussSphere *) x)); +} +static void *_p_LayerRoughnessTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) ((LayerRoughness *) x)); +} +static void *_p_ISawtoothRippleTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x)); +} +static void *_p_IProfileRectangularRippleTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x)); +} +static void *_p_FormFactorCosineRippleLorentzTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x)); +} +static void *_p_FormFactorLongBoxLorentzTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *) ((FormFactorLongBoxLorentz *) x)); +} +static void *_p_FormFactorSawtoothRippleLorentzTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); +} +static void *_p_ParticleLayoutTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) ((ParticleLayout *) x)); +} +static void *_p_FormFactorCosineRippleBoxTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x)); +} +static void *_p_FormFactorSawtoothRippleBoxTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); +} +static void *_p_ParticleCompositionTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IParticle *) ((ParticleComposition *) x)); +} +static void *_p_FormFactorAnisoPyramidTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x)); +} +static void *_p_FormFactorPrism3To_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); +} +static void *_p_FormFactorPyramidTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x)); } static void *_p_BasicLattice2DTo_p_Lattice2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((Lattice2D *) ((BasicLattice2D *) x)); @@ -74262,16 +74528,16 @@ static void *_p_FormFactorSawtoothRippleGaussTo_p_ISawtoothRipple(void *x, int * return (void *)((ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); } static void *_p_FormFactorBoxTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x)); } static void *_p_MultiLayerTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *) ((MultiLayer *) x)); } static void *_p_FormFactorSphereGaussianRadiusTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x)); } static void *_p_FormFactorSphereLogNormalRadiusTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x)); } static void *_p_FTDecayFunction1DGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDecayFunction1D *) ((FTDecayFunction1DGauss *) x)); @@ -74286,10 +74552,10 @@ static void *_p_IDecoratableBornTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(new return (void *)((ICloneable *) (IFormFactor *) ((IDecoratableBorn *) x)); } static void *_p_FormFactorHemiEllipsoidTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorHemiEllipsoid *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorHemiEllipsoid *) x)); } static void *_p_IBornFFTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *) ((IBornFF *) x)); + return (void *)((ICloneable *) (ISampleNode *) ((IBornFF *) x)); } static void *_p_MisesGaussPeakShapeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IPeakShape *) ((MisesGaussPeakShape *) x)); @@ -74313,28 +74579,28 @@ static void *_p_IPeakShapeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory return (void *)((ICloneable *) ((IPeakShape *) x)); } static void *_p_FormFactorPrism3To_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); } static void *_p_IFormFactorPolyhedronTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((IFormFactorPolyhedron *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((IFormFactorPolyhedron *) x)); } static void *_p_IFormFactorPrismTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((IFormFactorPrism *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((IFormFactorPrism *) x)); } static void *_p_FormFactorCuboctahedronTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); } static void *_p_FormFactorDodecahedronTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); } static void *_p_FormFactorIcosahedronTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x)); } static void *_p_FormFactorTetrahedronTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x)); } static void *_p_FormFactorPrism6To_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x)); } static void *_p_FTDistribution2DConeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDistribution2D *) ((FTDistribution2DCone *) x)); @@ -74346,22 +74612,22 @@ static void *_p_ParticleCoreShellTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(ne return (void *)((ICloneable *) (ISampleNode *)(IParticle *) ((ParticleCoreShell *) x)); } static void *_p_ISawtoothRippleTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x)); } static void *_p_IProfileRectangularRippleTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x)); } static void *_p_FormFactorFullSphereTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorFullSphere *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorFullSphere *) x)); } static void *_p_FormFactorTruncatedSphereTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorTruncatedSphere *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorTruncatedSphere *) x)); } static void *_p_IFormFactorTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((IFormFactor *) x)); } static void *_p_FormFactorLongBoxGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorLongBoxGauss *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorLongBoxGauss *) x)); } static void *_p_InterferenceHardDiskTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IInterference *) ((InterferenceHardDisk *) x)); @@ -74388,10 +74654,10 @@ static void *_p_RotationXTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory) return (void *)((ICloneable *) (IRotation *) ((RotationX *) x)); } static void *_p_FormFactorFullSpheroidTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorFullSpheroid *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorFullSpheroid *) x)); } static void *_p_FormFactorTruncatedSpheroidTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x)); } static void *_p_FTDistribution2DGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDistribution2D *) ((FTDistribution2DGauss *) x)); @@ -74400,13 +74666,13 @@ static void *_p_FTDecayFunction2DGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPA return (void *)((ICloneable *) (IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x)); } static void *_p_FormFactorCantellatedCubeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x)); } static void *_p_RotationYTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IRotation *) ((RotationY *) x)); } static void *_p_FormFactorTruncatedCubeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x)); } static void *_p_RotationZTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IRotation *) ((RotationZ *) x)); @@ -74439,28 +74705,28 @@ static void *_p_IFTDistribution1DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(ne return (void *)((ICloneable *) ((IFTDistribution1D *) x)); } static void *_p_FormFactorConeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorCone *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorCone *) x)); } static void *_p_FormFactorCosineRippleBoxTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x)); } static void *_p_FormFactorSawtoothRippleBoxTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); } static void *_p_LayerTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *) ((Layer *) x)); } static void *_p_FormFactorAnisoPyramidTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x)); } static void *_p_FormFactorPyramidTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x)); } static void *_p_FormFactorCylinderTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorCylinder *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorCylinder *) x)); } static void *_p_FormFactorEllipsoidalCylinderTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x)); } static void *_p_FormFactorCompositionTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFormFactor *) ((FormFactorComposition *) x)); @@ -74484,10 +74750,10 @@ static void *_p_FTDecayFunction2DVoigtTo_p_ICloneable(void *x, int *SWIGUNUSEDPA return (void *)((ICloneable *) (IFTDecayFunction2D *) ((FTDecayFunction2DVoigt *) x)); } static void *_p_FormFactorCosineRippleGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x)); } static void *_p_FormFactorSawtoothRippleGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); } static void *_p_FTDistribution2DCauchyTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDistribution2D *) ((FTDistribution2DCauchy *) x)); @@ -74502,7 +74768,7 @@ static void *_p_FTDistribution1DCauchyTo_p_ICloneable(void *x, int *SWIGUNUSEDPA return (void *)((ICloneable *) (IFTDistribution1D *) ((FTDistribution1DCauchy *) x)); } static void *_p_FormFactorCone6To_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x)); } static void *_p_LayerRoughnessTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *) ((LayerRoughness *) x)); @@ -74523,10 +74789,10 @@ static void *_p_MesoCrystalTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemor return (void *)((ICloneable *) (ISampleNode *)(IParticle *) ((MesoCrystal *) x)); } static void *_p_ICosineRippleTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x)); } static void *_p_IProfileRippleTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((IProfileRipple *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((IProfileRipple *) x)); } static void *_p_IFTDistribution2DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((IFTDistribution2D *) x)); @@ -74535,10 +74801,10 @@ static void *_p_IFTDecayFunction2DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(n return (void *)((ICloneable *) ((IFTDecayFunction2D *) x)); } static void *_p_FormFactorHollowSphereTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorHollowSphere *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorHollowSphere *) x)); } static void *_p_FormFactorGaussSphereTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorGaussSphere *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorGaussSphere *) x)); } static void *_p_InterferenceNoneTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IInterference *) ((InterferenceNone *) x)); @@ -74562,13 +74828,13 @@ static void *_p_Interference1DLatticeTo_p_ICloneable(void *x, int *SWIGUNUSEDPAR return (void *)((ICloneable *) (IInterference *) ((Interference1DLattice *) x)); } static void *_p_FormFactorCosineRippleLorentzTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x)); } static void *_p_FormFactorLongBoxLorentzTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorLongBoxLorentz *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorLongBoxLorentz *) x)); } static void *_p_FormFactorSawtoothRippleLorentzTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); } static void *_p_FTDecayFunction1DTriangleTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDecayFunction1D *) ((FTDecayFunction1DTriangle *) x)); @@ -74619,16 +74885,16 @@ static void *_p_SimpleSelectionRuleTo_p_ISelectionRule(void *x, int *SWIGUNUSEDP return (void *)((ISelectionRule *) ((SimpleSelectionRule *) x)); } static void *_p_FormFactorBoxTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x)); } static void *_p_MultiLayerTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *) ((MultiLayer *) x)); } static void *_p_FormFactorSphereGaussianRadiusTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x)); } static void *_p_FormFactorSphereLogNormalRadiusTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x)); } static void *_p_FTDecayFunction1DGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDecayFunction1D *) ((FTDecayFunction1DGauss *) x)); @@ -74643,10 +74909,10 @@ static void *_p_IDecoratableBornTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemor return (void *)((INode *) (IFormFactor *) ((IDecoratableBorn *) x)); } static void *_p_FormFactorHemiEllipsoidTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorHemiEllipsoid *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorHemiEllipsoid *) x)); } static void *_p_IBornFFTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *) ((IBornFF *) x)); + return (void *)((INode *) (ISampleNode *) ((IBornFF *) x)); } static void *_p_MisesGaussPeakShapeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IPeakShape *) ((MisesGaussPeakShape *) x)); @@ -74670,28 +74936,28 @@ static void *_p_IPeakShapeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) ((IPeakShape *) x)); } static void *_p_FormFactorPrism3To_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); } static void *_p_IFormFactorPolyhedronTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((IFormFactorPolyhedron *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((IFormFactorPolyhedron *) x)); } static void *_p_IFormFactorPrismTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((IFormFactorPrism *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((IFormFactorPrism *) x)); } static void *_p_FormFactorCuboctahedronTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); } static void *_p_FormFactorDodecahedronTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); } static void *_p_FormFactorIcosahedronTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x)); } static void *_p_FormFactorTetrahedronTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x)); } static void *_p_FormFactorPrism6To_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x)); } static void *_p_FTDistribution2DConeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDistribution2D *) ((FTDistribution2DCone *) x)); @@ -74703,22 +74969,22 @@ static void *_p_ParticleCoreShellTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemo return (void *)((INode *) (ISampleNode *)(IParticle *) ((ParticleCoreShell *) x)); } static void *_p_ISawtoothRippleTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x)); } static void *_p_IProfileRectangularRippleTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x)); } static void *_p_FormFactorFullSphereTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorFullSphere *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorFullSphere *) x)); } static void *_p_FormFactorTruncatedSphereTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorTruncatedSphere *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorTruncatedSphere *) x)); } static void *_p_IFormFactorTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) ((IFormFactor *) x)); } static void *_p_FormFactorLongBoxGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorLongBoxGauss *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorLongBoxGauss *) x)); } static void *_p_InterferenceHardDiskTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IInterference *) ((InterferenceHardDisk *) x)); @@ -74745,10 +75011,10 @@ static void *_p_RotationXTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IRotation *) ((RotationX *) x)); } static void *_p_FormFactorFullSpheroidTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorFullSpheroid *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorFullSpheroid *) x)); } static void *_p_FormFactorTruncatedSpheroidTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x)); } static void *_p_FTDistribution2DGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDistribution2D *) ((FTDistribution2DGauss *) x)); @@ -74757,13 +75023,13 @@ static void *_p_FTDecayFunction2DGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(ne return (void *)((INode *) (IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x)); } static void *_p_FormFactorCantellatedCubeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x)); } static void *_p_RotationYTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IRotation *) ((RotationY *) x)); } static void *_p_FormFactorTruncatedCubeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x)); } static void *_p_RotationZTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IRotation *) ((RotationZ *) x)); @@ -74796,28 +75062,28 @@ static void *_p_IFTDistribution1DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemo return (void *)((INode *) ((IFTDistribution1D *) x)); } static void *_p_FormFactorConeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorCone *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorCone *) x)); } static void *_p_FormFactorCosineRippleBoxTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x)); } static void *_p_FormFactorSawtoothRippleBoxTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); } static void *_p_LayerTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *) ((Layer *) x)); } static void *_p_FormFactorAnisoPyramidTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x)); } static void *_p_FormFactorPyramidTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x)); } static void *_p_FormFactorCylinderTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorCylinder *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorCylinder *) x)); } static void *_p_FormFactorEllipsoidalCylinderTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x)); } static void *_p_FormFactorCompositionTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFormFactor *) ((FormFactorComposition *) x)); @@ -74841,10 +75107,10 @@ static void *_p_FTDecayFunction2DVoigtTo_p_INode(void *x, int *SWIGUNUSEDPARM(ne return (void *)((INode *) (IFTDecayFunction2D *) ((FTDecayFunction2DVoigt *) x)); } static void *_p_FormFactorCosineRippleGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x)); } static void *_p_FormFactorSawtoothRippleGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); } static void *_p_FTDistribution2DCauchyTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDistribution2D *) ((FTDistribution2DCauchy *) x)); @@ -74859,7 +75125,7 @@ static void *_p_FTDistribution1DCauchyTo_p_INode(void *x, int *SWIGUNUSEDPARM(ne return (void *)((INode *) (IFTDistribution1D *) ((FTDistribution1DCauchy *) x)); } static void *_p_FormFactorCone6To_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x)); } static void *_p_LayerRoughnessTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *) ((LayerRoughness *) x)); @@ -74880,10 +75146,10 @@ static void *_p_MesoCrystalTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IParticle *) ((MesoCrystal *) x)); } static void *_p_ICosineRippleTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x)); } static void *_p_IProfileRippleTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((IProfileRipple *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((IProfileRipple *) x)); } static void *_p_Lattice3DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) ((Lattice3D *) x)); @@ -74895,10 +75161,10 @@ static void *_p_IFTDecayFunction2DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmem return (void *)((INode *) ((IFTDecayFunction2D *) x)); } static void *_p_FormFactorHollowSphereTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorHollowSphere *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorHollowSphere *) x)); } static void *_p_FormFactorGaussSphereTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorGaussSphere *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorGaussSphere *) x)); } static void *_p_InterferenceNoneTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IInterference *) ((InterferenceNone *) x)); @@ -74922,13 +75188,13 @@ static void *_p_Interference1DLatticeTo_p_INode(void *x, int *SWIGUNUSEDPARM(new return (void *)((INode *) (IInterference *) ((Interference1DLattice *) x)); } static void *_p_FormFactorCosineRippleLorentzTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x)); } static void *_p_FormFactorLongBoxLorentzTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *) ((FormFactorLongBoxLorentz *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorLongBoxLorentz *) x)); } static void *_p_FormFactorSawtoothRippleLorentzTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (IFormFactor *)(IDecoratableBorn *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); } static void *_p_FTDecayFunction1DTriangleTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDecayFunction1D *) ((FTDecayFunction1DTriangle *) x)); @@ -74939,126 +75205,9 @@ 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_IBornFFTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) ((IBornFF *) x)); -} -static void *_p_FormFactorPrism6To_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x)); -} -static void *_p_FormFactorHemiEllipsoidTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorHemiEllipsoid *) x)); -} static void *_p_DecoratedFFTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IDecoratableBorn *) ((DecoratedFF *) x)); } -static void *_p_FormFactorFullSpheroidTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorFullSpheroid *) x)); -} -static void *_p_FormFactorTruncatedSpheroidTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorTruncatedSpheroid *) x)); -} -static void *_p_IProfileRippleTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((IProfileRipple *) x)); -} -static void *_p_ICosineRippleTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *) ((ICosineRipple *) x)); -} -static void *_p_FormFactorLongBoxGaussTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorLongBoxGauss *) x)); -} -static void *_p_FormFactorSawtoothRippleGaussTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x)); -} -static void *_p_FormFactorCosineRippleGaussTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x)); -} -static void *_p_IFormFactorPrismTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((IFormFactorPrism *) x)); -} -static void *_p_FormFactorCantellatedCubeTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x)); -} -static void *_p_FormFactorFullSphereTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorFullSphere *) x)); -} -static void *_p_FormFactorTruncatedCubeTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x)); -} -static void *_p_FormFactorTruncatedSphereTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorTruncatedSphere *) x)); -} -static void *_p_FormFactorEllipsoidalCylinderTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorEllipsoidalCylinder *) x)); -} -static void *_p_FormFactorCylinderTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorCylinder *) x)); -} -static void *_p_FormFactorBoxTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x)); -} -static void *_p_FormFactorTetrahedronTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x)); -} -static void *_p_FormFactorIcosahedronTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x)); -} -static void *_p_FormFactorDodecahedronTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); -} -static void *_p_FormFactorCuboctahedronTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); -} -static void *_p_IFormFactorPolyhedronTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((IFormFactorPolyhedron *) x)); -} -static void *_p_FormFactorConeTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorCone *) x)); -} -static void *_p_FormFactorCone6To_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x)); -} -static void *_p_FormFactorSphereGaussianRadiusTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorSphereGaussianRadius *) x)); -} -static void *_p_FormFactorSphereLogNormalRadiusTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorSphereLogNormalRadius *) x)); -} -static void *_p_FormFactorHollowSphereTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorHollowSphere *) x)); -} -static void *_p_FormFactorGaussSphereTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorGaussSphere *) x)); -} -static void *_p_IProfileRectangularRippleTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x)); -} -static void *_p_ISawtoothRippleTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x)); -} -static void *_p_FormFactorSawtoothRippleLorentzTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); -} -static void *_p_FormFactorLongBoxLorentzTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *) ((FormFactorLongBoxLorentz *) x)); -} -static void *_p_FormFactorCosineRippleLorentzTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x)); -} -static void *_p_FormFactorSawtoothRippleBoxTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); -} -static void *_p_FormFactorCosineRippleBoxTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x)); -} -static void *_p_FormFactorPyramidTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x)); -} -static void *_p_FormFactorAnisoPyramidTo_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x)); -} -static void *_p_FormFactorPrism3To_p_IDecoratableBorn(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IDecoratableBorn *) (IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); -} static void *_p_FormFactorPrism6To_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IBornFF *) (IFormFactorPrism *) ((FormFactorPrism6 *) x)); } @@ -75653,24 +75802,24 @@ 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_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_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_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_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_IBornFF, _p_IBornFFTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_IDecoratableBorn, 0, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IDecoratableBorn, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IDecoratableBorn, 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_IBornFF, _p_IBornFFTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IFormFactor, 0, 0}, {&_swigt__p_IFormFactor, 0, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IFormFactor, 0, 0}, {&_swigt__p_DecoratedFF, _p_DecoratedFFTo_p_IFormFactor, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IFormFactor, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IFormFactor, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IFormFactor, 0, 0}, {&_swigt__p_IDecoratableBorn, _p_IDecoratableBornTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IFormFactor, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IFormFactor, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IFormFactor, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IFormFactor, 0, 0}, {&_swigt__p_FormFactorComposition, _p_FormFactorCompositionTo_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_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_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_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_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_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_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}}; static swig_cast_info _swigc__p_IProfileRipple[] = { {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IProfileRipple, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IProfileRipple, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IProfileRipple, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IProfileRipple, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IProfileRipple, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IProfileRipple, 0, 0}, {&_swigt__p_IProfileRipple, 0, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IProfileRipple, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IProfileRipple, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IProfileRipple, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IRotation[] = { {&_swigt__p_RotationY, _p_RotationYTo_p_IRotation, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_IRotation, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_IRotation, 0, 0}, {&_swigt__p_IRotation, 0, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_IRotation, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_IRotation, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_ISampleNode[] = { {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ISampleNode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ISampleNode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ISampleNode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ISampleNode, 0, 0}, {&_swigt__p_ISampleNode, 0, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ISampleNode, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_ISampleNode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ISampleNode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ISampleNode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ISampleNode, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_ISampleNode, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_ISampleNode[] = { {&_swigt__p_IBornFF, _p_IBornFFTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_ISampleNode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_ISampleNode, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ISampleNode, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ISampleNode, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_ISampleNode, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_ISampleNode, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_ISampleNode, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ISampleNode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ISampleNode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ISampleNode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_ISampleNode, 0, 0}, {&_swigt__p_ISampleNode, 0, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_ISampleNode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ISampleNode, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ISampleNode, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_ISampleNode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ISampleNode, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ISampleNode, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ISawtoothRipple[] = { {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_ISawtoothRipple, 0, 0}, {&_swigt__p_ISawtoothRipple, 0, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_ISawtoothRipple, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ISawtoothRipple, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ISelectionRule[] = { {&_swigt__p_ISelectionRule, 0, 0, 0}, {&_swigt__p_SimpleSelectionRule, _p_SimpleSelectionRuleTo_p_ISelectionRule, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IdentityRotation[] = { {&_swigt__p_IdentityRotation, 0, 0, 0},{0, 0, 0, 0}}; diff --git a/auto/Wrap/libBornAgainSample_wrap.h b/auto/Wrap/libBornAgainSample_wrap.h index 17955b293a89a40935d0210307726dc58ac8496b..50028bf2f0e064d137f1ed3f5c09e1932d633560 100644 --- a/auto/Wrap/libBornAgainSample_wrap.h +++ b/auto/Wrap/libBornAgainSample_wrap.h @@ -175,12 +175,14 @@ public: 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 Material const *material() const; 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 double volume() const; + virtual double radialExtension() const; virtual complex_t formfactor(C3 q) const; + virtual std::string pythonConstructor() const; virtual bool canSliceAnalytically(IRotation const *rot) const; virtual bool canSliceAnalyticallySwigPublic(IRotation const *rot) const { return IBornFF::canSliceAnalytically(rot); @@ -219,7 +221,7 @@ private: return method; } private: - mutable swig::SwigVar_PyObject vtable[12]; + mutable swig::SwigVar_PyObject vtable[14]; #endif };