From 5b0ff63283b5da1e561b08c293c7858237406d97 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Fri, 23 Jul 2021 08:25:16 +0200
Subject: [PATCH] Material no longer inherits from IComponent

---
 Sample/Material/Material.h            |   3 +-
 auto/Wrap/libBornAgainSample.py       |   2 +-
 auto/Wrap/libBornAgainSample_wrap.cpp | 889 +++++++++++++-------------
 3 files changed, 445 insertions(+), 449 deletions(-)

diff --git a/Sample/Material/Material.h b/Sample/Material/Material.h
index 752e0e9b15f..e5bec8203ef 100644
--- a/Sample/Material/Material.h
+++ b/Sample/Material/Material.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_SAMPLE_MATERIAL_MATERIAL_H
 #define BORNAGAIN_SAMPLE_MATERIAL_MATERIAL_H
 
-#include "Param/Base/IComponent.h"
 #include "Sample/Material/BaseMaterialImpl.h"
 #include <memory>
 #include <vector>
@@ -26,7 +25,7 @@ class WavevectorInfo;
 //! A wrapper for underlying material implementation
 //! @ingroup materials
 
-class Material : public IComponent {
+class Material {
 public:
 #ifndef SWIG
     //! Creates material with particular material implementation
diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py
index f604752fe71..e9b92425663 100644
--- a/auto/Wrap/libBornAgainSample.py
+++ b/auto/Wrap/libBornAgainSample.py
@@ -2747,7 +2747,7 @@ class SampleBuilderFactoryTemp(object):
 # Register SampleBuilderFactoryTemp in _libBornAgainSample:
 _libBornAgainSample.SampleBuilderFactoryTemp_swigregister(SampleBuilderFactoryTemp)
 
-class Material(libBornAgainParam.IComponent):
+class Material(object):
     r"""
 
 
diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp
index 33c6855ca22..8bc1284b655 100644
--- a/auto/Wrap/libBornAgainSample_wrap.cpp
+++ b/auto/Wrap/libBornAgainSample_wrap.cpp
@@ -74008,671 +74008,668 @@ static void *_p_FormFactorAnisoPyramidTo_p_IBornFF(void *x, int *SWIGUNUSEDPARM(
 static void *_p_FormFactorPrism3To_p_IBornFF(void *x, int *SWIGUNUSEDPARM(newmemory)) {
     return (void *)((IBornFF *) (IFormFactorPrism *) ((FormFactorPrism3 *) x));
 }
-static void *_p_FormFactorBoxTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x));
-}
-static void *_p_MultiLayerTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((MultiLayer *) x));
+static void *_p_FormFactorBoxTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x));
 }
-static void *_p_FormFactorSphereGaussianRadiusTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x));
+static void *_p_MultiLayerTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((MultiLayer *) x));
 }
-static void *_p_FormFactorSphereLogNormalRadiusTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x));
+static void *_p_FormFactorSphereGaussianRadiusTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x));
 }
-static void *_p_ParameterDistributionTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *) ((ParameterDistribution *) x));
+static void *_p_FormFactorSphereLogNormalRadiusTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x));
 }
-static void *_p_FTDistribution1DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DGauss *) x));
+static void *_p_ParameterDistributionTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *)  ((ParameterDistribution *) x));
 }
-static void *_p_FTDecayFunction1DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DGauss *) x));
+static void *_p_FTDecayFunction1DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DGauss *) x));
 }
-static void *_p_InterferenceFunctionNoneTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionNone *) x));
+static void *_p_FTDistribution1DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DGauss *) x));
 }
-static void *_p_ParticleLayoutTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((ParticleLayout *) x));
+static void *_p_InterferenceFunctionNoneTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionNone *) x));
 }
-static void *_p_FormFactorHemiEllipsoidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHemiEllipsoid *) x));
+static void *_p_ParticleLayoutTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((ParticleLayout *) x));
 }
-static void *_p_INodeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *) ((INode *) x));
+static void *_p_FormFactorHemiEllipsoidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHemiEllipsoid *) x));
 }
-static void *_p_IBornFFTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((IBornFF *) x));
+static void *_p_INodeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *)  ((INode *) x));
 }
-static void *_p_MisesGaussPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((MisesGaussPeakShape *) x));
+static void *_p_IBornFFTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((IBornFF *) x));
 }
-static void *_p_MisesFisherGaussPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((MisesFisherGaussPeakShape *) x));
+static void *_p_MisesGaussPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((MisesGaussPeakShape *) x));
 }
-static void *_p_LorentzFisherPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((LorentzFisherPeakShape *) x));
+static void *_p_MisesFisherGaussPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((MisesFisherGaussPeakShape *) x));
 }
-static void *_p_GaussFisherPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((GaussFisherPeakShape *) x));
+static void *_p_LorentzFisherPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((LorentzFisherPeakShape *) x));
 }
-static void *_p_IsotropicLorentzPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((IsotropicLorentzPeakShape *) x));
+static void *_p_GaussFisherPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((GaussFisherPeakShape *) x));
 }
-static void *_p_IsotropicGaussPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((IsotropicGaussPeakShape *) x));
+static void *_p_IsotropicLorentzPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((IsotropicLorentzPeakShape *) x));
 }
-static void *_p_IPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IPeakShape *) x));
+static void *_p_IsotropicGaussPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((IsotropicGaussPeakShape *) x));
 }
-static void *_p_FormFactorPrism3To_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x));
+static void *_p_IPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IPeakShape *) x));
 }
-static void *_p_IFormFactorPolyhedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPolyhedron *) x));
+static void *_p_FormFactorPrism3To_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x));
 }
-static void *_p_IFormFactorPrismTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPrism *) x));
+static void *_p_IFormFactorPolyhedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPolyhedron *) x));
 }
-static void *_p_FormFactorCuboctahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x));
+static void *_p_IFormFactorPrismTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPrism *) x));
 }
-static void *_p_FormFactorDodecahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x));
+static void *_p_FormFactorCuboctahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x));
 }
-static void *_p_FormFactorIcosahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x));
+static void *_p_FormFactorDodecahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x));
 }
-static void *_p_FormFactorTetrahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x));
+static void *_p_FormFactorIcosahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x));
 }
-static void *_p_FormFactorPrism6To_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x));
+static void *_p_FormFactorTetrahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x));
 }
-static void *_p_FTDistribution2DConeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DCone *) x));
+static void *_p_FormFactorPrism6To_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x));
 }
-static void *_p_ParticleCoreShellTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleCoreShell *) x));
+static void *_p_FTDistribution2DConeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DCone *) x));
 }
-static void *_p_ISawtoothRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x));
+static void *_p_ParticleCoreShellTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleCoreShell *) x));
 }
-static void *_p_IProfileRectangularRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x));
+static void *_p_ISawtoothRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x));
 }
-static void *_p_FormFactorFullSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSphere *) x));
+static void *_p_IProfileRectangularRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x));
 }
-static void *_p_FormFactorTruncatedSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSphere *) x));
+static void *_p_FormFactorFullSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSphere *) x));
 }
-static void *_p_IFormFactorTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IFormFactor *) x));
+static void *_p_FormFactorTruncatedSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSphere *) x));
 }
-static void *_p_FormFactorLongBoxGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxGauss *) x));
+static void *_p_IFormFactorTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IFormFactor *) x));
 }
-static void *_p_InterferenceFunctionHardDiskTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionHardDisk *) x));
+static void *_p_FormFactorLongBoxGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxGauss *) x));
 }
-static void *_p_FTDistribution2DGateTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DGate *) x));
+static void *_p_InterferenceFunctionHardDiskTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionHardDisk *) x));
 }
-static void *_p_FTDistribution1DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DVoigt *) x));
+static void *_p_FTDistribution2DGateTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DGate *) x));
 }
-static void *_p_FTDecayFunction1DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DVoigt *) x));
+static void *_p_FTDistribution1DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DVoigt *) x));
 }
-static void *_p_IdentityRotationTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((IdentityRotation *) x));
+static void *_p_FTDecayFunction1DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DVoigt *) x));
 }
-static void *_p_IRotationTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IRotation *) x));
+static void *_p_IdentityRotationTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((IdentityRotation *) x));
 }
-static void *_p_RotationXTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationX *) x));
+static void *_p_IRotationTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((IRotation *) x));
 }
-static void *_p_FormFactorFullSpheroidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSpheroid *) x));
+static void *_p_RotationXTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationX *) x));
 }
-static void *_p_FormFactorTruncatedSpheroidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x));
+static void *_p_FormFactorFullSpheroidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSpheroid *) x));
 }
-static void *_p_FTDistribution2DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DGauss *) x));
+static void *_p_FormFactorTruncatedSpheroidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x));
 }
-static void *_p_FTDecayFunction2DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x));
+static void *_p_FTDistribution2DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DGauss *) x));
 }
-static void *_p_RotationYTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationY *) x));
+static void *_p_FTDecayFunction2DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x));
 }
-static void *_p_FormFactorCantellatedCubeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x));
+static void *_p_RotationYTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationY *) x));
 }
-static void *_p_FormFactorTruncatedCubeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x));
+static void *_p_FormFactorCantellatedCubeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x));
 }
-static void *_p_RotationZTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationZ *) x));
+static void *_p_FormFactorTruncatedCubeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x));
 }
-static void *_p_IParametricComponentTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *)  ((IParametricComponent *) x));
+static void *_p_RotationZTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationZ *) x));
 }
-static void *_p_ISampleBuilderTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *) ((ISampleBuilder *) x));
+static void *_p_ISampleBuilderTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *)  ((ISampleBuilder *) x));
 }
-static void *_p_IAbstractParticleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IAbstractParticle *) x));
+static void *_p_IAbstractParticleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IAbstractParticle *) x));
 }
-static void *_p_IParticleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *) ((IParticle *) x));
+static void *_p_IParticleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *) ((IParticle *) x));
 }
-static void *_p_ParticleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((Particle *) x));
+static void *_p_ParticleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((Particle *) x));
 }
-static void *_p_Lattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((Lattice2D *) x));
+static void *_p_Lattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((Lattice2D *) x));
 }
-static void *_p_BasicLattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(Lattice2D *) ((BasicLattice2D *) x));
+static void *_p_BasicLattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(Lattice2D *) ((BasicLattice2D *) x));
 }
-static void *_p_SquareLattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(Lattice2D *) ((SquareLattice2D *) x));
+static void *_p_SquareLattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(Lattice2D *) ((SquareLattice2D *) x));
 }
-static void *_p_HexagonalLattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(Lattice2D *) ((HexagonalLattice2D *) x));
+static void *_p_HexagonalLattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(Lattice2D *) ((HexagonalLattice2D *) x));
 }
-static void *_p_IFTDecayFunction1DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDecayFunction1D *) x));
+static void *_p_IFTDecayFunction1DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((IFTDecayFunction1D *) x));
 }
-static void *_p_IFTDistribution1DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDistribution1D *) x));
+static void *_p_IFTDistribution1DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((IFTDistribution1D *) x));
 }
-static void *_p_FormFactorConeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCone *) x));
+static void *_p_FormFactorConeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCone *) x));
 }
-static void *_p_FormFactorCosineRippleBoxTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x));
+static void *_p_FormFactorCosineRippleBoxTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x));
 }
-static void *_p_FormFactorSawtoothRippleBoxTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x));
+static void *_p_FormFactorSawtoothRippleBoxTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x));
 }
-static void *_p_InterferenceFunctionTwinTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionTwin *) x));
+static void *_p_InterferenceFunctionTwinTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionTwin *) x));
 }
-static void *_p_LayerTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((Layer *) x));
+static void *_p_LayerTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((Layer *) x));
 }
-static void *_p_MaterialTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *)  ((Material *) x));
+static void *_p_FormFactorAnisoPyramidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x));
 }
-static void *_p_FormFactorAnisoPyramidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x));
+static void *_p_FormFactorPyramidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x));
 }
-static void *_p_FormFactorPyramidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x));
+static void *_p_FormFactorCylinderTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCylinder *) x));
 }
-static void *_p_FormFactorCylinderTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCylinder *) x));
+static void *_p_FormFactorEllipsoidalCylinderTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x));
 }
-static void *_p_FormFactorEllipsoidalCylinderTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x));
+static void *_p_ParticleCompositionTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleComposition *) x));
 }
-static void *_p_ParticleCompositionTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleComposition *) x));
+static void *_p_FTDistribution1DCosineTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DCosine *) x));
 }
-static void *_p_FTDistribution1DCosineTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DCosine *) x));
+static void *_p_FTDistribution1DGateTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DGate *) x));
 }
-static void *_p_FTDistribution1DGateTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DGate *) x));
+static void *_p_ISampleNodeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((ISampleNode *) x));
 }
-static void *_p_ISampleNodeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((ISampleNode *) x));
+static void *_p_FTDistribution2DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DVoigt *) x));
 }
-static void *_p_FTDistribution2DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DVoigt *) x));
+static void *_p_FTDecayFunction2DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DVoigt *) x));
 }
-static void *_p_FTDecayFunction2DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DVoigt *) x));
+static void *_p_FormFactorCosineRippleGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x));
 }
-static void *_p_FormFactorCosineRippleGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x));
+static void *_p_FormFactorSawtoothRippleGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x));
 }
-static void *_p_FormFactorSawtoothRippleGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x));
+static void *_p_FTDistribution2DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DCauchy *) x));
 }
-static void *_p_FTDistribution2DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DCauchy *) x));
+static void *_p_FTDecayFunction1DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DCauchy *) x));
 }
-static void *_p_FTDecayFunction1DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DCauchy *) x));
+static void *_p_FTDecayFunction2DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DCauchy *) x));
 }
-static void *_p_FTDecayFunction2DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DCauchy *) x));
+static void *_p_FTDistribution1DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DCauchy *) x));
 }
-static void *_p_FTDistribution1DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DCauchy *) x));
+static void *_p_IInterferenceFunctionTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IInterferenceFunction *) x));
 }
-static void *_p_IInterferenceFunctionTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IInterferenceFunction *) x));
+static void *_p_FormFactorCone6To_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x));
 }
-static void *_p_FormFactorCone6To_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x));
+static void *_p_IFormFactorDecoratorTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((IFormFactorDecorator *) x));
 }
-static void *_p_IFormFactorDecoratorTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((IFormFactorDecorator *) x));
+static void *_p_LayerRoughnessTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((LayerRoughness *) x));
 }
-static void *_p_LayerRoughnessTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((LayerRoughness *) x));
+static void *_p_InterferenceFunctionRadialParaCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionRadialParaCrystal *) x));
 }
-static void *_p_InterferenceFunctionRadialParaCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionRadialParaCrystal *) x));
+static void *_p_InterferenceFunction2DParaCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DParaCrystal *) x));
 }
-static void *_p_InterferenceFunction2DParaCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DParaCrystal *) x));
+static void *_p_FormFactorCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((FormFactorCrystal *) x));
 }
-static void *_p_FormFactorCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((FormFactorCrystal *) x));
+static void *_p_CrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((Crystal *) x));
 }
-static void *_p_CrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((Crystal *) x));
+static void *_p_MesoCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((MesoCrystal *) x));
 }
-static void *_p_MesoCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((MesoCrystal *) x));
+static void *_p_ICosineRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x));
 }
-static void *_p_ICosineRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x));
+static void *_p_IProfileRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IProfileRipple *) x));
 }
-static void *_p_IProfileRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IProfileRipple *) x));
+static void *_p_Lattice3DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((Lattice3D *) x));
 }
-static void *_p_Lattice3DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((Lattice3D *) x));
+static void *_p_IFTDistribution2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((IFTDistribution2D *) x));
 }
-static void *_p_IFTDistribution2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDistribution2D *) x));
+static void *_p_IFTDecayFunction2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *) ((IFTDecayFunction2D *) x));
 }
-static void *_p_IFTDecayFunction2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDecayFunction2D *) x));
+static void *_p_FormFactorHollowSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHollowSphere *) x));
 }
-static void *_p_FormFactorHollowSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHollowSphere *) x));
+static void *_p_FormFactorGaussSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorGaussSphere *) x));
 }
-static void *_p_FormFactorGaussSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorGaussSphere *) x));
+static void *_p_FormFactorWeightedTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((FormFactorWeighted *) x));
 }
-static void *_p_FormFactorWeightedTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((FormFactorWeighted *) x));
+static void *_p_InterferenceFunctionFinite3DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite3DLattice *) x));
 }
-static void *_p_InterferenceFunctionFinite3DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite3DLattice *) x));
+static void *_p_InterferenceFunctionFinite2DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite2DLattice *) x));
 }
-static void *_p_InterferenceFunctionFinite2DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite2DLattice *) x));
+static void *_p_InterferenceFunction3DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction3DLattice *) x));
 }
-static void *_p_InterferenceFunction3DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction3DLattice *) x));
+static void *_p_InterferenceFunction2DSuperLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DSuperLattice *) x));
 }
-static void *_p_InterferenceFunction2DSuperLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DSuperLattice *) x));
+static void *_p_InterferenceFunction2DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DLattice *) x));
 }
-static void *_p_InterferenceFunction2DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DLattice *) x));
+static void *_p_InterferenceFunction1DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction1DLattice *) x));
 }
-static void *_p_InterferenceFunction1DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction1DLattice *) x));
+static void *_p_FormFactorCosineRippleLorentzTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x));
 }
-static void *_p_FormFactorCosineRippleLorentzTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x));
+static void *_p_FormFactorLongBoxLorentzTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxLorentz *) x));
 }
-static void *_p_FormFactorLongBoxLorentzTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxLorentz *) x));
+static void *_p_FormFactorSawtoothRippleLorentzTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x));
 }
-static void *_p_FormFactorSawtoothRippleLorentzTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x));
+static void *_p_FTDistribution1DTriangleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DTriangle *) x));
 }
-static void *_p_FTDistribution1DTriangleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DTriangle *) x));
+static void *_p_FTDecayFunction1DTriangleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DTriangle *) x));
 }
-static void *_p_FTDecayFunction1DTriangleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DTriangle *) x));
+static void *_p_RotationEulerTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationEuler *) x));
 }
-static void *_p_RotationEulerTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationEuler *) x));
+static void *_p_FormFactorBoxTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x));
 }
-static void *_p_FormFactorBoxTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorBox *) x));
+static void *_p_MultiLayerTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((MultiLayer *) x));
 }
-static void *_p_MultiLayerTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((MultiLayer *) x));
+static void *_p_FormFactorSphereGaussianRadiusTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x));
 }
-static void *_p_FormFactorSphereGaussianRadiusTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereGaussianRadius *) x));
+static void *_p_FormFactorSphereLogNormalRadiusTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x));
 }
-static void *_p_FormFactorSphereLogNormalRadiusTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorSphereLogNormalRadius *) x));
+static void *_p_ParameterDistributionTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *) ((ParameterDistribution *) x));
 }
-static void *_p_ParameterDistributionTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *)  ((ParameterDistribution *) x));
+static void *_p_FTDecayFunction1DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DGauss *) x));
 }
-static void *_p_FTDecayFunction1DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DGauss *) x));
+static void *_p_FTDistribution1DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DGauss *) x));
 }
-static void *_p_FTDistribution1DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DGauss *) x));
+static void *_p_InterferenceFunctionNoneTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionNone *) x));
 }
-static void *_p_InterferenceFunctionNoneTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionNone *) x));
+static void *_p_ParticleLayoutTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((ParticleLayout *) x));
 }
-static void *_p_ParticleLayoutTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((ParticleLayout *) x));
+static void *_p_FormFactorHemiEllipsoidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHemiEllipsoid *) x));
 }
-static void *_p_FormFactorHemiEllipsoidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHemiEllipsoid *) x));
+static void *_p_INodeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *) ((INode *) x));
 }
-static void *_p_INodeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *)  ((INode *) x));
+static void *_p_IBornFFTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((IBornFF *) x));
 }
-static void *_p_IBornFFTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((IBornFF *) x));
+static void *_p_MisesGaussPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((MisesGaussPeakShape *) x));
 }
-static void *_p_MisesGaussPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((MisesGaussPeakShape *) x));
+static void *_p_MisesFisherGaussPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((MisesFisherGaussPeakShape *) x));
 }
-static void *_p_MisesFisherGaussPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((MisesFisherGaussPeakShape *) x));
+static void *_p_LorentzFisherPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((LorentzFisherPeakShape *) x));
 }
-static void *_p_LorentzFisherPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((LorentzFisherPeakShape *) x));
+static void *_p_GaussFisherPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((GaussFisherPeakShape *) x));
 }
-static void *_p_GaussFisherPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((GaussFisherPeakShape *) x));
+static void *_p_IsotropicLorentzPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((IsotropicLorentzPeakShape *) x));
 }
-static void *_p_IsotropicLorentzPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((IsotropicLorentzPeakShape *) x));
+static void *_p_IsotropicGaussPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IPeakShape *) ((IsotropicGaussPeakShape *) x));
 }
-static void *_p_IsotropicGaussPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IPeakShape *) ((IsotropicGaussPeakShape *) x));
+static void *_p_IPeakShapeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IPeakShape *) x));
 }
-static void *_p_IPeakShapeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IPeakShape *) x));
+static void *_p_FormFactorPrism3To_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x));
 }
-static void *_p_FormFactorPrism3To_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism3 *) x));
+static void *_p_IFormFactorPolyhedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPolyhedron *) x));
 }
-static void *_p_IFormFactorPolyhedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPolyhedron *) x));
+static void *_p_IFormFactorPrismTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPrism *) x));
 }
-static void *_p_IFormFactorPrismTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IFormFactorPrism *) x));
+static void *_p_FormFactorCuboctahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x));
 }
-static void *_p_FormFactorCuboctahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCuboctahedron *) x));
+static void *_p_FormFactorDodecahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x));
 }
-static void *_p_FormFactorDodecahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorDodecahedron *) x));
+static void *_p_FormFactorIcosahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x));
 }
-static void *_p_FormFactorIcosahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorIcosahedron *) x));
+static void *_p_FormFactorTetrahedronTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x));
 }
-static void *_p_FormFactorTetrahedronTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTetrahedron *) x));
+static void *_p_FormFactorPrism6To_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x));
 }
-static void *_p_FormFactorPrism6To_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPrism *) ((FormFactorPrism6 *) x));
+static void *_p_FTDistribution2DConeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DCone *) x));
 }
-static void *_p_FTDistribution2DConeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DCone *) x));
+static void *_p_ParticleCoreShellTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleCoreShell *) x));
 }
-static void *_p_ParticleCoreShellTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleCoreShell *) x));
+static void *_p_ISawtoothRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x));
 }
-static void *_p_ISawtoothRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ISawtoothRipple *) x));
+static void *_p_IProfileRectangularRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x));
 }
-static void *_p_IProfileRectangularRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((IProfileRectangularRipple *) x));
+static void *_p_FormFactorFullSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSphere *) x));
 }
-static void *_p_FormFactorFullSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSphere *) x));
+static void *_p_FormFactorTruncatedSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSphere *) x));
 }
-static void *_p_FormFactorTruncatedSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSphere *) x));
+static void *_p_IFormFactorTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IFormFactor *) x));
 }
-static void *_p_IFormFactorTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IFormFactor *) x));
+static void *_p_FormFactorLongBoxGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxGauss *) x));
 }
-static void *_p_FormFactorLongBoxGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxGauss *) x));
+static void *_p_InterferenceFunctionHardDiskTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionHardDisk *) x));
 }
-static void *_p_InterferenceFunctionHardDiskTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionHardDisk *) x));
+static void *_p_FTDistribution2DGateTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DGate *) x));
 }
-static void *_p_FTDistribution2DGateTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DGate *) x));
+static void *_p_FTDistribution1DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DVoigt *) x));
 }
-static void *_p_FTDistribution1DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DVoigt *) x));
+static void *_p_FTDecayFunction1DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DVoigt *) x));
 }
-static void *_p_FTDecayFunction1DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DVoigt *) x));
+static void *_p_IdentityRotationTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((IdentityRotation *) x));
 }
-static void *_p_IdentityRotationTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((IdentityRotation *) x));
+static void *_p_IRotationTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IRotation *) x));
 }
-static void *_p_IRotationTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((IRotation *) x));
+static void *_p_RotationXTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationX *) x));
 }
-static void *_p_RotationXTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationX *) x));
+static void *_p_FormFactorFullSpheroidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSpheroid *) x));
 }
-static void *_p_FormFactorFullSpheroidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorFullSpheroid *) x));
+static void *_p_FormFactorTruncatedSpheroidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x));
 }
-static void *_p_FormFactorTruncatedSpheroidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorTruncatedSpheroid *) x));
+static void *_p_FTDistribution2DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DGauss *) x));
 }
-static void *_p_FTDistribution2DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DGauss *) x));
+static void *_p_FTDecayFunction2DGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x));
 }
-static void *_p_FTDecayFunction2DGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DGauss *) x));
+static void *_p_RotationYTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationY *) x));
 }
-static void *_p_RotationYTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationY *) x));
+static void *_p_FormFactorCantellatedCubeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x));
 }
-static void *_p_FormFactorCantellatedCubeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCantellatedCube *) x));
+static void *_p_FormFactorTruncatedCubeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x));
 }
-static void *_p_FormFactorTruncatedCubeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorTruncatedCube *) x));
+static void *_p_RotationZTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationZ *) x));
 }
-static void *_p_RotationZTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationZ *) x));
+static void *_p_IParametricComponentTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *)  ((IParametricComponent *) x));
 }
-static void *_p_ISampleBuilderTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *)  ((ISampleBuilder *) x));
+static void *_p_ISampleBuilderTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *) ((ISampleBuilder *) x));
 }
-static void *_p_IAbstractParticleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IAbstractParticle *) x));
+static void *_p_IAbstractParticleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IAbstractParticle *) x));
 }
-static void *_p_IParticleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *) ((IParticle *) x));
+static void *_p_IParticleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *) ((IParticle *) x));
 }
-static void *_p_ParticleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((Particle *) x));
+static void *_p_ParticleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((Particle *) x));
 }
-static void *_p_Lattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((Lattice2D *) x));
+static void *_p_Lattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((Lattice2D *) x));
 }
-static void *_p_BasicLattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(Lattice2D *) ((BasicLattice2D *) x));
+static void *_p_BasicLattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(Lattice2D *) ((BasicLattice2D *) x));
 }
-static void *_p_SquareLattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(Lattice2D *) ((SquareLattice2D *) x));
+static void *_p_SquareLattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(Lattice2D *) ((SquareLattice2D *) x));
 }
-static void *_p_HexagonalLattice2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(Lattice2D *) ((HexagonalLattice2D *) x));
+static void *_p_HexagonalLattice2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(Lattice2D *) ((HexagonalLattice2D *) x));
 }
-static void *_p_IFTDecayFunction1DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((IFTDecayFunction1D *) x));
+static void *_p_IFTDecayFunction1DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDecayFunction1D *) x));
 }
-static void *_p_IFTDistribution1DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((IFTDistribution1D *) x));
+static void *_p_IFTDistribution1DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDistribution1D *) x));
 }
-static void *_p_FormFactorConeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCone *) x));
+static void *_p_FormFactorConeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCone *) x));
 }
-static void *_p_FormFactorCosineRippleBoxTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x));
+static void *_p_FormFactorCosineRippleBoxTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleBox *) x));
 }
-static void *_p_FormFactorSawtoothRippleBoxTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x));
+static void *_p_FormFactorSawtoothRippleBoxTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleBox *) x));
 }
-static void *_p_InterferenceFunctionTwinTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionTwin *) x));
+static void *_p_InterferenceFunctionTwinTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionTwin *) x));
 }
-static void *_p_LayerTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((Layer *) x));
+static void *_p_LayerTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((Layer *) x));
 }
-static void *_p_FormFactorAnisoPyramidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x));
+static void *_p_FormFactorAnisoPyramidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorAnisoPyramid *) x));
 }
-static void *_p_FormFactorPyramidTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x));
+static void *_p_FormFactorPyramidTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorPyramid *) x));
 }
-static void *_p_FormFactorCylinderTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCylinder *) x));
+static void *_p_FormFactorCylinderTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorCylinder *) x));
 }
-static void *_p_FormFactorEllipsoidalCylinderTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x));
+static void *_p_FormFactorEllipsoidalCylinderTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorEllipsoidalCylinder *) x));
 }
-static void *_p_ParticleCompositionTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleComposition *) x));
+static void *_p_ParticleCompositionTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((ParticleComposition *) x));
 }
-static void *_p_FTDistribution1DCosineTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DCosine *) x));
+static void *_p_FTDistribution1DCosineTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DCosine *) x));
 }
-static void *_p_FTDistribution1DGateTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DGate *) x));
+static void *_p_FTDistribution1DGateTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DGate *) x));
 }
-static void *_p_ISampleNodeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((ISampleNode *) x));
+static void *_p_ISampleNodeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((ISampleNode *) x));
 }
-static void *_p_FTDistribution2DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DVoigt *) x));
+static void *_p_FTDistribution2DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DVoigt *) x));
 }
-static void *_p_FTDecayFunction2DVoigtTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DVoigt *) x));
+static void *_p_FTDecayFunction2DVoigtTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DVoigt *) x));
 }
-static void *_p_FormFactorCosineRippleGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x));
+static void *_p_FormFactorCosineRippleGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleGauss *) x));
 }
-static void *_p_FormFactorSawtoothRippleGaussTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x));
+static void *_p_FormFactorSawtoothRippleGaussTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleGauss *) x));
 }
-static void *_p_FTDistribution2DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution2D *) ((FTDistribution2DCauchy *) x));
+static void *_p_FTDistribution2DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution2D *) ((FTDistribution2DCauchy *) x));
 }
-static void *_p_FTDecayFunction1DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DCauchy *) x));
+static void *_p_FTDecayFunction1DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DCauchy *) x));
 }
-static void *_p_FTDecayFunction2DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DCauchy *) x));
+static void *_p_FTDecayFunction2DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction2D *) ((FTDecayFunction2DCauchy *) x));
 }
-static void *_p_FTDistribution1DCauchyTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DCauchy *) x));
+static void *_p_FTDistribution1DCauchyTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DCauchy *) x));
 }
-static void *_p_IInterferenceFunctionTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((IInterferenceFunction *) x));
+static void *_p_IInterferenceFunctionTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((IInterferenceFunction *) x));
 }
-static void *_p_FormFactorCone6To_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x));
+static void *_p_FormFactorCone6To_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IFormFactorPolyhedron *) ((FormFactorCone6 *) x));
 }
-static void *_p_IFormFactorDecoratorTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((IFormFactorDecorator *) x));
+static void *_p_IFormFactorDecoratorTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((IFormFactorDecorator *) x));
 }
-static void *_p_LayerRoughnessTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((LayerRoughness *) x));
+static void *_p_LayerRoughnessTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((LayerRoughness *) x));
 }
-static void *_p_InterferenceFunctionRadialParaCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionRadialParaCrystal *) x));
+static void *_p_InterferenceFunctionRadialParaCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionRadialParaCrystal *) x));
 }
-static void *_p_InterferenceFunction2DParaCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DParaCrystal *) x));
+static void *_p_InterferenceFunction2DParaCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DParaCrystal *) x));
 }
-static void *_p_FormFactorCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((FormFactorCrystal *) x));
+static void *_p_FormFactorCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((FormFactorCrystal *) x));
 }
-static void *_p_CrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *) ((Crystal *) x));
+static void *_p_CrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *) ((Crystal *) x));
 }
-static void *_p_MesoCrystalTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((MesoCrystal *) x));
+static void *_p_MesoCrystalTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IAbstractParticle *)(IParticle *) ((MesoCrystal *) x));
 }
-static void *_p_ICosineRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x));
+static void *_p_ICosineRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *) ((ICosineRipple *) x));
 }
-static void *_p_IProfileRippleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IProfileRipple *) x));
+static void *_p_IProfileRippleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((IProfileRipple *) x));
 }
-static void *_p_Lattice3DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((Lattice3D *) x));
+static void *_p_Lattice3DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((Lattice3D *) x));
 }
-static void *_p_IFTDistribution2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((IFTDistribution2D *) x));
+static void *_p_IFTDistribution2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDistribution2D *) x));
 }
-static void *_p_IFTDecayFunction2DTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *) ((IFTDecayFunction2D *) x));
+static void *_p_IFTDecayFunction2DTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *) ((IFTDecayFunction2D *) x));
 }
-static void *_p_FormFactorHollowSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHollowSphere *) x));
+static void *_p_FormFactorHollowSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorHollowSphere *) x));
 }
-static void *_p_FormFactorGaussSphereTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorGaussSphere *) x));
+static void *_p_FormFactorGaussSphereTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorGaussSphere *) x));
 }
-static void *_p_FormFactorWeightedTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *) ((FormFactorWeighted *) x));
+static void *_p_FormFactorWeightedTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *) ((FormFactorWeighted *) x));
 }
-static void *_p_InterferenceFunctionFinite3DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite3DLattice *) x));
+static void *_p_InterferenceFunctionFinite3DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite3DLattice *) x));
 }
-static void *_p_InterferenceFunctionFinite2DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite2DLattice *) x));
+static void *_p_InterferenceFunctionFinite2DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunctionFinite2DLattice *) x));
 }
-static void *_p_InterferenceFunction3DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction3DLattice *) x));
+static void *_p_InterferenceFunction3DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction3DLattice *) x));
 }
-static void *_p_InterferenceFunction2DSuperLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DSuperLattice *) x));
+static void *_p_InterferenceFunction2DSuperLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DSuperLattice *) x));
 }
-static void *_p_InterferenceFunction2DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DLattice *) x));
+static void *_p_InterferenceFunction2DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction2DLattice *) x));
 }
-static void *_p_InterferenceFunction1DLatticeTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction1DLattice *) x));
+static void *_p_InterferenceFunction1DLatticeTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IInterferenceFunction *) ((InterferenceFunction1DLattice *) x));
 }
-static void *_p_FormFactorCosineRippleLorentzTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x));
+static void *_p_FormFactorCosineRippleLorentzTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ICosineRipple *) ((FormFactorCosineRippleLorentz *) x));
 }
-static void *_p_FormFactorLongBoxLorentzTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxLorentz *) x));
+static void *_p_FormFactorLongBoxLorentzTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *) ((FormFactorLongBoxLorentz *) x));
 }
-static void *_p_FormFactorSawtoothRippleLorentzTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x));
+static void *_p_FormFactorSawtoothRippleLorentzTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(ISampleNode *)(IFormFactor *)(IBornFF *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x));
 }
-static void *_p_FTDistribution1DTriangleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDistribution1D *) ((FTDistribution1DTriangle *) x));
+static void *_p_FTDistribution1DTriangleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDistribution1D *) ((FTDistribution1DTriangle *) x));
 }
-static void *_p_FTDecayFunction1DTriangleTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DTriangle *) x));
+static void *_p_FTDecayFunction1DTriangleTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IFTDecayFunction1D *) ((FTDecayFunction1DTriangle *) x));
 }
-static void *_p_RotationEulerTo_p_IParametricComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IParametricComponent *) (INode *)(IRotation *) ((RotationEuler *) x));
+static void *_p_RotationEulerTo_p_IComponent(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IComponent *) (IParametricComponent *)(INode *)(IRotation *) ((RotationEuler *) x));
 }
 static void *_p_FTDecayFunction1DCauchyTo_p_IFTDecayFunction1D(void *x, int *SWIGUNUSEDPARM(newmemory)) {
     return (void *)((IFTDecayFunction1D *)  ((FTDecayFunction1DCauchy *) x));
@@ -75183,7 +75180,7 @@ static swig_cast_info _swigc__p_IAbstractParticle[] = {  {&_swigt__p_ParticleCom
 static swig_cast_info _swigc__p_IBornFF[] = {  {&_swigt__p_IBornFF, 0, 0, 0},  {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IBornFF, 0, 0},  {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IBornFF, 0, 0},  {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IBornFF, 0, 0},  {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IBornFF, 0, 0},  {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IBornFF, 0, 0},  {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IBornFF, 0, 0},  {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IBornFF, 0, 0},  {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IBornFF, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_ICloneable[] = {  {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_ICloneable, 0, 0},  {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_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_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0},  {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0},  {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0},  {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_ICloneable, 0, 0},  {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ICloneable, 0, 0},  {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_ICloneable, 0, 0},  {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_ICloneable, 0, 0},  {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ICloneable, 0, 0},  {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ICloneable, 0, 0},  {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_ICloneable, 0, 0},  {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0},  {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0},  {&_swigt__p_RotationX, _p_RotationXTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ICloneable, 0, 0},  {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0},  {&_swigt__p_RotationZ, _p_RotationZTo_p_ICloneable, 0, 0},  {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_ICloneable, 0, 0},  {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_ICloneable, 0, 0},  {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_ICloneable, 0, 0},  {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_ICloneable, 0, 0},  {&_swigt__p_Particle, _p_ParticleTo_p_ICloneable, 0, 0},  {&_swigt__p_IParticle, _p_IParticleTo_p_ICloneable, 0, 0},  {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_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_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_ICloneable, 0, 0},  {&_swigt__p_Layer, _p_LayerTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ICloneable, 0, 0},  {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICloneable, 0, 0},  {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_ICloneable, 0, 0},  {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_ICloneable, 0, 0},  {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_ICloneable, 0, 0},  {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_ICloneable, 0, 0},  {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_ICloneable, 0, 0},  {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ICloneable, 0, 0},  {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ICloneable, 0, 0},  {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_ICloneable, 0, 0},  {&_swigt__p_Crystal, _p_CrystalTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_ICloneable, 0, 0},  {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_ICloneable, 0, 0},  {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_ICloneable, 0, 0},  {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_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_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_ICloneable, 0, 0},  {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_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_ParameterDistribution[] = {{&_swigt__p_ParameterDistribution, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_IComponent[] = {  {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IComponent, 0, 0},  {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_IComponent, 0, 0},  {&_swigt__p_ParameterDistribution, _p_ParameterDistributionTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_IComponent, 0, 0},  {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IComponent, 0, 0},  {&_swigt__p_INode, _p_INodeTo_p_IComponent, 0, 0},  {&_swigt__p_IBornFF, _p_IBornFFTo_p_IComponent, 0, 0},  {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IComponent, 0, 0},  {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IComponent, 0, 0},  {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_IComponent, 0, 0},  {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_IComponent, 0, 0},  {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IComponent, 0, 0},  {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IComponent, 0, 0},  {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_IComponent, 0, 0},  {&_swigt__p_IRotation, _p_IRotationTo_p_IComponent, 0, 0},  {&_swigt__p_RotationX, _p_RotationXTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IComponent, 0, 0},  {&_swigt__p_RotationY, _p_RotationYTo_p_IComponent, 0, 0},  {&_swigt__p_RotationZ, _p_RotationZTo_p_IComponent, 0, 0},  {&_swigt__p_IComponent, 0, 0, 0},  {&_swigt__p_IParametricComponent, _p_IParametricComponentTo_p_IComponent, 0, 0},  {&_swigt__p_ISampleBuilder, _p_ISampleBuilderTo_p_IComponent, 0, 0},  {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_Particle, _p_ParticleTo_p_IComponent, 0, 0},  {&_swigt__p_IParticle, _p_IParticleTo_p_IComponent, 0, 0},  {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_IComponent, 0, 0},  {&_swigt__p_Layer, _p_LayerTo_p_IComponent, 0, 0},  {&_swigt__p_Material, _p_MaterialTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IComponent, 0, 0},  {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IComponent, 0, 0},  {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IComponent, 0, 0},  {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_IComponent, 0, 0},  {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IComponent, 0, 0},  {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IComponent, 0, 0},  {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_Crystal, _p_CrystalTo_p_IComponent, 0, 0},  {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_IComponent, 0, 0},  {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_IComponent, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_IComponent[] = {  {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IComponent, 0, 0},  {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_IComponent, 0, 0},  {&_swigt__p_ParameterDistribution, _p_ParameterDistributionTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_IComponent, 0, 0},  {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IComponent, 0, 0},  {&_swigt__p_INode, _p_INodeTo_p_IComponent, 0, 0},  {&_swigt__p_IBornFF, _p_IBornFFTo_p_IComponent, 0, 0},  {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IComponent, 0, 0},  {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IComponent, 0, 0},  {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_IComponent, 0, 0},  {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_IComponent, 0, 0},  {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IComponent, 0, 0},  {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IComponent, 0, 0},  {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_IComponent, 0, 0},  {&_swigt__p_IRotation, _p_IRotationTo_p_IComponent, 0, 0},  {&_swigt__p_RotationX, _p_RotationXTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IComponent, 0, 0},  {&_swigt__p_RotationY, _p_RotationYTo_p_IComponent, 0, 0},  {&_swigt__p_RotationZ, _p_RotationZTo_p_IComponent, 0, 0},  {&_swigt__p_IComponent, 0, 0, 0},  {&_swigt__p_IParametricComponent, _p_IParametricComponentTo_p_IComponent, 0, 0},  {&_swigt__p_ISampleBuilder, _p_ISampleBuilderTo_p_IComponent, 0, 0},  {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_IComponent, 0, 0},  {&_swigt__p_Particle, _p_ParticleTo_p_IComponent, 0, 0},  {&_swigt__p_IParticle, _p_IParticleTo_p_IComponent, 0, 0},  {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_IComponent, 0, 0},  {&_swigt__p_Layer, _p_LayerTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IComponent, 0, 0},  {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IComponent, 0, 0},  {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_IComponent, 0, 0},  {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IComponent, 0, 0},  {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_IComponent, 0, 0},  {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IComponent, 0, 0},  {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IComponent, 0, 0},  {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_IComponent, 0, 0},  {&_swigt__p_Crystal, _p_CrystalTo_p_IComponent, 0, 0},  {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_IComponent, 0, 0},  {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IComponent, 0, 0},  {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_IComponent, 0, 0},  {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_IComponent, 0, 0},  {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_IComponent, 0, 0},  {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_IComponent, 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}};
-- 
GitLab