diff --git a/CHANGELOG b/CHANGELOG index 1a7a68652ca51a923b80e13a2ff3fcb5194b4e52..1d76aabdf6380cc11e81c7520ff15f46b33aa597 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,14 +3,16 @@ BornAgain-1.20? * R3, C3 <- kvector_t, cvector_t * QzScan, AlphaScan <- QSpecScan, AngularSpecScan * SimulationResult::convertedBinCenters <- axis - * Pyramid2,3,4 <- AnisoPyramid, Tetrahedron, Pyramid + * Formfactors: + * Pyramid2,3,4 <- AnisoPyramid, Tetrahedron, Pyramid + * Bipyramid4 <- Cuboctahedron * Interference... <- InterferenceFunction... > API: further changes: * Polarizer and analyzer are now set by function Instrument::setPolFilters * Support soft-matter reflectometry parameterization files of Anaklasis * Remove FormFactorDot to avoid its inherent inconsistencies (use small sphere instead) * Remove unused/undocumented functions Layer::setThickness, setMaterial -> GUI changes: + > GUI changes: * Executable renamed to bornagain, except under Windows, where it is still BornAgain * Support "*.001" files generated by Nicos at SANS-1 of MLZ / FRM2 * Improved file chooser for 2d data import diff --git a/Doc/FFCatalog/fig/ff2/sim_Bipyramid4.py b/Doc/FFCatalog/fig/ff2/sim_Bipyramid4.py index 1f6fe68f77a45ab1f21a9bc5b0e21202ed0cac12..b999709a4b4bb7922c63ced9d15c459cb4cc0d17 100755 --- a/Doc/FFCatalog/fig/ff2/sim_Bipyramid4.py +++ b/Doc/FFCatalog/fig/ff2/sim_Bipyramid4.py @@ -12,9 +12,9 @@ results = [] for i in range(n): omega = 45*i/(n - 1) title = r'$\omega=%d^\circ$' % omega - ff = ba.FormFactorCuboctahedron(8*nm, 5*nm, 0.5, 60*deg) + ff = ba.FormFactorBipyramid4(8*nm, 5*nm, 0.5, 60*deg) trafo = ba.RotationZ(omega*deg) data = bp.run_simulation(det, ff, trafo) results.append(bp.Result(i, data, title)) -bp.make_plot(results, det, "ff_Cuboctahedron") +bp.make_plot(results, det, "ff_Bipyramid4") diff --git a/Examples/varia/AllFormFactorsAvailable.py b/Examples/varia/AllFormFactorsAvailable.py index 929f0b34a1c5ebe7a9d32b84b1e12f9bd4e654de..a11db3d5ea0375840b4224306f1212601c53006a 100755 --- a/Examples/varia/AllFormFactorsAvailable.py +++ b/Examples/varia/AllFormFactorsAvailable.py @@ -16,7 +16,7 @@ formfactors = [ ba.FormFactorCantellatedCube(15, 6), ba.FormFactorCone(10, 13, 60*deg), ba.FormFactorCone6(10, 13, 60*deg), - ba.FormFactorCuboctahedron(20, 13, 0.7, 60*deg), + ba.FormFactorBipyramid4(20, 13, 0.7, 60*deg), ba.FormFactorCylinder(8, 16), ba.FormFactorDodecahedron(5), ba.FormFactorEllipsoidalCylinder(8, 13, 16), diff --git a/GUI/Model/Sample/FormFactorItemCatalog.cpp b/GUI/Model/Sample/FormFactorItemCatalog.cpp index 2edff6f1a8f22d39c54044bd927e311ffce5a305..8afb625d4f9fadd69ba8c37a3b666ab13f5fb25e 100644 --- a/GUI/Model/Sample/FormFactorItemCatalog.cpp +++ b/GUI/Model/Sample/FormFactorItemCatalog.cpp @@ -29,7 +29,7 @@ FormFactorItem* FormFactorItemCatalog::create(Type type) CREATE(Box); CREATE(Cone); CREATE(Cone6); - CREATE(Cuboctahedron); + CREATE(Bipyramid4); CREATE(Cylinder); CREATE(Dodecahedron); CREATE(EllipsoidalCylinder); @@ -65,7 +65,7 @@ QVector<FormFactorItemCatalog::Type> FormFactorItemCatalog::types() Type::Box, Type::Cone, Type::Cone6, - Type::Cuboctahedron, + Type::Bipyramid4, Type::Cylinder, Type::Dodecahedron, Type::EllipsoidalCylinder, @@ -94,7 +94,7 @@ QVector<FormFactorItemCatalog::Type> FormFactorItemCatalog::hardParticleTypes() Type::Box, Type::Cone, Type::Cone6, - Type::Cuboctahedron, + Type::Bipyramid4, Type::Cylinder, Type::Dodecahedron, Type::EllipsoidalCylinder, @@ -151,8 +151,8 @@ FormFactorItemCatalog::UiInfo FormFactorItemCatalog::uiInfo(Type type) return {"Cone6", ":/SampleDesignerToolbox/images/ff_Cone6_64x64.png", "A truncated pyramid, based on a regular hexagon"}; - case Type::Cuboctahedron: - return {"Cuboctahedron", ":/SampleDesignerToolbox/images/ff_Cuboctahedron_64x64.png", + case Type::Bipyramid4: + return {"Bipyramid4", ":/SampleDesignerToolbox/images/ff_Bipyramid4_64x64.png", "Compound of two truncated pyramids with a common square base " "and opposite orientations"}; @@ -256,7 +256,7 @@ FormFactorItemCatalog::Type FormFactorItemCatalog::type(const FormFactorItem* it CHECK(Box); CHECK(Cone); CHECK(Cone6); - CHECK(Cuboctahedron); + CHECK(Bipyramid4); CHECK(Cylinder); CHECK(Dodecahedron); CHECK(EllipsoidalCylinder); diff --git a/GUI/Model/Sample/FormFactorItemCatalog.h b/GUI/Model/Sample/FormFactorItemCatalog.h index bdf5d3b0ba066bed29271a37854339705bfdbb12..2e6c6da2da300e1f511afcbc76c17d64b66ca457 100644 --- a/GUI/Model/Sample/FormFactorItemCatalog.h +++ b/GUI/Model/Sample/FormFactorItemCatalog.h @@ -32,7 +32,7 @@ public: Box = 4, Cone = 5, Cone6 = 6, - Cuboctahedron = 7, + Bipyramid4 = 7, Cylinder = 8, Dodecahedron = 9, EllipsoidalCylinder = 10, diff --git a/GUI/Model/Sample/FormFactorItems.cpp b/GUI/Model/Sample/FormFactorItems.cpp index 2866a1b7f214d8ffa94cb1ecde273fc1197da597..d271210b148c8475d092c296b607233a2454ed98 100644 --- a/GUI/Model/Sample/FormFactorItems.cpp +++ b/GUI/Model/Sample/FormFactorItems.cpp @@ -105,7 +105,7 @@ std::unique_ptr<IBornFF> Cone6Item::createFormFactor() const /* ------------------------------------------------ */ -CuboctahedronItem::CuboctahedronItem() +Bipyramid4Item::Bipyramid4Item() { m_length.init("Length", "Side length of the common square base", 20.0, Unit::nanometer, "length"); @@ -118,9 +118,9 @@ CuboctahedronItem::CuboctahedronItem() m_alpha.init("Alpha", "Dihedral angle between base and facets", 60.0, Unit::degree, "alpha"); } -std::unique_ptr<IBornFF> CuboctahedronItem::createFormFactor() const +std::unique_ptr<IBornFF> Bipyramid4Item::createFormFactor() const { - return std::make_unique<FormFactorCuboctahedron>(length(), height(), heightRatio(), + return std::make_unique<FormFactorBipyramid4>(length(), height(), heightRatio(), alpha() * Units::deg); } diff --git a/GUI/Model/Sample/FormFactorItems.h b/GUI/Model/Sample/FormFactorItems.h index 6201c101db2369bd9307944f51355c19ef2323f1..09a4caecf86a3b8e3137712954a0875ea5042302 100644 --- a/GUI/Model/Sample/FormFactorItems.h +++ b/GUI/Model/Sample/FormFactorItems.h @@ -142,9 +142,9 @@ public: } }; -class CuboctahedronItem : public FormFactorItem { +class Bipyramid4Item : public FormFactorItem { public: - CuboctahedronItem(); + Bipyramid4Item(); std::unique_ptr<IBornFF> createFormFactor() const override; FF_PROPERTY(length, Length) diff --git a/GUI/View/FromDomain/FromDomain.cpp b/GUI/View/FromDomain/FromDomain.cpp index 9ba5b7e6e6db8471592a8fb8f9dc86a5514271bf..57423d64730d0a31bacd0a1ff5a2e04aa26611de 100644 --- a/GUI/View/FromDomain/FromDomain.cpp +++ b/GUI/View/FromDomain/FromDomain.cpp @@ -876,8 +876,8 @@ void GUI::Transform::FromDomain::setFormFactor(std::variant<ParticleItem*, MesoC formfactorItem->setBaseEdge(formfactor->baseEdge()); formfactorItem->setHeight(formfactor->height()); formfactorItem->setAlpha(Units::rad2deg(formfactor->alpha())); - } else if (const auto* formfactor = dynamic_cast<const FormFactorCuboctahedron*>(iFormFactor)) { - auto* formfactorItem = addFormFactorItem<CuboctahedronItem>(parent); + } else if (const auto* formfactor = dynamic_cast<const FormFactorBipyramid4*>(iFormFactor)) { + auto* formfactorItem = addFormFactorItem<Bipyramid4Item>(parent); formfactorItem->setLength(formfactor->length()); formfactorItem->setHeight(formfactor->height()); formfactorItem->setHeightRatio(formfactor->heightRatio()); diff --git a/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp b/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp index 861b741eb4bb3bca667cc2b039d6ae7a89224200..2649db7ea2dd1874eb9aa49ba91caafc40811e26 100644 --- a/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp +++ b/GUI/View/Realspace/RealSpaceMesoCrystalUtils.cpp @@ -103,12 +103,12 @@ bool isPositionInsideMesoCrystal(const IBornFF* outerShape, R3 positionInside) if (std::pow(positionInside.x(), 2) + std::pow(positionInside.y(), 2) <= std::pow(k_z, 2)) check = true; - } else if (const auto* ff_Cuboctahedron = - dynamic_cast<const FormFactorCuboctahedron*>(outerShape)) { - double L = ff_Cuboctahedron->length(); - double H = ff_Cuboctahedron->height(); - double rH = ff_Cuboctahedron->heightRatio(); - double alpha = ff_Cuboctahedron->alpha(); + } else if (const auto* ff_Bipyramid4 = + dynamic_cast<const FormFactorBipyramid4*>(outerShape)) { + double L = ff_Bipyramid4->length(); + double H = ff_Bipyramid4->height(); + double rH = ff_Bipyramid4->heightRatio(); + double alpha = ff_Bipyramid4->alpha(); double total_Height = H + rH * H; @@ -116,7 +116,7 @@ bool isPositionInsideMesoCrystal(const IBornFF* outerShape, R3 positionInside) || positionInside.z() < 0 || positionInside.z() > total_Height) return check; - // half-length of square (i.e. horizontal cross-section of Cuboctahedron) at a given height + // half-length of square (i.e. horizontal cross-section of Bipyramid4) at a given height double l_z = L / 2 - std::abs(H - positionInside.z()) / std::tan(alpha); if (std::abs(positionInside.x()) <= l_z && std::abs(positionInside.y()) <= l_z) check = true; diff --git a/GUI/View/Realspace/TransformTo3D.cpp b/GUI/View/Realspace/TransformTo3D.cpp index 678bb94a42db2891c68888cb0c0ca6bf01ccbf14..02bfa850ef7b32b96c74cc9d225c3dbfc8de65d2 100644 --- a/GUI/View/Realspace/TransformTo3D.cpp +++ b/GUI/View/Realspace/TransformTo3D.cpp @@ -97,12 +97,12 @@ GUI::View::TransformTo3D::createParticlefromFormfactor(const IBornFF* ff) double alpha = ff_Cone6->alpha(); return std::make_unique<GUI::RealSpace::Particles::Cone6>(baseedge, height, alpha); } - if (const auto* ff_Cuboctahedron = dynamic_cast<const FormFactorCuboctahedron*>(ff)) { - double length = ff_Cuboctahedron->length(); - double height = ff_Cuboctahedron->height(); - double height_ratio = ff_Cuboctahedron->heightRatio(); - double alpha = ff_Cuboctahedron->alpha(); - return std::make_unique<GUI::RealSpace::Particles::Cuboctahedron>(length, height, + if (const auto* ff_Bipyramid4 = dynamic_cast<const FormFactorBipyramid4*>(ff)) { + double length = ff_Bipyramid4->length(); + double height = ff_Bipyramid4->height(); + double height_ratio = ff_Bipyramid4->heightRatio(); + double alpha = ff_Bipyramid4->alpha(); + return std::make_unique<GUI::RealSpace::Particles::Bipyramid4>(length, height, height_ratio, alpha); } if (const auto* ff_Cylinder = dynamic_cast<const FormFactorCylinder*>(ff)) { diff --git a/GUI/View/SampleDesigner/SampleDesigner.qrc b/GUI/View/SampleDesigner/SampleDesigner.qrc index 95da4aab9b5a5b2c357fa5af126ca06d961a07f4..5aa4dd09ccc3dd88b5c2530f314a42c6cca09006 100644 --- a/GUI/View/SampleDesigner/SampleDesigner.qrc +++ b/GUI/View/SampleDesigner/SampleDesigner.qrc @@ -24,7 +24,7 @@ <file>images/ff_Cone6_64x64.png</file> <file>images/ff_Cone_64x64.png</file> <file>images/ff_CosineRipple_64x64.png</file> - <file>images/ff_Cuboctahedron_64x64.png</file> + <file>images/ff_Bipyramid4_64x64.png</file> <file>images/ff_Cylinder_64x64.png</file> <file>images/ff_Dodecahedron_64x64.png</file> <file>images/ff_EllipsoidalCylinder_64x64.png</file> diff --git a/GUI/View/SampleDesigner/images/ff_Cuboctahedron_64x64.png b/GUI/View/SampleDesigner/images/ff_Bipyramid4_64x64.png similarity index 100% rename from GUI/View/SampleDesigner/images/ff_Cuboctahedron_64x64.png rename to GUI/View/SampleDesigner/images/ff_Bipyramid4_64x64.png diff --git a/GUI/ba3d/mesh/cuboctahedron.cpp b/GUI/ba3d/mesh/cuboctahedron.cpp index 203031b5353234021c7156d0a02575d75fdc03f5..65506f8fe6b767e0da936634b1f573bfe662ef57 100644 --- a/GUI/ba3d/mesh/cuboctahedron.cpp +++ b/GUI/ba3d/mesh/cuboctahedron.cpp @@ -18,7 +18,7 @@ namespace GUI::RealSpace { -Geometry::Mesh Geometry::meshCuboctahedron(float rH, float alpha, float H) +Geometry::Mesh Geometry::meshBipyramid4(float rH, float alpha, float H) { // t/D // alpha is the angle between the common square interface and one of the side faces (alpha for diff --git a/GUI/ba3d/model/geometry.cpp b/GUI/ba3d/model/geometry.cpp index 2b62411889d56d23034d5b2eb82832b8fa4398ec..9d0fc1006ac02dace02bdfe7aeaf9cb241150fb0 100644 --- a/GUI/ba3d/model/geometry.cpp +++ b/GUI/ba3d/model/geometry.cpp @@ -94,8 +94,8 @@ Geometry::Geometry(GeometricID::Key key_) : m_key(key_) case BaseShape::TruncatedBox: m_mesh = meshTruncBox(m_key.p1); break; - case BaseShape::Cuboctahedron: - m_mesh = meshCuboctahedron(m_key.p1, m_key.p2, m_key.p3); + case BaseShape::Bipyramid4: + m_mesh = meshBipyramid4(m_key.p1, m_key.p2, m_key.p3); break; case BaseShape::Ripple: m_mesh = meshRipple(m_key.p1, m_key.p2); diff --git a/GUI/ba3d/model/geometry.h b/GUI/ba3d/model/geometry.h index a9fb87a3c3d47ccf798c3903e73d875b90b2146d..0be4da1c6b65c0d403127b2e10cd0deaf591c79f 100644 --- a/GUI/ba3d/model/geometry.h +++ b/GUI/ba3d/model/geometry.h @@ -83,7 +83,7 @@ private: static Mesh meshIcosahedron(); static Mesh meshDodecahedron(); static Mesh meshTruncBox(float tD); - static Mesh meshCuboctahedron(float rH, float alpha, float H); + static Mesh meshBipyramid4(float rH, float alpha, float H); static Mesh meshRipple(float numSides, float ratio_asymmetry_W); // mesh params for round shapes diff --git a/GUI/ba3d/model/geometry_inc.h b/GUI/ba3d/model/geometry_inc.h index 33d639e84974b889ddb4fced0ca4002730cfb98f..a319f96ea71f0dcfe8e5714609442d52210234e5 100644 --- a/GUI/ba3d/model/geometry_inc.h +++ b/GUI/ba3d/model/geometry_inc.h @@ -43,7 +43,7 @@ enum class BaseShape { Icosahedron, Dodecahedron, TruncatedBox, - Cuboctahedron, + Bipyramid4, Ripple }; diff --git a/GUI/ba3d/model/model.cpp b/GUI/ba3d/model/model.cpp index 8ecd9423c2257e7413299030fb3d46f029639268..0a0808de5dcde5a8a16c95fc4d157c5fa3e1515e 100644 --- a/GUI/ba3d/model/model.cpp +++ b/GUI/ba3d/model/model.cpp @@ -86,8 +86,8 @@ Particles::Particle* Model::newParticle(Particles::EShape k, float R) return new Cone6(R, D, 1.3f); case EShape::Pyramid4: return new Pyramid4(D, D, 1.3f); - case EShape::Cuboctahedron: - return new Cuboctahedron(D, R * 3 / 2, 2.f / 3, 2); + case EShape::Bipyramid4: + return new Bipyramid4(D, R * 3 / 2, 2.f / 3, 2); case EShape::Prism3: return new Prism3(R, D); case EShape::Pyramid3: diff --git a/GUI/ba3d/model/particles.cpp b/GUI/ba3d/model/particles.cpp index 1554a34a136c5bbff718ec03ecde416476680bb7..5c845db0c04065d5991c8fde9cc445057aabc78c 100644 --- a/GUI/ba3d/model/particles.cpp +++ b/GUI/ba3d/model/particles.cpp @@ -33,7 +33,7 @@ QString const& name(EShape k) "Prism6", "Cone6", "Pyramid4", - "Cuboctahedron", + "Bipyramid4", "Prism3", "Pyramid3", "EllipsoidalCylinder", @@ -155,8 +155,8 @@ Cone6::Cone6(float R, float H, float alpha) set(); } -Cuboctahedron::Cuboctahedron(float L, float H, float rH, float alpha) - : Particle(Key(BaseShape::Cuboctahedron, rH, alpha, H / L)) +Bipyramid4::Bipyramid4(float L, float H, float rH, float alpha) + : Particle(Key(BaseShape::Bipyramid4, rH, alpha, H / L)) { isNull = (L <= 0 || H <= 0 || rH <= 0 || alpha >= pi2f); scale = Vector3D(L, L, L); diff --git a/GUI/ba3d/model/particles.h b/GUI/ba3d/model/particles.h index 6f394953b46726cf936e27113aeafcfc02e91651..3d4f1b1c8128fa22c826c7eea4833876da09f82a 100644 --- a/GUI/ba3d/model/particles.h +++ b/GUI/ba3d/model/particles.h @@ -33,7 +33,7 @@ enum class EShape { Prism6, Cone6, Pyramid4, - Cuboctahedron, + Bipyramid4, Prism3, Pyramid3, EllipsoidalCylinder, @@ -138,9 +138,9 @@ public: Pyramid4(float L, float H, float alpha); }; -class Cuboctahedron : public Particle { +class Bipyramid4 : public Particle { public: - Cuboctahedron(float L, float H, float rH, float alpha); + Bipyramid4(float L, float H, float rH, float alpha); }; class Prism3 : public Particle { diff --git a/Resample/Processed/Slicer.cpp b/Resample/Processed/Slicer.cpp index 7942601603201c4cfca634cb36d102f1cbced277..ed391f8d69bc62f1ac2d1fdd924910ff458c4413 100644 --- a/Resample/Processed/Slicer.cpp +++ b/Resample/Processed/Slicer.cpp @@ -118,7 +118,7 @@ ReParticle* createParticleSlice(const IBornFF* ff, ZLimits limits, const IRotati f->height() - effects.dz_bottom - effects.dz_top, f->alpha()); return ReParticle::createTransformedFormFactor(slicedff, rot, effects.position); - } else if (const auto* f = dynamic_cast<const FormFactorCuboctahedron*>(ff)) { + } else if (const auto* f = dynamic_cast<const FormFactorBipyramid4*>(ff)) { const SlicingEffects effects = computeSlicingEffects(limits, translation, f->height() * (1 + f->heightRatio())); if (effects.dz_bottom > f->height()) { @@ -137,7 +137,7 @@ ReParticle* createParticleSlice(const IBornFF* ff, ZLimits limits, const IRotati M_PI - f->alpha()); return ReParticle::createTransformedFormFactor(slicedff, rot, effects.position); } - FormFactorCuboctahedron slicedff(f->length(), f->height() - effects.dz_bottom, + FormFactorBipyramid4 slicedff(f->length(), f->height() - effects.dz_bottom, f->heightRatio() * f->height() - effects.dz_top, f->alpha()); return ReParticle::createTransformedFormFactor(slicedff, rot, effects.position); diff --git a/Sample/ComponentBuilder/FormFactorComponents.cpp b/Sample/ComponentBuilder/FormFactorComponents.cpp index a04a9d6345e24648e761f263cbd836b5bb5a8a5f..06871c8b6287afd99f4ce9063c6d9feb3b501ee8 100644 --- a/Sample/ComponentBuilder/FormFactorComponents.cpp +++ b/Sample/ComponentBuilder/FormFactorComponents.cpp @@ -30,7 +30,7 @@ FormFactorComponents::FormFactorComponents() add("Cone6", new FormFactorCone6(2. / sqrt(3.) * 5.0, 5.0, Units::deg2rad(54.73))); - add("Cuboctahedron", new FormFactorCuboctahedron(10.0, 5.0, 1.0, Units::deg2rad(54.73))); + add("Bipyramid4", new FormFactorBipyramid4(10.0, 5.0, 1.0, Units::deg2rad(54.73))); add("Cylinder", new FormFactorCylinder(5.0, 10.0)); diff --git a/Sample/HardParticle/FormFactorCuboctahedron.cpp b/Sample/HardParticle/FormFactorBipyramid4.cpp similarity index 84% rename from Sample/HardParticle/FormFactorCuboctahedron.cpp rename to Sample/HardParticle/FormFactorBipyramid4.cpp index ceaf6e88012551a2f55d7a07a925e508241dd035..202ae28e827c1afff0adddc589946838f456f26a 100644 --- a/Sample/HardParticle/FormFactorCuboctahedron.cpp +++ b/Sample/HardParticle/FormFactorBipyramid4.cpp @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file Sample/HardParticle/FormFactorCuboctahedron.cpp -//! @brief Implements class FormFactorCuboctahedron. +//! @file Sample/HardParticle/FormFactorBipyramid4.cpp +//! @brief Implements class FormFactorBipyramid4. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,12 +12,12 @@ // // ************************************************************************************************ -#include "Sample/HardParticle/FormFactorCuboctahedron.h" +#include "Sample/HardParticle/FormFactorBipyramid4.h" #include "Base/Math/Constants.h" #include "Base/Math/Functions.h" #include "Sample/HardParticle/FormFactorPyramid4.h" -const ff::PolyhedralTopology FormFactorCuboctahedron::topology = {{{{3, 2, 1, 0}, true}, +const ff::PolyhedralTopology FormFactorBipyramid4::topology = {{{{3, 2, 1, 0}, true}, {{0, 1, 5, 4}, false}, {{1, 2, 6, 5}, false}, {{2, 3, 7, 6}, false}, @@ -29,7 +29,7 @@ const ff::PolyhedralTopology FormFactorCuboctahedron::topology = {{{{3, 2, 1, 0} {{8, 9, 10, 11}, true}}, false}; -FormFactorCuboctahedron::FormFactorCuboctahedron(const std::vector<double> P) +FormFactorBipyramid4::FormFactorBipyramid4(const std::vector<double> P) : IFormFactorPolyhedron(P) , m_length(m_P[0]) , m_height(m_P[1]) @@ -44,7 +44,7 @@ FormFactorCuboctahedron::FormFactorCuboctahedron(const std::vector<double> P) double r = cot_alpha * 2 * m_height / m_length; if (std::max(1., x) * r > 1) { std::ostringstream ostr; - ostr << "FormFactorCuboctahedron() -> Error in class initialization with parameters"; + ostr << "FormFactorBipyramid4() -> Error in class initialization with parameters"; ostr << " height:" << m_height; ostr << " length:" << m_length; ostr << " height_ratio:" << m_height_ratio; @@ -82,8 +82,8 @@ FormFactorCuboctahedron::FormFactorCuboctahedron(const std::vector<double> P) {-c, c, zc}}); } -FormFactorCuboctahedron::FormFactorCuboctahedron(double length, double height, double height_ratio, +FormFactorBipyramid4::FormFactorBipyramid4(double length, double height, double height_ratio, double alpha) - : FormFactorCuboctahedron(std::vector<double>{length, height, height_ratio, alpha}) + : FormFactorBipyramid4(std::vector<double>{length, height, height_ratio, alpha}) { } diff --git a/Sample/HardParticle/FormFactorCuboctahedron.h b/Sample/HardParticle/FormFactorBipyramid4.h similarity index 67% rename from Sample/HardParticle/FormFactorCuboctahedron.h rename to Sample/HardParticle/FormFactorBipyramid4.h index 76a879dd94575142e5be413d7e818e4f9dee7194..824dc188f56b977153f80b35203c6a3b717926ab 100644 --- a/Sample/HardParticle/FormFactorCuboctahedron.h +++ b/Sample/HardParticle/FormFactorBipyramid4.h @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file Sample/HardParticle/FormFactorCuboctahedron.h -//! @brief Defines class FormFactorCuboctahedron +//! @file Sample/HardParticle/FormFactorBipyramid4.h +//! @brief Defines class FormFactorBipyramid4 //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,24 +12,24 @@ // // ************************************************************************************************ -#ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_FORMFACTORCUBOCTAHEDRON_H -#define BORNAGAIN_SAMPLE_HARDPARTICLE_FORMFACTORCUBOCTAHEDRON_H +#ifndef BORNAGAIN_SAMPLE_HARDPARTICLE_FORMFACTORBIPYRAMID4_H +#define BORNAGAIN_SAMPLE_HARDPARTICLE_FORMFACTORBIPYRAMID4_H #include "Sample/HardParticle/IFormFactorPolyhedron.h" //! A truncated bifrustum with quadratic base. //! @ingroup hardParticle -class FormFactorCuboctahedron : public IFormFactorPolyhedron { +class FormFactorBipyramid4 : public IFormFactorPolyhedron { public: - FormFactorCuboctahedron(std::vector<double> P); - FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha); + FormFactorBipyramid4(std::vector<double> P); + FormFactorBipyramid4(double length, double height, double height_ratio, double alpha); - FormFactorCuboctahedron* clone() const override + FormFactorBipyramid4* clone() const override { - return new FormFactorCuboctahedron(m_length, m_height, m_height_ratio, m_alpha); + return new FormFactorBipyramid4(m_length, m_height, m_height_ratio, m_alpha); } - std::string className() const final { return "FormFactorCuboctahedron"; } + std::string className() const final { return "FormFactorBipyramid4"; } // const auto tooltip = "truncated quadratic bipyramid"; std::vector<ParaMeta> parDefs() const final { @@ -54,4 +54,4 @@ private: const double& m_alpha; }; -#endif // BORNAGAIN_SAMPLE_HARDPARTICLE_FORMFACTORCUBOCTAHEDRON_H +#endif // BORNAGAIN_SAMPLE_HARDPARTICLE_FORMFACTORBIPYRAMID4_H diff --git a/Sample/HardParticle/HardParticles.h b/Sample/HardParticle/HardParticles.h index bd513e0b6de6f05776e10aa40e8404cfe3140bf6..3640473dc52d8f05cd189f89d7206665815d9fd4 100644 --- a/Sample/HardParticle/HardParticles.h +++ b/Sample/HardParticle/HardParticles.h @@ -26,7 +26,7 @@ #include "Sample/HardParticle/FormFactorCone.h" #include "Sample/HardParticle/FormFactorCone6.h" #include "Sample/HardParticle/FormFactorCosineRipple.h" -#include "Sample/HardParticle/FormFactorCuboctahedron.h" +#include "Sample/HardParticle/FormFactorBipyramid4.h" #include "Sample/HardParticle/FormFactorCylinder.h" #include "Sample/HardParticle/FormFactorDodecahedron.h" #include "Sample/HardParticle/FormFactorEllipsoidalCylinder.h" diff --git a/Tests/ReferenceData/Std/FormFactorsWithAbsorption_Cuboctahedron.int.gz b/Tests/ReferenceData/Std/FormFactorsWithAbsorption_Bipyramid4.int.gz similarity index 100% rename from Tests/ReferenceData/Std/FormFactorsWithAbsorption_Cuboctahedron.int.gz rename to Tests/ReferenceData/Std/FormFactorsWithAbsorption_Bipyramid4.int.gz diff --git a/Tests/ReferenceData/Std/FormFactors_Cuboctahedron.int.gz b/Tests/ReferenceData/Std/FormFactors_Bipyramid4.int.gz similarity index 100% rename from Tests/ReferenceData/Std/FormFactors_Cuboctahedron.int.gz rename to Tests/ReferenceData/Std/FormFactors_Bipyramid4.int.gz diff --git a/Tests/Unit/Core/PythonFormattingTest.cpp b/Tests/Unit/Core/PythonFormattingTest.cpp index d2634a142954b6159d9f76076d6204d1bf0343b7..81542d2cf7153d53694ae3e914ac41c20ee73b04 100644 --- a/Tests/Unit/Core/PythonFormattingTest.cpp +++ b/Tests/Unit/Core/PythonFormattingTest.cpp @@ -14,7 +14,7 @@ #include "Sample/HardParticle/FormFactorCone.h" #include "Sample/HardParticle/FormFactorCone6.h" #include "Sample/HardParticle/FormFactorCosineRipple.h" -#include "Sample/HardParticle/FormFactorCuboctahedron.h" +#include "Sample/HardParticle/FormFactorBipyramid4.h" #include "Sample/HardParticle/FormFactorCylinder.h" #include "Sample/HardParticle/FormFactorDodecahedron.h" #include "Sample/HardParticle/FormFactorEllipsoidalCylinder.h" @@ -212,8 +212,8 @@ TEST_F(PythonFormattingTest, printFormFactors) EXPECT_EQ(FormFactorCone6(6, 5, 55 * Units::deg).pythonConstructor(), "FormFactorCone6(6*nm, 5*nm, 55*deg)"); - EXPECT_EQ(FormFactorCuboctahedron(10, 4, 0.7, 55 * Units::deg).pythonConstructor(), - "FormFactorCuboctahedron(10*nm, 4*nm, 0.7, 55*deg)"); + EXPECT_EQ(FormFactorBipyramid4(10, 4, 0.7, 55 * Units::deg).pythonConstructor(), + "FormFactorBipyramid4(10*nm, 4*nm, 0.7, 55*deg)"); EXPECT_EQ(FormFactorCylinder(3, 5).pythonConstructor(), "FormFactorCylinder(3*nm, 5*nm)"); diff --git a/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp b/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp index a2dd3776c377d7137200d599e48c24e82f87906b..6eed7951c4193c57ae461a6804a79cd579a5ddb3 100644 --- a/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp +++ b/Tests/Unit/Numeric/FormFactorSpecializationTest.cpp @@ -65,7 +65,7 @@ TEST_F(FFSpecializationTest, OctahedronAsTruncated) { const double L = 1.8; FormFactorPlatonicOctahedron p0(L); - FormFactorCuboctahedron p1(L, L/sqrt(2), 1., atan(sqrt(2))); + FormFactorBipyramid4 p1(L, L/sqrt(2), 1., atan(sqrt(2))); run_test(&p0, &p1, eps_polyh, 1e-99, 50); } diff --git a/Tests/Unit/Sample/FormFactorBasicTest.cpp b/Tests/Unit/Sample/FormFactorBasicTest.cpp index 8626d12788b97da171039df34ad465d137122db6..3065db28ea041d2af36b6a49065838d6b65561ba 100644 --- a/Tests/Unit/Sample/FormFactorBasicTest.cpp +++ b/Tests/Unit/Sample/FormFactorBasicTest.cpp @@ -213,7 +213,7 @@ TEST_F(FormFactorBasicTest, CosineRippleBox) test_ff(&particle); } -TEST_F(FormFactorBasicTest, Cuboctahedron) +TEST_F(FormFactorBasicTest, Bipyramid4) { double length = 10.; double height = 4; @@ -227,7 +227,7 @@ TEST_F(FormFactorBasicTest, Cuboctahedron) * (2. - (1. - H2divLtga) * (1. - H2divLtga) * (1. - H2divLtga) - (1. - ratioH2divLtga) * (1. - ratioH2divLtga) * (1. - ratioH2divLtga)); - FormFactorCuboctahedron particle(length, height, height_ratio, alpha); + FormFactorBipyramid4 particle(length, height, height_ratio, alpha); EXPECT_DOUBLE_EQ(volume, particle.volume()); RotationZ rot(.42); EXPECT_EQ(0., particle.bottomZ(&rot)); diff --git a/Wrap/Swig/libBornAgainSample.i b/Wrap/Swig/libBornAgainSample.i index feb3bb59c285dd1dc96336ef4fd3cb5cbc6f10a7..2c01f959091d70451d11ddfe2ef9786f2261eff1 100644 --- a/Wrap/Swig/libBornAgainSample.i +++ b/Wrap/Swig/libBornAgainSample.i @@ -142,7 +142,7 @@ %include "Sample/HardParticle/FormFactorCone.h" %include "Sample/HardParticle/FormFactorCone6.h" %include "Sample/HardParticle/FormFactorCosineRipple.h" -%include "Sample/HardParticle/FormFactorCuboctahedron.h" +%include "Sample/HardParticle/FormFactorBipyramid4.h" %include "Sample/HardParticle/FormFactorCylinder.h" %include "Sample/HardParticle/FormFactorDodecahedron.h" %include "Sample/HardParticle/FormFactorEllipsoidalCylinder.h" diff --git a/auto/Wrap/doxygenSample.i b/auto/Wrap/doxygenSample.i index 3373d1f6a2ecf66fc2de74bbbbcc52eb6f3ec483..c2aad3abbe076870235c0c327d2b747d88d2aedf 100644 --- a/auto/Wrap/doxygenSample.i +++ b/auto/Wrap/doxygenSample.i @@ -341,6 +341,44 @@ Returns a clone of this ISampleNode object. "; +// File: classFormFactorBipyramid4.xml +%feature("docstring") FormFactorBipyramid4 " + +A truncated bifrustum with quadratic base. + +C++ includes: FormFactorBipyramid4.h +"; + +%feature("docstring") FormFactorBipyramid4::FormFactorBipyramid4 "FormFactorBipyramid4::FormFactorBipyramid4(std::vector< double > P) +"; + +%feature("docstring") FormFactorBipyramid4::FormFactorBipyramid4 "FormFactorBipyramid4::FormFactorBipyramid4(double length, double height, double height_ratio, double alpha) +"; + +%feature("docstring") FormFactorBipyramid4::clone "FormFactorBipyramid4* FormFactorBipyramid4::clone() const override + +Returns a clone of this ISampleNode object. +"; + +%feature("docstring") FormFactorBipyramid4::className "std::string FormFactorBipyramid4::className() const final +"; + +%feature("docstring") FormFactorBipyramid4::parDefs "std::vector<ParaMeta> FormFactorBipyramid4::parDefs() const final +"; + +%feature("docstring") FormFactorBipyramid4::length "double FormFactorBipyramid4::length() const +"; + +%feature("docstring") FormFactorBipyramid4::height "double FormFactorBipyramid4::height() const +"; + +%feature("docstring") FormFactorBipyramid4::heightRatio "double FormFactorBipyramid4::heightRatio() const +"; + +%feature("docstring") FormFactorBipyramid4::alpha "double FormFactorBipyramid4::alpha() const +"; + + // File: classFormFactorBox.xml %feature("docstring") FormFactorBox " @@ -587,44 +625,6 @@ Returns a clone of this ISampleNode object. "; -// File: classFormFactorCuboctahedron.xml -%feature("docstring") FormFactorCuboctahedron " - -A truncated bifrustum with quadratic base. - -C++ includes: FormFactorCuboctahedron.h -"; - -%feature("docstring") FormFactorCuboctahedron::FormFactorCuboctahedron "FormFactorCuboctahedron::FormFactorCuboctahedron(std::vector< double > P) -"; - -%feature("docstring") FormFactorCuboctahedron::FormFactorCuboctahedron "FormFactorCuboctahedron::FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha) -"; - -%feature("docstring") FormFactorCuboctahedron::clone "FormFactorCuboctahedron* FormFactorCuboctahedron::clone() const override - -Returns a clone of this ISampleNode object. -"; - -%feature("docstring") FormFactorCuboctahedron::className "std::string FormFactorCuboctahedron::className() const final -"; - -%feature("docstring") FormFactorCuboctahedron::parDefs "std::vector<ParaMeta> FormFactorCuboctahedron::parDefs() const final -"; - -%feature("docstring") FormFactorCuboctahedron::length "double FormFactorCuboctahedron::length() const -"; - -%feature("docstring") FormFactorCuboctahedron::height "double FormFactorCuboctahedron::height() const -"; - -%feature("docstring") FormFactorCuboctahedron::heightRatio "double FormFactorCuboctahedron::heightRatio() const -"; - -%feature("docstring") FormFactorCuboctahedron::alpha "double FormFactorCuboctahedron::alpha() const -"; - - // File: classFormFactorCylinder.xml %feature("docstring") FormFactorCylinder " @@ -5391,6 +5391,12 @@ Used by the hard sphere and by several soft sphere classes. // File: FormFactorBar_8h.xml +// File: FormFactorBipyramid4_8cpp.xml + + +// File: FormFactorBipyramid4_8h.xml + + // File: FormFactorBox_8cpp.xml @@ -5421,12 +5427,6 @@ Used by the hard sphere and by several soft sphere classes. // File: FormFactorCosineRipple_8h.xml -// File: FormFactorCuboctahedron_8cpp.xml - - -// File: FormFactorCuboctahedron_8h.xml - - // File: FormFactorCylinder_8cpp.xml diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py index 3dffe09ad6f398ae02497aea443c1b655e26bb53..6ade90c3b4d384c27a2384f8b3847c258a0515f2 100644 --- a/auto/Wrap/libBornAgainSample.py +++ b/auto/Wrap/libBornAgainSample.py @@ -8685,13 +8685,13 @@ class FormFactorCosineRippleLorentz(ICosineRipple): # Register FormFactorCosineRippleLorentz in _libBornAgainSample: _libBornAgainSample.FormFactorCosineRippleLorentz_swigregister(FormFactorCosineRippleLorentz) -class FormFactorCuboctahedron(IFormFactorPolyhedron): +class FormFactorBipyramid4(IFormFactorPolyhedron): r""" A truncated bifrustum with quadratic base. - C++ includes: FormFactorCuboctahedron.h + C++ includes: FormFactorBipyramid4.h """ @@ -8700,74 +8700,74 @@ class FormFactorCuboctahedron(IFormFactorPolyhedron): def __init__(self, *args): r""" - __init__(FormFactorCuboctahedron self, vdouble1d_t P) -> FormFactorCuboctahedron - __init__(FormFactorCuboctahedron self, double length, double height, double height_ratio, double alpha) -> FormFactorCuboctahedron - FormFactorCuboctahedron::FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha) + __init__(FormFactorBipyramid4 self, vdouble1d_t P) -> FormFactorBipyramid4 + __init__(FormFactorBipyramid4 self, double length, double height, double height_ratio, double alpha) -> FormFactorBipyramid4 + FormFactorBipyramid4::FormFactorBipyramid4(double length, double height, double height_ratio, double alpha) """ - _libBornAgainSample.FormFactorCuboctahedron_swiginit(self, _libBornAgainSample.new_FormFactorCuboctahedron(*args)) + _libBornAgainSample.FormFactorBipyramid4_swiginit(self, _libBornAgainSample.new_FormFactorBipyramid4(*args)) def clone(self): r""" - clone(FormFactorCuboctahedron self) -> FormFactorCuboctahedron - FormFactorCuboctahedron* FormFactorCuboctahedron::clone() const override + clone(FormFactorBipyramid4 self) -> FormFactorBipyramid4 + FormFactorBipyramid4* FormFactorBipyramid4::clone() const override Returns a clone of this ISampleNode object. """ - return _libBornAgainSample.FormFactorCuboctahedron_clone(self) + return _libBornAgainSample.FormFactorBipyramid4_clone(self) def className(self): r""" - className(FormFactorCuboctahedron self) -> std::string - std::string FormFactorCuboctahedron::className() const final + className(FormFactorBipyramid4 self) -> std::string + std::string FormFactorBipyramid4::className() const final """ - return _libBornAgainSample.FormFactorCuboctahedron_className(self) + return _libBornAgainSample.FormFactorBipyramid4_className(self) def parDefs(self): r""" - parDefs(FormFactorCuboctahedron self) -> std::vector< ParaMeta,std::allocator< ParaMeta > > - std::vector<ParaMeta> FormFactorCuboctahedron::parDefs() const final + parDefs(FormFactorBipyramid4 self) -> std::vector< ParaMeta,std::allocator< ParaMeta > > + std::vector<ParaMeta> FormFactorBipyramid4::parDefs() const final """ - return _libBornAgainSample.FormFactorCuboctahedron_parDefs(self) + return _libBornAgainSample.FormFactorBipyramid4_parDefs(self) def length(self): r""" - length(FormFactorCuboctahedron self) -> double - double FormFactorCuboctahedron::length() const + length(FormFactorBipyramid4 self) -> double + double FormFactorBipyramid4::length() const """ - return _libBornAgainSample.FormFactorCuboctahedron_length(self) + return _libBornAgainSample.FormFactorBipyramid4_length(self) def height(self): r""" - height(FormFactorCuboctahedron self) -> double - double FormFactorCuboctahedron::height() const + height(FormFactorBipyramid4 self) -> double + double FormFactorBipyramid4::height() const """ - return _libBornAgainSample.FormFactorCuboctahedron_height(self) + return _libBornAgainSample.FormFactorBipyramid4_height(self) def heightRatio(self): r""" - heightRatio(FormFactorCuboctahedron self) -> double - double FormFactorCuboctahedron::heightRatio() const + heightRatio(FormFactorBipyramid4 self) -> double + double FormFactorBipyramid4::heightRatio() const """ - return _libBornAgainSample.FormFactorCuboctahedron_heightRatio(self) + return _libBornAgainSample.FormFactorBipyramid4_heightRatio(self) def alpha(self): r""" - alpha(FormFactorCuboctahedron self) -> double - double FormFactorCuboctahedron::alpha() const + alpha(FormFactorBipyramid4 self) -> double + double FormFactorBipyramid4::alpha() const """ - return _libBornAgainSample.FormFactorCuboctahedron_alpha(self) - __swig_destroy__ = _libBornAgainSample.delete_FormFactorCuboctahedron + return _libBornAgainSample.FormFactorBipyramid4_alpha(self) + __swig_destroy__ = _libBornAgainSample.delete_FormFactorBipyramid4 -# Register FormFactorCuboctahedron in _libBornAgainSample: -_libBornAgainSample.FormFactorCuboctahedron_swigregister(FormFactorCuboctahedron) +# Register FormFactorBipyramid4 in _libBornAgainSample: +_libBornAgainSample.FormFactorBipyramid4_swigregister(FormFactorBipyramid4) class FormFactorCylinder(IBornFF): r""" diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp index 77d08945224c7352620661936e96219be54c3f93..a807f93d0e41d87a029d027d52a63cd36f6049d9 100644 --- a/auto/Wrap/libBornAgainSample_wrap.cpp +++ b/auto/Wrap/libBornAgainSample_wrap.cpp @@ -3117,14 +3117,14 @@ namespace Swig { #define SWIGTYPE_p_FTDistribution2DGate swig_types[17] #define SWIGTYPE_p_FTDistribution2DGauss swig_types[18] #define SWIGTYPE_p_FTDistribution2DVoigt swig_types[19] -#define SWIGTYPE_p_FormFactorBox swig_types[20] -#define SWIGTYPE_p_FormFactorCantellatedCube swig_types[21] -#define SWIGTYPE_p_FormFactorCone swig_types[22] -#define SWIGTYPE_p_FormFactorCone6 swig_types[23] -#define SWIGTYPE_p_FormFactorCosineRippleBox swig_types[24] -#define SWIGTYPE_p_FormFactorCosineRippleGauss swig_types[25] -#define SWIGTYPE_p_FormFactorCosineRippleLorentz swig_types[26] -#define SWIGTYPE_p_FormFactorCuboctahedron swig_types[27] +#define SWIGTYPE_p_FormFactorBipyramid4 swig_types[20] +#define SWIGTYPE_p_FormFactorBox swig_types[21] +#define SWIGTYPE_p_FormFactorCantellatedCube swig_types[22] +#define SWIGTYPE_p_FormFactorCone swig_types[23] +#define SWIGTYPE_p_FormFactorCone6 swig_types[24] +#define SWIGTYPE_p_FormFactorCosineRippleBox swig_types[25] +#define SWIGTYPE_p_FormFactorCosineRippleGauss swig_types[26] +#define SWIGTYPE_p_FormFactorCosineRippleLorentz swig_types[27] #define SWIGTYPE_p_FormFactorCylinder swig_types[28] #define SWIGTYPE_p_FormFactorDodecahedron swig_types[29] #define SWIGTYPE_p_FormFactorEllipsoidalCylinder swig_types[30] @@ -56045,30 +56045,30 @@ SWIGINTERN PyObject *FormFactorCosineRippleLorentz_swiginit(PyObject *SWIGUNUSED return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_FormFactorBipyramid4__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; std::vector< double,std::allocator< double > > arg1 ; - FormFactorCuboctahedron *result = 0 ; + FormFactorBipyramid4 *result = 0 ; if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; { std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; int res = swig::asptr(swig_obj[0], &ptr); if (!SWIG_IsOK(res) || !ptr) { - SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorCuboctahedron" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > >""'"); + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorBipyramid4" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > >""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } - result = (FormFactorCuboctahedron *)new FormFactorCuboctahedron(arg1); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCuboctahedron, SWIG_POINTER_NEW | 0 ); + result = (FormFactorBipyramid4 *)new FormFactorBipyramid4(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorBipyramid4, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_FormFactorBipyramid4__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -56082,51 +56082,51 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron__SWIG_1(PyObject *SWIGUNU int ecode3 = 0 ; double val4 ; int ecode4 = 0 ; - FormFactorCuboctahedron *result = 0 ; + FormFactorBipyramid4 *result = 0 ; if ((nobjs < 4) || (nobjs > 4)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorCuboctahedron" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorBipyramid4" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_FormFactorCuboctahedron" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_FormFactorBipyramid4" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_FormFactorCuboctahedron" "', argument " "3"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_FormFactorBipyramid4" "', argument " "3"" of type '" "double""'"); } arg3 = static_cast< double >(val3); ecode4 = SWIG_AsVal_double(swig_obj[3], &val4); if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_FormFactorCuboctahedron" "', argument " "4"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_FormFactorBipyramid4" "', argument " "4"" of type '" "double""'"); } arg4 = static_cast< double >(val4); - result = (FormFactorCuboctahedron *)new FormFactorCuboctahedron(arg1,arg2,arg3,arg4); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCuboctahedron, SWIG_POINTER_NEW | 0 ); + result = (FormFactorBipyramid4 *)new FormFactorBipyramid4(arg1,arg2,arg3,arg4); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorBipyramid4, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron(PyObject *self, PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorBipyramid4(PyObject *self, PyObject *args) { Py_ssize_t argc; PyObject *argv[5] = { 0 }; - if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorCuboctahedron", 0, 4, argv))) SWIG_fail; + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorBipyramid4", 0, 4, argv))) SWIG_fail; --argc; if (argc == 1) { int _v; int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); _v = SWIG_CheckState(res); if (_v) { - return _wrap_new_FormFactorCuboctahedron__SWIG_0(self, argc, argv); + return _wrap_new_FormFactorBipyramid4__SWIG_0(self, argc, argv); } } if (argc == 4) { @@ -56151,7 +56151,7 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron(PyObject *self, PyObject _v = SWIG_CheckState(res); } if (_v) { - return _wrap_new_FormFactorCuboctahedron__SWIG_1(self, argc, argv); + return _wrap_new_FormFactorBipyramid4__SWIG_1(self, argc, argv); } } } @@ -56159,40 +56159,40 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron(PyObject *self, PyObject } fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorCuboctahedron'.\n" + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorBipyramid4'.\n" " Possible C/C++ prototypes are:\n" - " FormFactorCuboctahedron::FormFactorCuboctahedron(std::vector< double,std::allocator< double > >)\n" - " FormFactorCuboctahedron::FormFactorCuboctahedron(double,double,double,double)\n"); + " FormFactorBipyramid4::FormFactorBipyramid4(std::vector< double,std::allocator< double > >)\n" + " FormFactorBipyramid4::FormFactorBipyramid4(double,double,double,double)\n"); return 0; } -SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FormFactorBipyramid4_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - FormFactorCuboctahedron *result = 0 ; + FormFactorBipyramid4 *result = 0 ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorCuboctahedron_clone" "', argument " "1"" of type '" "FormFactorCuboctahedron const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorBipyramid4_clone" "', argument " "1"" of type '" "FormFactorBipyramid4 const *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); - result = (FormFactorCuboctahedron *)((FormFactorCuboctahedron const *)arg1)->clone(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); + result = (FormFactorBipyramid4 *)((FormFactorBipyramid4 const *)arg1)->clone(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_className(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FormFactorBipyramid4_className(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -56200,12 +56200,12 @@ SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_className(PyObject *SWIGUNUSE if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorCuboctahedron_className" "', argument " "1"" of type '" "FormFactorCuboctahedron const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorBipyramid4_className" "', argument " "1"" of type '" "FormFactorBipyramid4 const *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); - result = ((FormFactorCuboctahedron const *)arg1)->className(); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); + result = ((FormFactorBipyramid4 const *)arg1)->className(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: @@ -56213,9 +56213,9 @@ fail: } -SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_parDefs(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FormFactorBipyramid4_parDefs(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -56223,12 +56223,12 @@ SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_parDefs(PyObject *SWIGUNUSEDP if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorCuboctahedron_parDefs" "', argument " "1"" of type '" "FormFactorCuboctahedron const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorBipyramid4_parDefs" "', argument " "1"" of type '" "FormFactorBipyramid4 const *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); - result = ((FormFactorCuboctahedron const *)arg1)->parDefs(); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); + result = ((FormFactorBipyramid4 const *)arg1)->parDefs(); resultobj = SWIG_NewPointerObj((new std::vector< ParaMeta,std::allocator< ParaMeta > >(static_cast< const std::vector< ParaMeta,std::allocator< ParaMeta > >& >(result))), SWIGTYPE_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t, SWIG_POINTER_OWN | 0 ); return resultobj; fail: @@ -56236,9 +56236,9 @@ fail: } -SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FormFactorBipyramid4_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -56246,12 +56246,12 @@ SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_length(PyObject *SWIGUNUSEDPA if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorCuboctahedron_length" "', argument " "1"" of type '" "FormFactorCuboctahedron const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorBipyramid4_length" "', argument " "1"" of type '" "FormFactorBipyramid4 const *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); - result = (double)((FormFactorCuboctahedron const *)arg1)->length(); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); + result = (double)((FormFactorBipyramid4 const *)arg1)->length(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -56259,9 +56259,9 @@ fail: } -SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FormFactorBipyramid4_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -56269,12 +56269,12 @@ SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_height(PyObject *SWIGUNUSEDPA if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorCuboctahedron_height" "', argument " "1"" of type '" "FormFactorCuboctahedron const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorBipyramid4_height" "', argument " "1"" of type '" "FormFactorBipyramid4 const *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); - result = (double)((FormFactorCuboctahedron const *)arg1)->height(); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); + result = (double)((FormFactorBipyramid4 const *)arg1)->height(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -56282,9 +56282,9 @@ fail: } -SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_heightRatio(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FormFactorBipyramid4_heightRatio(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -56292,12 +56292,12 @@ SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_heightRatio(PyObject *SWIGUNU if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorCuboctahedron_heightRatio" "', argument " "1"" of type '" "FormFactorCuboctahedron const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorBipyramid4_heightRatio" "', argument " "1"" of type '" "FormFactorBipyramid4 const *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); - result = (double)((FormFactorCuboctahedron const *)arg1)->heightRatio(); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); + result = (double)((FormFactorBipyramid4 const *)arg1)->heightRatio(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -56305,9 +56305,9 @@ fail: } -SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_alpha(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FormFactorBipyramid4_alpha(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -56315,12 +56315,12 @@ SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_alpha(PyObject *SWIGUNUSEDPAR if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorCuboctahedron_alpha" "', argument " "1"" of type '" "FormFactorCuboctahedron const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FormFactorBipyramid4_alpha" "', argument " "1"" of type '" "FormFactorBipyramid4 const *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); - result = (double)((FormFactorCuboctahedron const *)arg1)->alpha(); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); + result = (double)((FormFactorBipyramid4 const *)arg1)->alpha(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -56328,20 +56328,20 @@ fail: } -SWIGINTERN PyObject *_wrap_delete_FormFactorCuboctahedron(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_FormFactorBipyramid4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; + FormFactorBipyramid4 *arg1 = (FormFactorBipyramid4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorCuboctahedron, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_FormFactorBipyramid4, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FormFactorCuboctahedron" "', argument " "1"" of type '" "FormFactorCuboctahedron *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FormFactorBipyramid4" "', argument " "1"" of type '" "FormFactorBipyramid4 *""'"); } - arg1 = reinterpret_cast< FormFactorCuboctahedron * >(argp1); + arg1 = reinterpret_cast< FormFactorBipyramid4 * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; @@ -56350,14 +56350,14 @@ fail: } -SWIGINTERN PyObject *FormFactorCuboctahedron_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *FormFactorBipyramid4_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_FormFactorCuboctahedron, SWIG_NewClientData(obj)); + SWIG_TypeNewClientData(SWIGTYPE_p_FormFactorBipyramid4, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } -SWIGINTERN PyObject *FormFactorCuboctahedron_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *FormFactorBipyramid4_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { return SWIG_Python_InitShadowInstance(args); } @@ -69906,52 +69906,52 @@ static PyMethodDef SwigMethods[] = { { "delete_FormFactorCosineRippleLorentz", _wrap_delete_FormFactorCosineRippleLorentz, METH_O, "delete_FormFactorCosineRippleLorentz(FormFactorCosineRippleLorentz self)"}, { "FormFactorCosineRippleLorentz_swigregister", FormFactorCosineRippleLorentz_swigregister, METH_O, NULL}, { "FormFactorCosineRippleLorentz_swiginit", FormFactorCosineRippleLorentz_swiginit, METH_VARARGS, NULL}, - { "new_FormFactorCuboctahedron", _wrap_new_FormFactorCuboctahedron, METH_VARARGS, "\n" - "FormFactorCuboctahedron(vdouble1d_t P)\n" - "new_FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha) -> FormFactorCuboctahedron\n" - "FormFactorCuboctahedron::FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha)\n" + { "new_FormFactorBipyramid4", _wrap_new_FormFactorBipyramid4, METH_VARARGS, "\n" + "FormFactorBipyramid4(vdouble1d_t P)\n" + "new_FormFactorBipyramid4(double length, double height, double height_ratio, double alpha) -> FormFactorBipyramid4\n" + "FormFactorBipyramid4::FormFactorBipyramid4(double length, double height, double height_ratio, double alpha)\n" "\n" ""}, - { "FormFactorCuboctahedron_clone", _wrap_FormFactorCuboctahedron_clone, METH_O, "\n" - "FormFactorCuboctahedron_clone(FormFactorCuboctahedron self) -> FormFactorCuboctahedron\n" - "FormFactorCuboctahedron* FormFactorCuboctahedron::clone() const override\n" + { "FormFactorBipyramid4_clone", _wrap_FormFactorBipyramid4_clone, METH_O, "\n" + "FormFactorBipyramid4_clone(FormFactorBipyramid4 self) -> FormFactorBipyramid4\n" + "FormFactorBipyramid4* FormFactorBipyramid4::clone() const override\n" "\n" "Returns a clone of this ISampleNode object. \n" "\n" ""}, - { "FormFactorCuboctahedron_className", _wrap_FormFactorCuboctahedron_className, METH_O, "\n" - "FormFactorCuboctahedron_className(FormFactorCuboctahedron self) -> std::string\n" - "std::string FormFactorCuboctahedron::className() const final\n" + { "FormFactorBipyramid4_className", _wrap_FormFactorBipyramid4_className, METH_O, "\n" + "FormFactorBipyramid4_className(FormFactorBipyramid4 self) -> std::string\n" + "std::string FormFactorBipyramid4::className() const final\n" "\n" ""}, - { "FormFactorCuboctahedron_parDefs", _wrap_FormFactorCuboctahedron_parDefs, METH_O, "\n" - "FormFactorCuboctahedron_parDefs(FormFactorCuboctahedron self) -> std::vector< ParaMeta,std::allocator< ParaMeta > >\n" - "std::vector<ParaMeta> FormFactorCuboctahedron::parDefs() const final\n" + { "FormFactorBipyramid4_parDefs", _wrap_FormFactorBipyramid4_parDefs, METH_O, "\n" + "FormFactorBipyramid4_parDefs(FormFactorBipyramid4 self) -> std::vector< ParaMeta,std::allocator< ParaMeta > >\n" + "std::vector<ParaMeta> FormFactorBipyramid4::parDefs() const final\n" "\n" ""}, - { "FormFactorCuboctahedron_length", _wrap_FormFactorCuboctahedron_length, METH_O, "\n" - "FormFactorCuboctahedron_length(FormFactorCuboctahedron self) -> double\n" - "double FormFactorCuboctahedron::length() const\n" + { "FormFactorBipyramid4_length", _wrap_FormFactorBipyramid4_length, METH_O, "\n" + "FormFactorBipyramid4_length(FormFactorBipyramid4 self) -> double\n" + "double FormFactorBipyramid4::length() const\n" "\n" ""}, - { "FormFactorCuboctahedron_height", _wrap_FormFactorCuboctahedron_height, METH_O, "\n" - "FormFactorCuboctahedron_height(FormFactorCuboctahedron self) -> double\n" - "double FormFactorCuboctahedron::height() const\n" + { "FormFactorBipyramid4_height", _wrap_FormFactorBipyramid4_height, METH_O, "\n" + "FormFactorBipyramid4_height(FormFactorBipyramid4 self) -> double\n" + "double FormFactorBipyramid4::height() const\n" "\n" ""}, - { "FormFactorCuboctahedron_heightRatio", _wrap_FormFactorCuboctahedron_heightRatio, METH_O, "\n" - "FormFactorCuboctahedron_heightRatio(FormFactorCuboctahedron self) -> double\n" - "double FormFactorCuboctahedron::heightRatio() const\n" + { "FormFactorBipyramid4_heightRatio", _wrap_FormFactorBipyramid4_heightRatio, METH_O, "\n" + "FormFactorBipyramid4_heightRatio(FormFactorBipyramid4 self) -> double\n" + "double FormFactorBipyramid4::heightRatio() const\n" "\n" ""}, - { "FormFactorCuboctahedron_alpha", _wrap_FormFactorCuboctahedron_alpha, METH_O, "\n" - "FormFactorCuboctahedron_alpha(FormFactorCuboctahedron self) -> double\n" - "double FormFactorCuboctahedron::alpha() const\n" + { "FormFactorBipyramid4_alpha", _wrap_FormFactorBipyramid4_alpha, METH_O, "\n" + "FormFactorBipyramid4_alpha(FormFactorBipyramid4 self) -> double\n" + "double FormFactorBipyramid4::alpha() const\n" "\n" ""}, - { "delete_FormFactorCuboctahedron", _wrap_delete_FormFactorCuboctahedron, METH_O, "delete_FormFactorCuboctahedron(FormFactorCuboctahedron self)"}, - { "FormFactorCuboctahedron_swigregister", FormFactorCuboctahedron_swigregister, METH_O, NULL}, - { "FormFactorCuboctahedron_swiginit", FormFactorCuboctahedron_swiginit, METH_VARARGS, NULL}, + { "delete_FormFactorBipyramid4", _wrap_delete_FormFactorBipyramid4, METH_O, "delete_FormFactorBipyramid4(FormFactorBipyramid4 self)"}, + { "FormFactorBipyramid4_swigregister", FormFactorBipyramid4_swigregister, METH_O, NULL}, + { "FormFactorBipyramid4_swiginit", FormFactorBipyramid4_swiginit, METH_VARARGS, NULL}, { "new_FormFactorCylinder", _wrap_new_FormFactorCylinder, METH_VARARGS, "\n" "FormFactorCylinder(vdouble1d_t P)\n" "new_FormFactorCylinder(double radius, double height) -> FormFactorCylinder\n" @@ -71403,9 +71403,6 @@ 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_FormFactorCuboctahedronTo_p_IFormFactorPolyhedron(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); -} static void *_p_FormFactorDodecahedronTo_p_IFormFactorPolyhedron(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x)); } @@ -71433,6 +71430,9 @@ static void *_p_FormFactorPyramid2To_p_IFormFactorPolyhedron(void *x, int *SWIGU static void *_p_FormFactorPyramid3To_p_IFormFactorPolyhedron(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFormFactorPolyhedron *) ((FormFactorPyramid3 *) x)); } +static void *_p_FormFactorBipyramid4To_p_IFormFactorPolyhedron(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IFormFactorPolyhedron *) ((FormFactorBipyramid4 *) x)); +} static void *_p_FormFactorPyramid4To_p_IFormFactorPolyhedron(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFormFactorPolyhedron *) ((FormFactorPyramid4 *) x)); } @@ -71535,9 +71535,6 @@ static void *_p_FormFactorIcosahedronTo_p_ISampleNode(void *x, int *SWIGUNUSEDPA 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)); } @@ -71592,6 +71589,9 @@ static void *_p_FormFactorSawtoothRippleLorentzTo_p_ISampleNode(void *x, int *SW static void *_p_ParticleLayoutTo_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ISampleNode *) ((ParticleLayout *) x)); } +static void *_p_FormFactorBipyramid4To_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorBipyramid4 *) x)); +} static void *_p_FormFactorPyramid4To_p_ISampleNode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ISampleNode *) (IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid4 *) x)); } @@ -71730,9 +71730,6 @@ static void *_p_IPeakShapeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory static void *_p_FormFactorPrism3To_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); } -static void *_p_FormFactorCuboctahedronTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); -} static void *_p_IFormFactorPolyhedronTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((IFormFactorPolyhedron *) x)); } @@ -71811,6 +71808,9 @@ static void *_p_FormFactorPyramid3To_p_ICloneable(void *x, int *SWIGUNUSEDPARM(n static void *_p_FormFactorTruncatedSpheroidTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x)); } +static void *_p_FormFactorBipyramid4To_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ICloneable *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorBipyramid4 *) x)); +} static void *_p_FTDecayFunction2DGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x)); } @@ -72078,9 +72078,6 @@ static void *_p_IPeakShapeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { static void *_p_FormFactorPrism3To_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x)); } -static void *_p_FormFactorCuboctahedronTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); -} static void *_p_IFormFactorPolyhedronTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IBornFF *) ((IFormFactorPolyhedron *) x)); } @@ -72159,6 +72156,9 @@ static void *_p_FormFactorPyramid3To_p_INode(void *x, int *SWIGUNUSEDPARM(newmem static void *_p_FormFactorTruncatedSpheroidTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x)); } +static void *_p_FormFactorBipyramid4To_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((INode *) (ISampleNode *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorBipyramid4 *) x)); +} static void *_p_FTDecayFunction2DGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x)); } @@ -72405,9 +72405,6 @@ static void *_p_FormFactorDodecahedronTo_p_IBornFF(void *x, int *SWIGUNUSEDPARM( static void *_p_IFormFactorPolyhedronTo_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IBornFF *) ((IFormFactorPolyhedron *) x)); } -static void *_p_FormFactorCuboctahedronTo_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IBornFF *) (IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x)); -} static void *_p_FormFactorConeTo_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IBornFF *) ((FormFactorCone *) x)); } @@ -72450,6 +72447,9 @@ static void *_p_FormFactorPyramid3To_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newm static void *_p_FormFactorPyramid4To_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IBornFF *) (IFormFactorPolyhedron *) ((FormFactorPyramid4 *) x)); } +static void *_p_FormFactorBipyramid4To_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IBornFF *) (IFormFactorPolyhedron *) ((FormFactorBipyramid4 *) x)); +} static void *_p_FormFactorSawtoothRippleBoxTo_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IBornFF *) (IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x)); } @@ -72533,6 +72533,7 @@ static swig_type_info _swigt__p_FTDistribution2DCone = {"_p_FTDistribution2DCone static swig_type_info _swigt__p_FTDistribution2DGate = {"_p_FTDistribution2DGate", "FTDistribution2DGate *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FTDistribution2DGauss = {"_p_FTDistribution2DGauss", "FTDistribution2DGauss *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FTDistribution2DVoigt = {"_p_FTDistribution2DVoigt", "FTDistribution2DVoigt *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_FormFactorBipyramid4 = {"_p_FormFactorBipyramid4", "FormFactorBipyramid4 *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorBox = {"_p_FormFactorBox", "FormFactorBox *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorCantellatedCube = {"_p_FormFactorCantellatedCube", "FormFactorCantellatedCube *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorCone = {"_p_FormFactorCone", "FormFactorCone *", 0, 0, (void*)0, 0}; @@ -72540,7 +72541,6 @@ static swig_type_info _swigt__p_FormFactorCone6 = {"_p_FormFactorCone6", "FormFa static swig_type_info _swigt__p_FormFactorCosineRippleBox = {"_p_FormFactorCosineRippleBox", "FormFactorCosineRippleBox *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorCosineRippleGauss = {"_p_FormFactorCosineRippleGauss", "FormFactorCosineRippleGauss *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorCosineRippleLorentz = {"_p_FormFactorCosineRippleLorentz", "FormFactorCosineRippleLorentz *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_FormFactorCuboctahedron = {"_p_FormFactorCuboctahedron", "FormFactorCuboctahedron *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorCylinder = {"_p_FormFactorCylinder", "FormFactorCylinder *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorDodecahedron = {"_p_FormFactorDodecahedron", "FormFactorDodecahedron *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorEllipsoidalCylinder = {"_p_FormFactorEllipsoidalCylinder", "FormFactorEllipsoidalCylinder *", 0, 0, (void*)0, 0}; @@ -72709,6 +72709,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_FTDistribution2DGate, &_swigt__p_FTDistribution2DGauss, &_swigt__p_FTDistribution2DVoigt, + &_swigt__p_FormFactorBipyramid4, &_swigt__p_FormFactorBox, &_swigt__p_FormFactorCantellatedCube, &_swigt__p_FormFactorCone, @@ -72716,7 +72717,6 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_FormFactorCosineRippleBox, &_swigt__p_FormFactorCosineRippleGauss, &_swigt__p_FormFactorCosineRippleLorentz, - &_swigt__p_FormFactorCuboctahedron, &_swigt__p_FormFactorCylinder, &_swigt__p_FormFactorDodecahedron, &_swigt__p_FormFactorEllipsoidalCylinder, @@ -72885,6 +72885,7 @@ static swig_cast_info _swigc__p_FTDistribution2DCone[] = { {&_swigt__p_FTDistri static swig_cast_info _swigc__p_FTDistribution2DGate[] = { {&_swigt__p_FTDistribution2DGate, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FTDistribution2DGauss[] = { {&_swigt__p_FTDistribution2DGauss, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FTDistribution2DVoigt[] = { {&_swigt__p_FTDistribution2DVoigt, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_FormFactorBipyramid4[] = { {&_swigt__p_FormFactorBipyramid4, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorBox[] = { {&_swigt__p_FormFactorBox, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorCantellatedCube[] = { {&_swigt__p_FormFactorCantellatedCube, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorCone[] = { {&_swigt__p_FormFactorCone, 0, 0, 0},{0, 0, 0, 0}}; @@ -72892,7 +72893,6 @@ static swig_cast_info _swigc__p_FormFactorCone6[] = { {&_swigt__p_FormFactorCon static swig_cast_info _swigc__p_FormFactorCosineRippleBox[] = { {&_swigt__p_FormFactorCosineRippleBox, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorCosineRippleGauss[] = { {&_swigt__p_FormFactorCosineRippleGauss, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorCosineRippleLorentz[] = { {&_swigt__p_FormFactorCosineRippleLorentz, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_FormFactorCuboctahedron[] = { {&_swigt__p_FormFactorCuboctahedron, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorCylinder[] = { {&_swigt__p_FormFactorCylinder, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorDodecahedron[] = { {&_swigt__p_FormFactorDodecahedron, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorEllipsoidalCylinder[] = { {&_swigt__p_FormFactorEllipsoidalCylinder, 0, 0, 0},{0, 0, 0, 0}}; @@ -72921,23 +72921,23 @@ static swig_cast_info _swigc__p_FormFactorTruncatedSphere[] = { {&_swigt__p_For static swig_cast_info _swigc__p_FormFactorTruncatedSpheroid[] = { {&_swigt__p_FormFactorTruncatedSpheroid, 0, 0, 0},{0, 0, 0, 0}}; 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_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_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_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_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_FormFactorPyramid2, _p_FormFactorPyramid2To_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_FormFactorPyramid3, _p_FormFactorPyramid3To_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorPyramid4, _p_FormFactorPyramid4To_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_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_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_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_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_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid2, _p_FormFactorPyramid2To_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid3, _p_FormFactorPyramid3To_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_FormFactorPyramid4, _p_FormFactorPyramid4To_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_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_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_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_FormFactorCylinder, _p_FormFactorCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_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_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_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_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_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_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_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_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_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_FormFactorPyramid2, _p_FormFactorPyramid2To_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_FormFactorPyramid3, _p_FormFactorPyramid3To_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorBipyramid4, _p_FormFactorBipyramid4To_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorPyramid4, _p_FormFactorPyramid4To_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IBornFF, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_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_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_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_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_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid2, _p_FormFactorPyramid2To_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid3, _p_FormFactorPyramid3To_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_FormFactorPyramid4, _p_FormFactorPyramid4To_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorBipyramid4, _p_FormFactorBipyramid4To_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_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_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_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_FormFactorCylinder, _p_FormFactorCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_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_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_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_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_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_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_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_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_FormFactorPyramid2, _p_FormFactorPyramid2To_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPyramid3, _p_FormFactorPyramid3To_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPyramid4, _p_FormFactorPyramid4To_p_IFormFactorPolyhedron, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_IFormFactorPolyhedron[] = { {&_swigt__p_IFormFactorPolyhedron, 0, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_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_FormFactorPyramid2, _p_FormFactorPyramid2To_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPyramid3, _p_FormFactorPyramid3To_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorBipyramid4, _p_FormFactorBipyramid4To_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPyramid4, _p_FormFactorPyramid4To_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_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_INode, 0, 0}, {&_swigt__p_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_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_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_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_INode, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid2, _p_FormFactorPyramid2To_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid3, _p_FormFactorPyramid3To_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_FormFactorPyramid4, _p_FormFactorPyramid4To_p_INode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_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_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_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_FormFactorCylinder, _p_FormFactorCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_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_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_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_INode, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite3DLattice, _p_InterferenceFinite3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference3DLattice, _p_Interference3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_INode, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_INode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_INode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_IBornFF, _p_IBornFFTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_INode, 0, 0}, {&_swigt__p_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_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_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_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_INode, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid2, _p_FormFactorPyramid2To_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid3, _p_FormFactorPyramid3To_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_FormFactorPyramid4, _p_FormFactorPyramid4To_p_INode, 0, 0}, {&_swigt__p_FormFactorBipyramid4, _p_FormFactorBipyramid4To_p_INode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_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_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_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_FormFactorCylinder, _p_FormFactorCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_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_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_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_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_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_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_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_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_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_FormFactorPyramid2, _p_FormFactorPyramid2To_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_FormFactorPyramid3, _p_FormFactorPyramid3To_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorPyramid4, _p_FormFactorPyramid4To_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_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_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_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_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_FormFactorPlatonicTetrahedron, _p_FormFactorPlatonicTetrahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorPlatonicOctahedron, _p_FormFactorPlatonicOctahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_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_FormFactorPyramid2, _p_FormFactorPyramid2To_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_FormFactorPyramid3, _p_FormFactorPyramid3To_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorBipyramid4, _p_FormFactorBipyramid4To_p_ISampleNode, 0, 0}, {&_swigt__p_FormFactorPyramid4, _p_FormFactorPyramid4To_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_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}}; @@ -73061,6 +73061,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_FTDistribution2DGate, _swigc__p_FTDistribution2DGauss, _swigc__p_FTDistribution2DVoigt, + _swigc__p_FormFactorBipyramid4, _swigc__p_FormFactorBox, _swigc__p_FormFactorCantellatedCube, _swigc__p_FormFactorCone, @@ -73068,7 +73069,6 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_FormFactorCosineRippleBox, _swigc__p_FormFactorCosineRippleGauss, _swigc__p_FormFactorCosineRippleLorentz, - _swigc__p_FormFactorCuboctahedron, _swigc__p_FormFactorCylinder, _swigc__p_FormFactorDodecahedron, _swigc__p_FormFactorEllipsoidalCylinder,