From b13f614489e747a21434ad68ae0ad00d6d806fe2 Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de> Date: Mon, 12 Aug 2024 16:41:37 +0200 Subject: [PATCH] update examples --- Sample/Interface/CrosscorrelationModels.cpp | 2 +- Wrap/Swig/libBornAgainSample.i | 2 + .../Examples/scatter2d/CorrelatedRoughness.py | 4 +- .../scatter2d/CorrelatedRoughness.py | 4 +- auto/Wrap/libBornAgainSample.py | 67 +- auto/Wrap/libBornAgainSample_wrap.cpp | 898 ++++++++++++++---- rawEx/scatter2d/CorrelatedRoughness.py | 4 +- 7 files changed, 806 insertions(+), 175 deletions(-) diff --git a/Sample/Interface/CrosscorrelationModels.cpp b/Sample/Interface/CrosscorrelationModels.cpp index f201cf64654..d791d9e6596 100644 --- a/Sample/Interface/CrosscorrelationModels.cpp +++ b/Sample/Interface/CrosscorrelationModels.cpp @@ -31,7 +31,7 @@ CommonDepthCrosscorrelation* CommonDepthCrosscorrelation::clone() const std::string CommonDepthCrosscorrelation::validate() const { std::vector<std::string> errs; - requestGe0(errs, m_crosscorrelation_depth, "crossCorrLength"); + requestGe0(errs, m_crosscorrelation_depth, "crossCorrDepth"); if (!errs.empty()) return jointError(errs); m_validated = true; diff --git a/Wrap/Swig/libBornAgainSample.i b/Wrap/Swig/libBornAgainSample.i index 9aaacafc0f2..2e0e86dcb8c 100644 --- a/Wrap/Swig/libBornAgainSample.i +++ b/Wrap/Swig/libBornAgainSample.i @@ -105,6 +105,8 @@ %include "Sample/Interface/AutocorrelationModels.h" %include "Sample/Interface/InterlayerModels.h" +%include "Sample/Interface/CrosscorrelationModels.h" + %include "Sample/HardParticle/IFormfactorPolyhedron.h" %include "Sample/HardParticle/IFormfactorPrism.h" diff --git a/auto/Examples/scatter2d/CorrelatedRoughness.py b/auto/Examples/scatter2d/CorrelatedRoughness.py index f5b84991873..6a6f5cc882f 100755 --- a/auto/Examples/scatter2d/CorrelatedRoughness.py +++ b/auto/Examples/scatter2d/CorrelatedRoughness.py @@ -25,7 +25,8 @@ def get_sample(): sigma, hurst, corrLength = 1*nm, 0.3, 5*nm autocorr = ba.K_CorrelationModel(sigma, hurst, corrLength) interlayer = ba.TanhInterlayer() - roughness = ba.LayerRoughness(autocorr, interlayer) + crosscorrelation = ba.CommonDepthCrosscorrelation(10*nm) + roughness = ba.LayerRoughness(autocorr, interlayer, crosscorrelation) my_sample = ba.MultiLayer() @@ -38,7 +39,6 @@ def get_sample(): my_sample.addLayerWithTopRoughness(l_part_b, roughness) my_sample.addLayerWithTopRoughness(l_substrate, roughness) - my_sample.setCrossCorrLength(10*nm) return my_sample diff --git a/auto/MiniExamples/scatter2d/CorrelatedRoughness.py b/auto/MiniExamples/scatter2d/CorrelatedRoughness.py index d5daf8a7168..a7e366a2f61 100755 --- a/auto/MiniExamples/scatter2d/CorrelatedRoughness.py +++ b/auto/MiniExamples/scatter2d/CorrelatedRoughness.py @@ -25,7 +25,8 @@ def get_sample(): sigma, hurst, corrLength = 1*nm, 0.3, 5*nm autocorr = ba.K_CorrelationModel(sigma, hurst, corrLength) interlayer = ba.TanhInterlayer() - roughness = ba.LayerRoughness(autocorr, interlayer) + crosscorrelation = ba.CommonDepthCrosscorrelation(10*nm) + roughness = ba.LayerRoughness(autocorr, interlayer, crosscorrelation) my_sample = ba.MultiLayer() @@ -38,7 +39,6 @@ def get_sample(): my_sample.addLayerWithTopRoughness(l_part_b, roughness) my_sample.addLayerWithTopRoughness(l_substrate, roughness) - my_sample.setCrossCorrLength(10*nm) return my_sample diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py index f32e8a2b16e..48054397ad9 100644 --- a/auto/Wrap/libBornAgainSample.py +++ b/auto/Wrap/libBornAgainSample.py @@ -4176,7 +4176,7 @@ class LayerRoughness(ISampleNode): __repr__ = _swig_repr def __init__(self, autocorrelation, interlayer, crosscorrelation=None): - r"""__init__(LayerRoughness self, AutocorrelationModel autocorrelation, InterlayerModel interlayer, CrosscorrelationModel const * crosscorrelation=None) -> LayerRoughness""" + r"""__init__(LayerRoughness self, AutocorrelationModel autocorrelation, InterlayerModel interlayer, CrosscorrelationModel crosscorrelation=None) -> LayerRoughness""" _libBornAgainSample.LayerRoughness_swiginit(self, _libBornAgainSample.new_LayerRoughness(autocorrelation, interlayer, crosscorrelation)) def clone(self): @@ -4212,11 +4212,11 @@ class LayerRoughness(ISampleNode): return _libBornAgainSample.LayerRoughness_interlayerModel(self) def setCrosscorrelationModel(self, crosscorrelation): - r"""setCrosscorrelationModel(LayerRoughness self, CrosscorrelationModel const * crosscorrelation)""" + r"""setCrosscorrelationModel(LayerRoughness self, CrosscorrelationModel crosscorrelation)""" return _libBornAgainSample.LayerRoughness_setCrosscorrelationModel(self, crosscorrelation) def crosscorrelationModel(self): - r"""crosscorrelationModel(LayerRoughness self) -> CrosscorrelationModel const *""" + r"""crosscorrelationModel(LayerRoughness self) -> CrosscorrelationModel""" return _libBornAgainSample.LayerRoughness_crosscorrelationModel(self) __swig_destroy__ = _libBornAgainSample.delete_LayerRoughness @@ -4496,6 +4496,67 @@ class TanhInterlayer(InterlayerModel): # Register TanhInterlayer in _libBornAgainSample: _libBornAgainSample.TanhInterlayer_swigregister(TanhInterlayer) +class CrosscorrelationModel(libBornAgainBase.ICloneable, libBornAgainParam.INode): + r"""Proxy of C++ CrosscorrelationModel class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + + def clone(self): + r"""clone(CrosscorrelationModel self) -> CrosscorrelationModel""" + return _libBornAgainSample.CrosscorrelationModel_clone(self) + + def crossCorrDepth(self, k): + r"""crossCorrDepth(CrosscorrelationModel self, R3 k) -> double""" + return _libBornAgainSample.CrosscorrelationModel_crossCorrDepth(self, k) + + def replicationFactor(self, k, thickness): + r"""replicationFactor(CrosscorrelationModel self, R3 k, double thickness) -> double""" + return _libBornAgainSample.CrosscorrelationModel_replicationFactor(self, k, thickness) + __swig_destroy__ = _libBornAgainSample.delete_CrosscorrelationModel + +# Register CrosscorrelationModel in _libBornAgainSample: +_libBornAgainSample.CrosscorrelationModel_swigregister(CrosscorrelationModel) +class CommonDepthCrosscorrelation(CrosscorrelationModel): + r"""Proxy of C++ CommonDepthCrosscorrelation class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, cross_corr_depth=0): + r"""__init__(CommonDepthCrosscorrelation self, double cross_corr_depth=0) -> CommonDepthCrosscorrelation""" + _libBornAgainSample.CommonDepthCrosscorrelation_swiginit(self, _libBornAgainSample.new_CommonDepthCrosscorrelation(cross_corr_depth)) + + def clone(self): + r"""clone(CommonDepthCrosscorrelation self) -> CommonDepthCrosscorrelation""" + return _libBornAgainSample.CommonDepthCrosscorrelation_clone(self) + + def className(self): + r"""className(CommonDepthCrosscorrelation self) -> std::string""" + return _libBornAgainSample.CommonDepthCrosscorrelation_className(self) + + def validate(self): + r"""validate(CommonDepthCrosscorrelation self) -> std::string""" + return _libBornAgainSample.CommonDepthCrosscorrelation_validate(self) + + def crossCorrDepth(self, arg2): + r"""crossCorrDepth(CommonDepthCrosscorrelation self, R3 arg2) -> double""" + return _libBornAgainSample.CommonDepthCrosscorrelation_crossCorrDepth(self, arg2) + + def replicationFactor(self, arg2, thickness): + r"""replicationFactor(CommonDepthCrosscorrelation self, R3 arg2, double thickness) -> double""" + return _libBornAgainSample.CommonDepthCrosscorrelation_replicationFactor(self, arg2, thickness) + + def parDefs(self): + r"""parDefs(CommonDepthCrosscorrelation self) -> std::vector< ParaMeta,std::allocator< ParaMeta > >""" + return _libBornAgainSample.CommonDepthCrosscorrelation_parDefs(self) + __swig_destroy__ = _libBornAgainSample.delete_CommonDepthCrosscorrelation + +# Register CommonDepthCrosscorrelation in _libBornAgainSample: +_libBornAgainSample.CommonDepthCrosscorrelation_swigregister(CommonDepthCrosscorrelation) class IFormfactorPolyhedron(IFormfactor): r"""Proxy of C++ IFormfactorPolyhedron class.""" diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp index 97f158502b7..483777083f0 100644 --- a/auto/Wrap/libBornAgainSample_wrap.cpp +++ b/auto/Wrap/libBornAgainSample_wrap.cpp @@ -3652,165 +3652,166 @@ namespace Swig { #define SWIGTYPE_p_Bipyramid4 swig_types[4] #define SWIGTYPE_p_Box swig_types[5] #define SWIGTYPE_p_CantellatedCube swig_types[6] -#define SWIGTYPE_p_Compound swig_types[7] -#define SWIGTYPE_p_Cone swig_types[8] -#define SWIGTYPE_p_CoreAndShell swig_types[9] -#define SWIGTYPE_p_CosineRippleBox swig_types[10] -#define SWIGTYPE_p_CosineRippleGauss swig_types[11] -#define SWIGTYPE_p_CosineRippleLorentz swig_types[12] -#define SWIGTYPE_p_CrosscorrelationModel swig_types[13] -#define SWIGTYPE_p_Crystal swig_types[14] -#define SWIGTYPE_p_Cylinder swig_types[15] -#define SWIGTYPE_p_Dodecahedron swig_types[16] -#define SWIGTYPE_p_EllipsoidalCylinder swig_types[17] -#define SWIGTYPE_p_ErfInterlayer swig_types[18] -#define SWIGTYPE_p_FuzzySphere swig_types[19] -#define SWIGTYPE_p_GaussFisherPeakShape swig_types[20] -#define SWIGTYPE_p_GaussSphere swig_types[21] -#define SWIGTYPE_p_HemiEllipsoid swig_types[22] -#define SWIGTYPE_p_HexagonalLattice2D swig_types[23] -#define SWIGTYPE_p_HorizontalCylinder swig_types[24] -#define SWIGTYPE_p_ICloneable swig_types[25] -#define SWIGTYPE_p_ICosineRipple swig_types[26] -#define SWIGTYPE_p_IFormfactor swig_types[27] -#define SWIGTYPE_p_IFormfactorPolyhedron swig_types[28] -#define SWIGTYPE_p_IFormfactorPrism swig_types[29] -#define SWIGTYPE_p_IInterference swig_types[30] -#define SWIGTYPE_p_IMaterialImpl swig_types[31] -#define SWIGTYPE_p_INode swig_types[32] -#define SWIGTYPE_p_IParticle swig_types[33] -#define SWIGTYPE_p_IPeakShape swig_types[34] -#define SWIGTYPE_p_IProfile1D swig_types[35] -#define SWIGTYPE_p_IProfile2D swig_types[36] -#define SWIGTYPE_p_IProfileRectangularRipple swig_types[37] -#define SWIGTYPE_p_IProfileRipple swig_types[38] -#define SWIGTYPE_p_IRotation swig_types[39] -#define SWIGTYPE_p_ISampleNode swig_types[40] -#define SWIGTYPE_p_ISawtoothRipple swig_types[41] -#define SWIGTYPE_p_ISelectionRule swig_types[42] -#define SWIGTYPE_p_Icosahedron swig_types[43] -#define SWIGTYPE_p_IdentityRotation swig_types[44] -#define SWIGTYPE_p_Interference1DLattice swig_types[45] -#define SWIGTYPE_p_Interference2DLattice swig_types[46] -#define SWIGTYPE_p_Interference2DParacrystal swig_types[47] -#define SWIGTYPE_p_Interference2DSuperLattice swig_types[48] -#define SWIGTYPE_p_InterferenceFinite2DLattice swig_types[49] -#define SWIGTYPE_p_InterferenceHardDisk swig_types[50] -#define SWIGTYPE_p_InterferenceNone swig_types[51] -#define SWIGTYPE_p_InterferenceRadialParacrystal swig_types[52] -#define SWIGTYPE_p_InterlayerModel swig_types[53] -#define SWIGTYPE_p_IsotropicGaussPeakShape swig_types[54] -#define SWIGTYPE_p_IsotropicLorentzPeakShape swig_types[55] -#define SWIGTYPE_p_K_CorrelationModel swig_types[56] -#define SWIGTYPE_p_Lattice2D swig_types[57] -#define SWIGTYPE_p_Lattice2D__ReciprocalBases swig_types[58] -#define SWIGTYPE_p_Lattice3D swig_types[59] -#define SWIGTYPE_p_Layer swig_types[60] -#define SWIGTYPE_p_LayerRoughness swig_types[61] -#define SWIGTYPE_p_LongBoxGauss swig_types[62] -#define SWIGTYPE_p_LongBoxLorentz swig_types[63] -#define SWIGTYPE_p_LorentzFisherPeakShape swig_types[64] -#define SWIGTYPE_p_Material swig_types[65] -#define SWIGTYPE_p_MaterialBySLDImpl swig_types[66] -#define SWIGTYPE_p_Mesocrystal swig_types[67] -#define SWIGTYPE_p_MisesFisherGaussPeakShape swig_types[68] -#define SWIGTYPE_p_MisesGaussPeakShape swig_types[69] -#define SWIGTYPE_p_MultiLayer swig_types[70] -#define SWIGTYPE_p_Particle swig_types[71] -#define SWIGTYPE_p_ParticleLayout swig_types[72] -#define SWIGTYPE_p_PlatonicOctahedron swig_types[73] -#define SWIGTYPE_p_PlatonicTetrahedron swig_types[74] -#define SWIGTYPE_p_Prism3 swig_types[75] -#define SWIGTYPE_p_Prism6 swig_types[76] -#define SWIGTYPE_p_Profile1DCauchy swig_types[77] -#define SWIGTYPE_p_Profile1DCosine swig_types[78] -#define SWIGTYPE_p_Profile1DGate swig_types[79] -#define SWIGTYPE_p_Profile1DGauss swig_types[80] -#define SWIGTYPE_p_Profile1DTriangle swig_types[81] -#define SWIGTYPE_p_Profile1DVoigt swig_types[82] -#define SWIGTYPE_p_Profile2DCauchy swig_types[83] -#define SWIGTYPE_p_Profile2DCone swig_types[84] -#define SWIGTYPE_p_Profile2DGate swig_types[85] -#define SWIGTYPE_p_Profile2DGauss swig_types[86] -#define SWIGTYPE_p_Profile2DVoigt swig_types[87] -#define SWIGTYPE_p_Pyramid2 swig_types[88] -#define SWIGTYPE_p_Pyramid3 swig_types[89] -#define SWIGTYPE_p_Pyramid4 swig_types[90] -#define SWIGTYPE_p_Pyramid6 swig_types[91] -#define SWIGTYPE_p_RefractiveMaterialImpl swig_types[92] -#define SWIGTYPE_p_Rotation3DT_double_t swig_types[93] -#define SWIGTYPE_p_RotationEuler swig_types[94] -#define SWIGTYPE_p_RotationX swig_types[95] -#define SWIGTYPE_p_RotationY swig_types[96] -#define SWIGTYPE_p_RotationZ swig_types[97] -#define SWIGTYPE_p_RoughnessMap swig_types[98] -#define SWIGTYPE_p_SawtoothRippleBox swig_types[99] -#define SWIGTYPE_p_SawtoothRippleGauss swig_types[100] -#define SWIGTYPE_p_SawtoothRippleLorentz swig_types[101] -#define SWIGTYPE_p_SimpleSelectionRule swig_types[102] -#define SWIGTYPE_p_Span swig_types[103] -#define SWIGTYPE_p_Sphere swig_types[104] -#define SWIGTYPE_p_Spheroid swig_types[105] -#define SWIGTYPE_p_SpinMatrix swig_types[106] -#define SWIGTYPE_p_SquareLattice2D swig_types[107] -#define SWIGTYPE_p_TanhInterlayer swig_types[108] -#define SWIGTYPE_p_TruncatedCube swig_types[109] -#define SWIGTYPE_p_TruncatedSphere swig_types[110] -#define SWIGTYPE_p_TruncatedSpheroid swig_types[111] -#define SWIGTYPE_p_Vec3T_double_t swig_types[112] -#define SWIGTYPE_p_Vec3T_int_t swig_types[113] -#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[114] -#define SWIGTYPE_p_WavevectorInfo swig_types[115] -#define SWIGTYPE_p_allocator_type swig_types[116] -#define SWIGTYPE_p_char swig_types[117] -#define SWIGTYPE_p_difference_type swig_types[118] -#define SWIGTYPE_p_double2d_t swig_types[119] -#define SWIGTYPE_p_first_type swig_types[120] -#define SWIGTYPE_p_int swig_types[121] -#define SWIGTYPE_p_key_type swig_types[122] -#define SWIGTYPE_p_long_long swig_types[123] -#define SWIGTYPE_p_mapped_type swig_types[124] -#define SWIGTYPE_p_p_PyObject swig_types[125] -#define SWIGTYPE_p_second_type swig_types[126] -#define SWIGTYPE_p_short swig_types[127] -#define SWIGTYPE_p_signed_char swig_types[128] -#define SWIGTYPE_p_size_type swig_types[129] -#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[130] -#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[131] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[132] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[133] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[134] -#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[135] -#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[136] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[137] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_t_t swig_types[138] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_t_t swig_types[139] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[140] -#define SWIGTYPE_p_std__complexT_double_t swig_types[141] -#define SWIGTYPE_p_std__functionT_double_fdoubleF_t swig_types[142] -#define SWIGTYPE_p_std__invalid_argument swig_types[143] -#define SWIGTYPE_p_std__lessT_std__string_t swig_types[144] -#define SWIGTYPE_p_std__mapT_std__string_double_t swig_types[145] -#define SWIGTYPE_p_std__pairT_double_double_t swig_types[146] -#define SWIGTYPE_p_std__vectorT_INode_const_p_t swig_types[147] -#define SWIGTYPE_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t swig_types[148] -#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_t swig_types[149] -#define SWIGTYPE_p_std__vectorT_double_t swig_types[150] -#define SWIGTYPE_p_std__vectorT_int_t swig_types[151] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_t swig_types[152] -#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_t swig_types[153] -#define SWIGTYPE_p_std__vectorT_std__string_t swig_types[154] -#define SWIGTYPE_p_std__vectorT_std__vectorT_double_t_t swig_types[155] -#define SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t swig_types[156] -#define SWIGTYPE_p_std__vectorT_unsigned_long_t swig_types[157] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[158] -#define SWIGTYPE_p_unsigned_char swig_types[159] -#define SWIGTYPE_p_unsigned_int swig_types[160] -#define SWIGTYPE_p_unsigned_long_long swig_types[161] -#define SWIGTYPE_p_unsigned_short swig_types[162] -#define SWIGTYPE_p_value_type swig_types[163] -static swig_type_info *swig_types[165]; -static swig_module_info swig_module = {swig_types, 164, 0, 0, 0, 0}; +#define SWIGTYPE_p_CommonDepthCrosscorrelation swig_types[7] +#define SWIGTYPE_p_Compound swig_types[8] +#define SWIGTYPE_p_Cone swig_types[9] +#define SWIGTYPE_p_CoreAndShell swig_types[10] +#define SWIGTYPE_p_CosineRippleBox swig_types[11] +#define SWIGTYPE_p_CosineRippleGauss swig_types[12] +#define SWIGTYPE_p_CosineRippleLorentz swig_types[13] +#define SWIGTYPE_p_CrosscorrelationModel swig_types[14] +#define SWIGTYPE_p_Crystal swig_types[15] +#define SWIGTYPE_p_Cylinder swig_types[16] +#define SWIGTYPE_p_Dodecahedron swig_types[17] +#define SWIGTYPE_p_EllipsoidalCylinder swig_types[18] +#define SWIGTYPE_p_ErfInterlayer swig_types[19] +#define SWIGTYPE_p_FuzzySphere swig_types[20] +#define SWIGTYPE_p_GaussFisherPeakShape swig_types[21] +#define SWIGTYPE_p_GaussSphere swig_types[22] +#define SWIGTYPE_p_HemiEllipsoid swig_types[23] +#define SWIGTYPE_p_HexagonalLattice2D swig_types[24] +#define SWIGTYPE_p_HorizontalCylinder swig_types[25] +#define SWIGTYPE_p_ICloneable swig_types[26] +#define SWIGTYPE_p_ICosineRipple swig_types[27] +#define SWIGTYPE_p_IFormfactor swig_types[28] +#define SWIGTYPE_p_IFormfactorPolyhedron swig_types[29] +#define SWIGTYPE_p_IFormfactorPrism swig_types[30] +#define SWIGTYPE_p_IInterference swig_types[31] +#define SWIGTYPE_p_IMaterialImpl swig_types[32] +#define SWIGTYPE_p_INode swig_types[33] +#define SWIGTYPE_p_IParticle swig_types[34] +#define SWIGTYPE_p_IPeakShape swig_types[35] +#define SWIGTYPE_p_IProfile1D swig_types[36] +#define SWIGTYPE_p_IProfile2D swig_types[37] +#define SWIGTYPE_p_IProfileRectangularRipple swig_types[38] +#define SWIGTYPE_p_IProfileRipple swig_types[39] +#define SWIGTYPE_p_IRotation swig_types[40] +#define SWIGTYPE_p_ISampleNode swig_types[41] +#define SWIGTYPE_p_ISawtoothRipple swig_types[42] +#define SWIGTYPE_p_ISelectionRule swig_types[43] +#define SWIGTYPE_p_Icosahedron swig_types[44] +#define SWIGTYPE_p_IdentityRotation swig_types[45] +#define SWIGTYPE_p_Interference1DLattice swig_types[46] +#define SWIGTYPE_p_Interference2DLattice swig_types[47] +#define SWIGTYPE_p_Interference2DParacrystal swig_types[48] +#define SWIGTYPE_p_Interference2DSuperLattice swig_types[49] +#define SWIGTYPE_p_InterferenceFinite2DLattice swig_types[50] +#define SWIGTYPE_p_InterferenceHardDisk swig_types[51] +#define SWIGTYPE_p_InterferenceNone swig_types[52] +#define SWIGTYPE_p_InterferenceRadialParacrystal swig_types[53] +#define SWIGTYPE_p_InterlayerModel swig_types[54] +#define SWIGTYPE_p_IsotropicGaussPeakShape swig_types[55] +#define SWIGTYPE_p_IsotropicLorentzPeakShape swig_types[56] +#define SWIGTYPE_p_K_CorrelationModel swig_types[57] +#define SWIGTYPE_p_Lattice2D swig_types[58] +#define SWIGTYPE_p_Lattice2D__ReciprocalBases swig_types[59] +#define SWIGTYPE_p_Lattice3D swig_types[60] +#define SWIGTYPE_p_Layer swig_types[61] +#define SWIGTYPE_p_LayerRoughness swig_types[62] +#define SWIGTYPE_p_LongBoxGauss swig_types[63] +#define SWIGTYPE_p_LongBoxLorentz swig_types[64] +#define SWIGTYPE_p_LorentzFisherPeakShape swig_types[65] +#define SWIGTYPE_p_Material swig_types[66] +#define SWIGTYPE_p_MaterialBySLDImpl swig_types[67] +#define SWIGTYPE_p_Mesocrystal swig_types[68] +#define SWIGTYPE_p_MisesFisherGaussPeakShape swig_types[69] +#define SWIGTYPE_p_MisesGaussPeakShape swig_types[70] +#define SWIGTYPE_p_MultiLayer swig_types[71] +#define SWIGTYPE_p_Particle swig_types[72] +#define SWIGTYPE_p_ParticleLayout swig_types[73] +#define SWIGTYPE_p_PlatonicOctahedron swig_types[74] +#define SWIGTYPE_p_PlatonicTetrahedron swig_types[75] +#define SWIGTYPE_p_Prism3 swig_types[76] +#define SWIGTYPE_p_Prism6 swig_types[77] +#define SWIGTYPE_p_Profile1DCauchy swig_types[78] +#define SWIGTYPE_p_Profile1DCosine swig_types[79] +#define SWIGTYPE_p_Profile1DGate swig_types[80] +#define SWIGTYPE_p_Profile1DGauss swig_types[81] +#define SWIGTYPE_p_Profile1DTriangle swig_types[82] +#define SWIGTYPE_p_Profile1DVoigt swig_types[83] +#define SWIGTYPE_p_Profile2DCauchy swig_types[84] +#define SWIGTYPE_p_Profile2DCone swig_types[85] +#define SWIGTYPE_p_Profile2DGate swig_types[86] +#define SWIGTYPE_p_Profile2DGauss swig_types[87] +#define SWIGTYPE_p_Profile2DVoigt swig_types[88] +#define SWIGTYPE_p_Pyramid2 swig_types[89] +#define SWIGTYPE_p_Pyramid3 swig_types[90] +#define SWIGTYPE_p_Pyramid4 swig_types[91] +#define SWIGTYPE_p_Pyramid6 swig_types[92] +#define SWIGTYPE_p_RefractiveMaterialImpl swig_types[93] +#define SWIGTYPE_p_Rotation3DT_double_t swig_types[94] +#define SWIGTYPE_p_RotationEuler swig_types[95] +#define SWIGTYPE_p_RotationX swig_types[96] +#define SWIGTYPE_p_RotationY swig_types[97] +#define SWIGTYPE_p_RotationZ swig_types[98] +#define SWIGTYPE_p_RoughnessMap swig_types[99] +#define SWIGTYPE_p_SawtoothRippleBox swig_types[100] +#define SWIGTYPE_p_SawtoothRippleGauss swig_types[101] +#define SWIGTYPE_p_SawtoothRippleLorentz swig_types[102] +#define SWIGTYPE_p_SimpleSelectionRule swig_types[103] +#define SWIGTYPE_p_Span swig_types[104] +#define SWIGTYPE_p_Sphere swig_types[105] +#define SWIGTYPE_p_Spheroid swig_types[106] +#define SWIGTYPE_p_SpinMatrix swig_types[107] +#define SWIGTYPE_p_SquareLattice2D swig_types[108] +#define SWIGTYPE_p_TanhInterlayer swig_types[109] +#define SWIGTYPE_p_TruncatedCube swig_types[110] +#define SWIGTYPE_p_TruncatedSphere swig_types[111] +#define SWIGTYPE_p_TruncatedSpheroid swig_types[112] +#define SWIGTYPE_p_Vec3T_double_t swig_types[113] +#define SWIGTYPE_p_Vec3T_int_t swig_types[114] +#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[115] +#define SWIGTYPE_p_WavevectorInfo swig_types[116] +#define SWIGTYPE_p_allocator_type swig_types[117] +#define SWIGTYPE_p_char swig_types[118] +#define SWIGTYPE_p_difference_type swig_types[119] +#define SWIGTYPE_p_double2d_t swig_types[120] +#define SWIGTYPE_p_first_type swig_types[121] +#define SWIGTYPE_p_int swig_types[122] +#define SWIGTYPE_p_key_type swig_types[123] +#define SWIGTYPE_p_long_long swig_types[124] +#define SWIGTYPE_p_mapped_type swig_types[125] +#define SWIGTYPE_p_p_PyObject swig_types[126] +#define SWIGTYPE_p_second_type swig_types[127] +#define SWIGTYPE_p_short swig_types[128] +#define SWIGTYPE_p_signed_char swig_types[129] +#define SWIGTYPE_p_size_type swig_types[130] +#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[131] +#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[132] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[133] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[134] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[135] +#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[136] +#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[137] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[138] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_t_t swig_types[139] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_t_t swig_types[140] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[141] +#define SWIGTYPE_p_std__complexT_double_t swig_types[142] +#define SWIGTYPE_p_std__functionT_double_fdoubleF_t swig_types[143] +#define SWIGTYPE_p_std__invalid_argument swig_types[144] +#define SWIGTYPE_p_std__lessT_std__string_t swig_types[145] +#define SWIGTYPE_p_std__mapT_std__string_double_t swig_types[146] +#define SWIGTYPE_p_std__pairT_double_double_t swig_types[147] +#define SWIGTYPE_p_std__vectorT_INode_const_p_t swig_types[148] +#define SWIGTYPE_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t swig_types[149] +#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_t swig_types[150] +#define SWIGTYPE_p_std__vectorT_double_t swig_types[151] +#define SWIGTYPE_p_std__vectorT_int_t swig_types[152] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_t swig_types[153] +#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_t swig_types[154] +#define SWIGTYPE_p_std__vectorT_std__string_t swig_types[155] +#define SWIGTYPE_p_std__vectorT_std__vectorT_double_t_t swig_types[156] +#define SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t swig_types[157] +#define SWIGTYPE_p_std__vectorT_unsigned_long_t swig_types[158] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[159] +#define SWIGTYPE_p_unsigned_char swig_types[160] +#define SWIGTYPE_p_unsigned_int swig_types[161] +#define SWIGTYPE_p_unsigned_long_long swig_types[162] +#define SWIGTYPE_p_unsigned_short swig_types[163] +#define SWIGTYPE_p_value_type swig_types[164] +static swig_type_info *swig_types[166]; +static swig_module_info swig_module = {swig_types, 165, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -53692,6 +53693,539 @@ SWIGINTERN PyObject *TanhInterlayer_swiginit(PyObject *SWIGUNUSEDPARM(self), PyO return SWIG_Python_InitShadowInstance(args); } +SWIGINTERN PyObject *_wrap_CrosscorrelationModel_clone(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CrosscorrelationModel *arg1 = (CrosscorrelationModel *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + CrosscorrelationModel *result = 0 ; + + (void)self; + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CrosscorrelationModel, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CrosscorrelationModel_clone" "', argument " "1"" of type '" "CrosscorrelationModel const *""'"); + } + arg1 = reinterpret_cast< CrosscorrelationModel * >(argp1); + { + try { + result = (CrosscorrelationModel *)((CrosscorrelationModel const *)arg1)->clone(); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CrosscorrelationModel, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CrosscorrelationModel_crossCorrDepth(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CrosscorrelationModel *arg1 = (CrosscorrelationModel *) 0 ; + R3 *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject *swig_obj[2] ; + double result; + + (void)self; + if (!SWIG_Python_UnpackTuple(args, "CrosscorrelationModel_crossCorrDepth", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CrosscorrelationModel, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CrosscorrelationModel_crossCorrDepth" "', argument " "1"" of type '" "CrosscorrelationModel const *""'"); + } + arg1 = reinterpret_cast< CrosscorrelationModel * >(argp1); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_Vec3T_double_t, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CrosscorrelationModel_crossCorrDepth" "', argument " "2"" of type '" "R3 const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CrosscorrelationModel_crossCorrDepth" "', argument " "2"" of type '" "R3 const &""'"); + } + arg2 = reinterpret_cast< R3 * >(argp2); + { + try { + result = (double)((CrosscorrelationModel const *)arg1)->crossCorrDepth((R3 const &)*arg2); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CrosscorrelationModel_replicationFactor(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CrosscorrelationModel *arg1 = (CrosscorrelationModel *) 0 ; + R3 *arg2 = 0 ; + double arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + double val3 ; + int ecode3 = 0 ; + PyObject *swig_obj[3] ; + double result; + + (void)self; + if (!SWIG_Python_UnpackTuple(args, "CrosscorrelationModel_replicationFactor", 3, 3, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CrosscorrelationModel, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CrosscorrelationModel_replicationFactor" "', argument " "1"" of type '" "CrosscorrelationModel const *""'"); + } + arg1 = reinterpret_cast< CrosscorrelationModel * >(argp1); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_Vec3T_double_t, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CrosscorrelationModel_replicationFactor" "', argument " "2"" of type '" "R3 const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CrosscorrelationModel_replicationFactor" "', argument " "2"" of type '" "R3 const &""'"); + } + arg2 = reinterpret_cast< R3 * >(argp2); + ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CrosscorrelationModel_replicationFactor" "', argument " "3"" of type '" "double""'"); + } + arg3 = static_cast< double >(val3); + { + try { + result = (double)((CrosscorrelationModel const *)arg1)->replicationFactor((R3 const &)*arg2,arg3); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_delete_CrosscorrelationModel(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CrosscorrelationModel *arg1 = (CrosscorrelationModel *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + + (void)self; + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CrosscorrelationModel, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CrosscorrelationModel" "', argument " "1"" of type '" "CrosscorrelationModel *""'"); + } + arg1 = reinterpret_cast< CrosscorrelationModel * >(argp1); + { + try { + delete arg1; + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *CrosscorrelationModel_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_CrosscorrelationModel, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_new_CommonDepthCrosscorrelation__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + double arg1 ; + double val1 ; + int ecode1 = 0 ; + CommonDepthCrosscorrelation *result = 0 ; + + (void)self; + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); + if (!SWIG_IsOK(ecode1)) { + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CommonDepthCrosscorrelation" "', argument " "1"" of type '" "double""'"); + } + arg1 = static_cast< double >(val1); + { + try { + result = (CommonDepthCrosscorrelation *)new CommonDepthCrosscorrelation(arg1); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CommonDepthCrosscorrelation, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_CommonDepthCrosscorrelation__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *result = 0 ; + + (void)self; + if ((nobjs < 0) || (nobjs > 0)) SWIG_fail; + { + try { + result = (CommonDepthCrosscorrelation *)new CommonDepthCrosscorrelation(); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CommonDepthCrosscorrelation, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_CommonDepthCrosscorrelation(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_CommonDepthCrosscorrelation", 0, 1, argv))) SWIG_fail; + --argc; + if (argc == 0) { + return _wrap_new_CommonDepthCrosscorrelation__SWIG_1(self, argc, argv); + } + if (argc == 1) { + int _v = 0; + { + int res = SWIG_AsVal_double(argv[0], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_CommonDepthCrosscorrelation__SWIG_0(self, argc, argv); + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_CommonDepthCrosscorrelation'.\n" + " Possible C/C++ prototypes are:\n" + " CommonDepthCrosscorrelation::CommonDepthCrosscorrelation(double)\n" + " CommonDepthCrosscorrelation::CommonDepthCrosscorrelation()\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_CommonDepthCrosscorrelation_clone(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *arg1 = (CommonDepthCrosscorrelation *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + CommonDepthCrosscorrelation *result = 0 ; + + (void)self; + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CommonDepthCrosscorrelation, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CommonDepthCrosscorrelation_clone" "', argument " "1"" of type '" "CommonDepthCrosscorrelation const *""'"); + } + arg1 = reinterpret_cast< CommonDepthCrosscorrelation * >(argp1); + { + try { + result = (CommonDepthCrosscorrelation *)((CommonDepthCrosscorrelation const *)arg1)->clone(); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CommonDepthCrosscorrelation, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CommonDepthCrosscorrelation_className(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *arg1 = (CommonDepthCrosscorrelation *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + std::string result; + + (void)self; + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CommonDepthCrosscorrelation, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CommonDepthCrosscorrelation_className" "', argument " "1"" of type '" "CommonDepthCrosscorrelation const *""'"); + } + arg1 = reinterpret_cast< CommonDepthCrosscorrelation * >(argp1); + { + try { + result = ((CommonDepthCrosscorrelation const *)arg1)->className(); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CommonDepthCrosscorrelation_validate(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *arg1 = (CommonDepthCrosscorrelation *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + std::string result; + + (void)self; + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CommonDepthCrosscorrelation, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CommonDepthCrosscorrelation_validate" "', argument " "1"" of type '" "CommonDepthCrosscorrelation const *""'"); + } + arg1 = reinterpret_cast< CommonDepthCrosscorrelation * >(argp1); + { + try { + result = ((CommonDepthCrosscorrelation const *)arg1)->validate(); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CommonDepthCrosscorrelation_crossCorrDepth(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *arg1 = (CommonDepthCrosscorrelation *) 0 ; + R3 *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject *swig_obj[2] ; + double result; + + (void)self; + if (!SWIG_Python_UnpackTuple(args, "CommonDepthCrosscorrelation_crossCorrDepth", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CommonDepthCrosscorrelation, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CommonDepthCrosscorrelation_crossCorrDepth" "', argument " "1"" of type '" "CommonDepthCrosscorrelation const *""'"); + } + arg1 = reinterpret_cast< CommonDepthCrosscorrelation * >(argp1); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_Vec3T_double_t, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CommonDepthCrosscorrelation_crossCorrDepth" "', argument " "2"" of type '" "R3 const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CommonDepthCrosscorrelation_crossCorrDepth" "', argument " "2"" of type '" "R3 const &""'"); + } + arg2 = reinterpret_cast< R3 * >(argp2); + { + try { + result = (double)((CommonDepthCrosscorrelation const *)arg1)->crossCorrDepth((R3 const &)*arg2); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CommonDepthCrosscorrelation_replicationFactor(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *arg1 = (CommonDepthCrosscorrelation *) 0 ; + R3 *arg2 = 0 ; + double arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + double val3 ; + int ecode3 = 0 ; + PyObject *swig_obj[3] ; + double result; + + (void)self; + if (!SWIG_Python_UnpackTuple(args, "CommonDepthCrosscorrelation_replicationFactor", 3, 3, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CommonDepthCrosscorrelation, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CommonDepthCrosscorrelation_replicationFactor" "', argument " "1"" of type '" "CommonDepthCrosscorrelation const *""'"); + } + arg1 = reinterpret_cast< CommonDepthCrosscorrelation * >(argp1); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_Vec3T_double_t, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CommonDepthCrosscorrelation_replicationFactor" "', argument " "2"" of type '" "R3 const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CommonDepthCrosscorrelation_replicationFactor" "', argument " "2"" of type '" "R3 const &""'"); + } + arg2 = reinterpret_cast< R3 * >(argp2); + ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CommonDepthCrosscorrelation_replicationFactor" "', argument " "3"" of type '" "double""'"); + } + arg3 = static_cast< double >(val3); + { + try { + result = (double)((CommonDepthCrosscorrelation const *)arg1)->replicationFactor((R3 const &)*arg2,arg3); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_CommonDepthCrosscorrelation_parDefs(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *arg1 = (CommonDepthCrosscorrelation *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + SwigValueWrapper< std::vector< ParaMeta,std::allocator< ParaMeta > > > result; + + (void)self; + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CommonDepthCrosscorrelation, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CommonDepthCrosscorrelation_parDefs" "', argument " "1"" of type '" "CommonDepthCrosscorrelation const *""'"); + } + arg1 = reinterpret_cast< CommonDepthCrosscorrelation * >(argp1); + { + try { + result = ((CommonDepthCrosscorrelation const *)arg1)->parDefs(); + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_NewPointerObj((new std::vector< ParaMeta,std::allocator< ParaMeta > >(result)), SWIGTYPE_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_delete_CommonDepthCrosscorrelation(PyObject *self, PyObject *args) { + PyObject *resultobj = 0; + CommonDepthCrosscorrelation *arg1 = (CommonDepthCrosscorrelation *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject *swig_obj[1] ; + + (void)self; + if (!args) SWIG_fail; + swig_obj[0] = args; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CommonDepthCrosscorrelation, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CommonDepthCrosscorrelation" "', argument " "1"" of type '" "CommonDepthCrosscorrelation *""'"); + } + arg1 = reinterpret_cast< CommonDepthCrosscorrelation * >(argp1); + { + try { + delete arg1; + } catch (const std::exception& ex) { + // message shown in the Python interpreter + const std::string msg { + "BornAgain C++ Exception: " + std::string(ex.what()) + }; + SWIG_exception(SWIG_RuntimeError, msg.c_str()); + } + } + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *CommonDepthCrosscorrelation_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_CommonDepthCrosscorrelation, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *CommonDepthCrosscorrelation_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + return SWIG_Python_InitShadowInstance(args); +} + SWIGINTERN PyObject *_wrap_delete_IFormfactorPolyhedron(PyObject *self, PyObject *args) { PyObject *resultobj = 0; IFormfactorPolyhedron *arg1 = (IFormfactorPolyhedron *) 0 ; @@ -73638,7 +74172,7 @@ static PyMethodDef SwigMethods[] = { { "ParticleLayout_setAbsoluteWeight", _wrap_ParticleLayout_setAbsoluteWeight, METH_VARARGS, "ParticleLayout_setAbsoluteWeight(ParticleLayout self, double weight)"}, { "ParticleLayout_swigregister", ParticleLayout_swigregister, METH_O, NULL}, { "ParticleLayout_swiginit", ParticleLayout_swiginit, METH_VARARGS, NULL}, - { "new_LayerRoughness", _wrap_new_LayerRoughness, METH_VARARGS, "LayerRoughness(AutocorrelationModel autocorrelation, InterlayerModel interlayer, CrosscorrelationModel const * crosscorrelation=None)"}, + { "new_LayerRoughness", _wrap_new_LayerRoughness, METH_VARARGS, "LayerRoughness(AutocorrelationModel autocorrelation, InterlayerModel interlayer, CrosscorrelationModel crosscorrelation=None)"}, { "LayerRoughness_clone", _wrap_LayerRoughness_clone, METH_O, "LayerRoughness_clone(LayerRoughness self) -> LayerRoughness"}, { "LayerRoughness_className", _wrap_LayerRoughness_className, METH_O, "LayerRoughness_className(LayerRoughness self) -> std::string"}, { "LayerRoughness_nodeChildren", _wrap_LayerRoughness_nodeChildren, METH_O, "LayerRoughness_nodeChildren(LayerRoughness self) -> swig_dummy_type_const_inode_vector"}, @@ -73647,8 +74181,8 @@ static PyMethodDef SwigMethods[] = { { "LayerRoughness_autocorrelationModel", _wrap_LayerRoughness_autocorrelationModel, METH_O, "LayerRoughness_autocorrelationModel(LayerRoughness self) -> AutocorrelationModel"}, { "LayerRoughness_setInterlayerModel", _wrap_LayerRoughness_setInterlayerModel, METH_VARARGS, "LayerRoughness_setInterlayerModel(LayerRoughness self, InterlayerModel interlayer)"}, { "LayerRoughness_interlayerModel", _wrap_LayerRoughness_interlayerModel, METH_O, "LayerRoughness_interlayerModel(LayerRoughness self) -> InterlayerModel"}, - { "LayerRoughness_setCrosscorrelationModel", _wrap_LayerRoughness_setCrosscorrelationModel, METH_VARARGS, "LayerRoughness_setCrosscorrelationModel(LayerRoughness self, CrosscorrelationModel const * crosscorrelation)"}, - { "LayerRoughness_crosscorrelationModel", _wrap_LayerRoughness_crosscorrelationModel, METH_O, "LayerRoughness_crosscorrelationModel(LayerRoughness self) -> CrosscorrelationModel const *"}, + { "LayerRoughness_setCrosscorrelationModel", _wrap_LayerRoughness_setCrosscorrelationModel, METH_VARARGS, "LayerRoughness_setCrosscorrelationModel(LayerRoughness self, CrosscorrelationModel crosscorrelation)"}, + { "LayerRoughness_crosscorrelationModel", _wrap_LayerRoughness_crosscorrelationModel, METH_O, "LayerRoughness_crosscorrelationModel(LayerRoughness self) -> CrosscorrelationModel"}, { "delete_LayerRoughness", _wrap_delete_LayerRoughness, METH_O, "delete_LayerRoughness(LayerRoughness self)"}, { "LayerRoughness_swigregister", LayerRoughness_swigregister, METH_O, NULL}, { "LayerRoughness_swiginit", LayerRoughness_swiginit, METH_VARARGS, NULL}, @@ -73723,6 +74257,21 @@ static PyMethodDef SwigMethods[] = { { "delete_TanhInterlayer", _wrap_delete_TanhInterlayer, METH_O, "delete_TanhInterlayer(TanhInterlayer self)"}, { "TanhInterlayer_swigregister", TanhInterlayer_swigregister, METH_O, NULL}, { "TanhInterlayer_swiginit", TanhInterlayer_swiginit, METH_VARARGS, NULL}, + { "CrosscorrelationModel_clone", _wrap_CrosscorrelationModel_clone, METH_O, "CrosscorrelationModel_clone(CrosscorrelationModel self) -> CrosscorrelationModel"}, + { "CrosscorrelationModel_crossCorrDepth", _wrap_CrosscorrelationModel_crossCorrDepth, METH_VARARGS, "CrosscorrelationModel_crossCorrDepth(CrosscorrelationModel self, R3 k) -> double"}, + { "CrosscorrelationModel_replicationFactor", _wrap_CrosscorrelationModel_replicationFactor, METH_VARARGS, "CrosscorrelationModel_replicationFactor(CrosscorrelationModel self, R3 k, double thickness) -> double"}, + { "delete_CrosscorrelationModel", _wrap_delete_CrosscorrelationModel, METH_O, "delete_CrosscorrelationModel(CrosscorrelationModel self)"}, + { "CrosscorrelationModel_swigregister", CrosscorrelationModel_swigregister, METH_O, NULL}, + { "new_CommonDepthCrosscorrelation", _wrap_new_CommonDepthCrosscorrelation, METH_VARARGS, "CommonDepthCrosscorrelation(double cross_corr_depth=0)"}, + { "CommonDepthCrosscorrelation_clone", _wrap_CommonDepthCrosscorrelation_clone, METH_O, "CommonDepthCrosscorrelation_clone(CommonDepthCrosscorrelation self) -> CommonDepthCrosscorrelation"}, + { "CommonDepthCrosscorrelation_className", _wrap_CommonDepthCrosscorrelation_className, METH_O, "CommonDepthCrosscorrelation_className(CommonDepthCrosscorrelation self) -> std::string"}, + { "CommonDepthCrosscorrelation_validate", _wrap_CommonDepthCrosscorrelation_validate, METH_O, "CommonDepthCrosscorrelation_validate(CommonDepthCrosscorrelation self) -> std::string"}, + { "CommonDepthCrosscorrelation_crossCorrDepth", _wrap_CommonDepthCrosscorrelation_crossCorrDepth, METH_VARARGS, "CommonDepthCrosscorrelation_crossCorrDepth(CommonDepthCrosscorrelation self, R3 arg2) -> double"}, + { "CommonDepthCrosscorrelation_replicationFactor", _wrap_CommonDepthCrosscorrelation_replicationFactor, METH_VARARGS, "CommonDepthCrosscorrelation_replicationFactor(CommonDepthCrosscorrelation self, R3 arg2, double thickness) -> double"}, + { "CommonDepthCrosscorrelation_parDefs", _wrap_CommonDepthCrosscorrelation_parDefs, METH_O, "CommonDepthCrosscorrelation_parDefs(CommonDepthCrosscorrelation self) -> std::vector< ParaMeta,std::allocator< ParaMeta > >"}, + { "delete_CommonDepthCrosscorrelation", _wrap_delete_CommonDepthCrosscorrelation, METH_O, "delete_CommonDepthCrosscorrelation(CommonDepthCrosscorrelation self)"}, + { "CommonDepthCrosscorrelation_swigregister", CommonDepthCrosscorrelation_swigregister, METH_O, NULL}, + { "CommonDepthCrosscorrelation_swiginit", CommonDepthCrosscorrelation_swiginit, METH_VARARGS, NULL}, { "delete_IFormfactorPolyhedron", _wrap_delete_IFormfactorPolyhedron, METH_O, "delete_IFormfactorPolyhedron(IFormfactorPolyhedron self)"}, { "IFormfactorPolyhedron_volume", _wrap_IFormfactorPolyhedron_volume, METH_O, "IFormfactorPolyhedron_volume(IFormfactorPolyhedron self) -> double"}, { "IFormfactorPolyhedron_radialExtension", _wrap_IFormfactorPolyhedron_radialExtension, METH_O, "IFormfactorPolyhedron_radialExtension(IFormfactorPolyhedron self) -> double"}, @@ -74335,6 +74884,9 @@ static PyMethodDef SwigMethods[] = { static void *_p_K_CorrelationModelTo_p_AutocorrelationModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((AutocorrelationModel *) ((K_CorrelationModel *) x)); } +static void *_p_CommonDepthCrosscorrelationTo_p_CrosscorrelationModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((CrosscorrelationModel *) ((CommonDepthCrosscorrelation *) x)); +} static void *_p_AutocorrelationModelTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((AutocorrelationModel *) x)); } @@ -74356,6 +74908,9 @@ static void *_p_BoxTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { static void *_p_CantellatedCubeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IFormfactor *)(IFormfactorPolyhedron *) ((CantellatedCube *) x)); } +static void *_p_CommonDepthCrosscorrelationTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ICloneable *) (CrosscorrelationModel *) ((CommonDepthCrosscorrelation *) x)); +} static void *_p_CompoundTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IParticle *) ((Compound *) x)); } @@ -74374,6 +74929,9 @@ static void *_p_CosineRippleGaussTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(ne static void *_p_CosineRippleLorentzTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *)(IFormfactor *)(IProfileRipple *)(ICosineRipple *) ((CosineRippleLorentz *) x)); } +static void *_p_CrosscorrelationModelTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ICloneable *) ((CrosscorrelationModel *) x)); +} static void *_p_CrystalTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISampleNode *) ((Crystal *) x)); } @@ -74863,6 +75421,9 @@ static void *_p_BoxTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { static void *_p_CantellatedCubeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IFormfactor *)(IFormfactorPolyhedron *) ((CantellatedCube *) x)); } +static void *_p_CommonDepthCrosscorrelationTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((INode *) (CrosscorrelationModel *) ((CommonDepthCrosscorrelation *) x)); +} static void *_p_CompoundTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IParticle *) ((Compound *) x)); } @@ -74881,6 +75442,9 @@ static void *_p_CosineRippleGaussTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemo static void *_p_CosineRippleLorentzTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *)(IFormfactor *)(IProfileRipple *)(ICosineRipple *) ((CosineRippleLorentz *) x)); } +static void *_p_CrosscorrelationModelTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((INode *) ((CrosscorrelationModel *) x)); +} static void *_p_CrystalTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISampleNode *) ((Crystal *) x)); } @@ -75443,6 +76007,7 @@ static swig_type_info _swigt__p_BasicLattice2D = {"_p_BasicLattice2D", "BasicLat static swig_type_info _swigt__p_Bipyramid4 = {"_p_Bipyramid4", "Bipyramid4 *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Box = {"_p_Box", "Box *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_CantellatedCube = {"_p_CantellatedCube", "CantellatedCube *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_CommonDepthCrosscorrelation = {"_p_CommonDepthCrosscorrelation", "CommonDepthCrosscorrelation *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Compound = {"_p_Compound", "Compound *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Cone = {"_p_Cone", "Cone *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_CoreAndShell = {"_p_CoreAndShell", "CoreAndShell *", 0, 0, (void*)0, 0}; @@ -75609,6 +76174,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_Bipyramid4, &_swigt__p_Box, &_swigt__p_CantellatedCube, + &_swigt__p_CommonDepthCrosscorrelation, &_swigt__p_Compound, &_swigt__p_Cone, &_swigt__p_CoreAndShell, @@ -75775,13 +76341,14 @@ static swig_cast_info _swigc__p_BasicLattice2D[] = { {&_swigt__p_BasicLattice2D static swig_cast_info _swigc__p_Bipyramid4[] = { {&_swigt__p_Bipyramid4, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Box[] = { {&_swigt__p_Box, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_CantellatedCube[] = { {&_swigt__p_CantellatedCube, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_CommonDepthCrosscorrelation[] = { {&_swigt__p_CommonDepthCrosscorrelation, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Compound[] = { {&_swigt__p_Compound, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Cone[] = { {&_swigt__p_Cone, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_CoreAndShell[] = { {&_swigt__p_CoreAndShell, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_CosineRippleBox[] = { {&_swigt__p_CosineRippleBox, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_CosineRippleGauss[] = { {&_swigt__p_CosineRippleGauss, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_CosineRippleLorentz[] = { {&_swigt__p_CosineRippleLorentz, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_CrosscorrelationModel[] = { {&_swigt__p_CrosscorrelationModel, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_CrosscorrelationModel[] = { {&_swigt__p_CrosscorrelationModel, 0, 0, 0}, {&_swigt__p_CommonDepthCrosscorrelation, _p_CommonDepthCrosscorrelationTo_p_CrosscorrelationModel, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Crystal[] = { {&_swigt__p_Crystal, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Cylinder[] = { {&_swigt__p_Cylinder, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Dodecahedron[] = { {&_swigt__p_Dodecahedron, 0, 0, 0},{0, 0, 0, 0}}; @@ -75793,14 +76360,14 @@ static swig_cast_info _swigc__p_GaussSphere[] = { {&_swigt__p_GaussSphere, 0, 0 static swig_cast_info _swigc__p_HemiEllipsoid[] = { {&_swigt__p_HemiEllipsoid, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_HexagonalLattice2D[] = { {&_swigt__p_HexagonalLattice2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_HorizontalCylinder[] = { {&_swigt__p_HorizontalCylinder, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_AutocorrelationModel, _p_AutocorrelationModelTo_p_ICloneable, 0, 0}, {&_swigt__p_BarGauss, _p_BarGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_BarLorentz, _p_BarLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Bipyramid4, _p_Bipyramid4To_p_ICloneable, 0, 0}, {&_swigt__p_Box, _p_BoxTo_p_ICloneable, 0, 0}, {&_swigt__p_CantellatedCube, _p_CantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_Compound, _p_CompoundTo_p_ICloneable, 0, 0}, {&_swigt__p_Cone, _p_ConeTo_p_ICloneable, 0, 0}, {&_swigt__p_CoreAndShell, _p_CoreAndShellTo_p_ICloneable, 0, 0}, {&_swigt__p_CosineRippleBox, _p_CosineRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_CosineRippleGauss, _p_CosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_CosineRippleLorentz, _p_CosineRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Cylinder, _p_CylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_Dodecahedron, _p_DodecahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_EllipsoidalCylinder, _p_EllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ErfInterlayer, _p_ErfInterlayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FuzzySphere, _p_FuzzySphereTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussSphere, _p_GaussSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_HemiEllipsoid, _p_HemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_HorizontalCylinder, _p_HorizontalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormfactor, _p_IFormfactorTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormfactorPolyhedron, _p_IFormfactorPolyhedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormfactorPrism, _p_IFormfactorPrismTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_ICloneable, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfile1D, _p_IProfile1DTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfile2D, _p_IProfile2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_Icosahedron, _p_IcosahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DParacrystal, _p_Interference2DParacrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceRadialParacrystal, _p_InterferenceRadialParacrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_InterlayerModel, _p_InterlayerModelTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_K_CorrelationModel, _p_K_CorrelationModelTo_p_ICloneable, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ICloneable, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ICloneable, 0, 0}, {&_swigt__p_LongBoxGauss, _p_LongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_LongBoxLorentz, _p_LongBoxLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_Mesocrystal, _p_MesocrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ICloneable, 0, 0}, {&_swigt__p_PlatonicOctahedron, _p_PlatonicOctahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_PlatonicTetrahedron, _p_PlatonicTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_Prism3, _p_Prism3To_p_ICloneable, 0, 0}, {&_swigt__p_Prism6, _p_Prism6To_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DCauchy, _p_Profile1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DCosine, _p_Profile1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DGate, _p_Profile1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DGauss, _p_Profile1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DTriangle, _p_Profile1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DVoigt, _p_Profile1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DCauchy, _p_Profile2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DCone, _p_Profile2DConeTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DGate, _p_Profile2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DGauss, _p_Profile2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DVoigt, _p_Profile2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid2, _p_Pyramid2To_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid3, _p_Pyramid3To_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid4, _p_Pyramid4To_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid6, _p_Pyramid6To_p_ICloneable, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_ICloneable, 0, 0}, {&_swigt__p_SawtoothRippleBox, _p_SawtoothRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_SawtoothRippleGauss, _p_SawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_SawtoothRippleLorentz, _p_SawtoothRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_Sphere, _p_SphereTo_p_ICloneable, 0, 0}, {&_swigt__p_Spheroid, _p_SpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_TanhInterlayer, _p_TanhInterlayerTo_p_ICloneable, 0, 0}, {&_swigt__p_TruncatedCube, _p_TruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_TruncatedSphere, _p_TruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_TruncatedSpheroid, _p_TruncatedSpheroidTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_AutocorrelationModel, _p_AutocorrelationModelTo_p_ICloneable, 0, 0}, {&_swigt__p_BarGauss, _p_BarGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_BarLorentz, _p_BarLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Bipyramid4, _p_Bipyramid4To_p_ICloneable, 0, 0}, {&_swigt__p_Box, _p_BoxTo_p_ICloneable, 0, 0}, {&_swigt__p_CantellatedCube, _p_CantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_CommonDepthCrosscorrelation, _p_CommonDepthCrosscorrelationTo_p_ICloneable, 0, 0}, {&_swigt__p_Compound, _p_CompoundTo_p_ICloneable, 0, 0}, {&_swigt__p_Cone, _p_ConeTo_p_ICloneable, 0, 0}, {&_swigt__p_CoreAndShell, _p_CoreAndShellTo_p_ICloneable, 0, 0}, {&_swigt__p_CosineRippleBox, _p_CosineRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_CosineRippleGauss, _p_CosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_CosineRippleLorentz, _p_CosineRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_CrosscorrelationModel, _p_CrosscorrelationModelTo_p_ICloneable, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Cylinder, _p_CylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_Dodecahedron, _p_DodecahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_EllipsoidalCylinder, _p_EllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ErfInterlayer, _p_ErfInterlayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FuzzySphere, _p_FuzzySphereTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussSphere, _p_GaussSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_HemiEllipsoid, _p_HemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_HorizontalCylinder, _p_HorizontalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormfactor, _p_IFormfactorTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormfactorPolyhedron, _p_IFormfactorPolyhedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormfactorPrism, _p_IFormfactorPrismTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_ICloneable, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfile1D, _p_IProfile1DTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfile2D, _p_IProfile2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_ICloneable, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_Icosahedron, _p_IcosahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DParacrystal, _p_Interference2DParacrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceRadialParacrystal, _p_InterferenceRadialParacrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_InterlayerModel, _p_InterlayerModelTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_K_CorrelationModel, _p_K_CorrelationModelTo_p_ICloneable, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ICloneable, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ICloneable, 0, 0}, {&_swigt__p_LongBoxGauss, _p_LongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_LongBoxLorentz, _p_LongBoxLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_Mesocrystal, _p_MesocrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ICloneable, 0, 0}, {&_swigt__p_PlatonicOctahedron, _p_PlatonicOctahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_PlatonicTetrahedron, _p_PlatonicTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_Prism3, _p_Prism3To_p_ICloneable, 0, 0}, {&_swigt__p_Prism6, _p_Prism6To_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DCauchy, _p_Profile1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DCosine, _p_Profile1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DGate, _p_Profile1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DGauss, _p_Profile1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DTriangle, _p_Profile1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile1DVoigt, _p_Profile1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DCauchy, _p_Profile2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DCone, _p_Profile2DConeTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DGate, _p_Profile2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DGauss, _p_Profile2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_Profile2DVoigt, _p_Profile2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid2, _p_Pyramid2To_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid3, _p_Pyramid3To_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid4, _p_Pyramid4To_p_ICloneable, 0, 0}, {&_swigt__p_Pyramid6, _p_Pyramid6To_p_ICloneable, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_ICloneable, 0, 0}, {&_swigt__p_SawtoothRippleBox, _p_SawtoothRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_SawtoothRippleGauss, _p_SawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_SawtoothRippleLorentz, _p_SawtoothRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_Sphere, _p_SphereTo_p_ICloneable, 0, 0}, {&_swigt__p_Spheroid, _p_SpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_TanhInterlayer, _p_TanhInterlayerTo_p_ICloneable, 0, 0}, {&_swigt__p_TruncatedCube, _p_TruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_TruncatedSphere, _p_TruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_TruncatedSpheroid, _p_TruncatedSpheroidTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ICosineRipple[] = { {&_swigt__p_ICosineRipple, 0, 0, 0}, {&_swigt__p_CosineRippleBox, _p_CosineRippleBoxTo_p_ICosineRipple, 0, 0}, {&_swigt__p_CosineRippleGauss, _p_CosineRippleGaussTo_p_ICosineRipple, 0, 0}, {&_swigt__p_CosineRippleLorentz, _p_CosineRippleLorentzTo_p_ICosineRipple, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFormfactor[] = { {&_swigt__p_IFormfactor, 0, 0, 0}, {&_swigt__p_BarGauss, _p_BarGaussTo_p_IFormfactor, 0, 0}, {&_swigt__p_BarLorentz, _p_BarLorentzTo_p_IFormfactor, 0, 0}, {&_swigt__p_Bipyramid4, _p_Bipyramid4To_p_IFormfactor, 0, 0}, {&_swigt__p_Box, _p_BoxTo_p_IFormfactor, 0, 0}, {&_swigt__p_CantellatedCube, _p_CantellatedCubeTo_p_IFormfactor, 0, 0}, {&_swigt__p_Cone, _p_ConeTo_p_IFormfactor, 0, 0}, {&_swigt__p_CosineRippleBox, _p_CosineRippleBoxTo_p_IFormfactor, 0, 0}, {&_swigt__p_CosineRippleGauss, _p_CosineRippleGaussTo_p_IFormfactor, 0, 0}, {&_swigt__p_CosineRippleLorentz, _p_CosineRippleLorentzTo_p_IFormfactor, 0, 0}, {&_swigt__p_Cylinder, _p_CylinderTo_p_IFormfactor, 0, 0}, {&_swigt__p_Dodecahedron, _p_DodecahedronTo_p_IFormfactor, 0, 0}, {&_swigt__p_EllipsoidalCylinder, _p_EllipsoidalCylinderTo_p_IFormfactor, 0, 0}, {&_swigt__p_FuzzySphere, _p_FuzzySphereTo_p_IFormfactor, 0, 0}, {&_swigt__p_GaussSphere, _p_GaussSphereTo_p_IFormfactor, 0, 0}, {&_swigt__p_HemiEllipsoid, _p_HemiEllipsoidTo_p_IFormfactor, 0, 0}, {&_swigt__p_HorizontalCylinder, _p_HorizontalCylinderTo_p_IFormfactor, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IFormfactor, 0, 0}, {&_swigt__p_IFormfactorPolyhedron, _p_IFormfactorPolyhedronTo_p_IFormfactor, 0, 0}, {&_swigt__p_IFormfactorPrism, _p_IFormfactorPrismTo_p_IFormfactor, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IFormfactor, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IFormfactor, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IFormfactor, 0, 0}, {&_swigt__p_Icosahedron, _p_IcosahedronTo_p_IFormfactor, 0, 0}, {&_swigt__p_LongBoxGauss, _p_LongBoxGaussTo_p_IFormfactor, 0, 0}, {&_swigt__p_LongBoxLorentz, _p_LongBoxLorentzTo_p_IFormfactor, 0, 0}, {&_swigt__p_PlatonicOctahedron, _p_PlatonicOctahedronTo_p_IFormfactor, 0, 0}, {&_swigt__p_PlatonicTetrahedron, _p_PlatonicTetrahedronTo_p_IFormfactor, 0, 0}, {&_swigt__p_Prism3, _p_Prism3To_p_IFormfactor, 0, 0}, {&_swigt__p_Prism6, _p_Prism6To_p_IFormfactor, 0, 0}, {&_swigt__p_Pyramid2, _p_Pyramid2To_p_IFormfactor, 0, 0}, {&_swigt__p_Pyramid3, _p_Pyramid3To_p_IFormfactor, 0, 0}, {&_swigt__p_Pyramid4, _p_Pyramid4To_p_IFormfactor, 0, 0}, {&_swigt__p_Pyramid6, _p_Pyramid6To_p_IFormfactor, 0, 0}, {&_swigt__p_SawtoothRippleBox, _p_SawtoothRippleBoxTo_p_IFormfactor, 0, 0}, {&_swigt__p_SawtoothRippleGauss, _p_SawtoothRippleGaussTo_p_IFormfactor, 0, 0}, {&_swigt__p_SawtoothRippleLorentz, _p_SawtoothRippleLorentzTo_p_IFormfactor, 0, 0}, {&_swigt__p_Sphere, _p_SphereTo_p_IFormfactor, 0, 0}, {&_swigt__p_Spheroid, _p_SpheroidTo_p_IFormfactor, 0, 0}, {&_swigt__p_TruncatedCube, _p_TruncatedCubeTo_p_IFormfactor, 0, 0}, {&_swigt__p_TruncatedSphere, _p_TruncatedSphereTo_p_IFormfactor, 0, 0}, {&_swigt__p_TruncatedSpheroid, _p_TruncatedSpheroidTo_p_IFormfactor, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFormfactorPolyhedron[] = { {&_swigt__p_IFormfactorPolyhedron, 0, 0, 0}, {&_swigt__p_Bipyramid4, _p_Bipyramid4To_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Box, _p_BoxTo_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_CantellatedCube, _p_CantellatedCubeTo_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Dodecahedron, _p_DodecahedronTo_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_IFormfactorPrism, _p_IFormfactorPrismTo_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Icosahedron, _p_IcosahedronTo_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_PlatonicOctahedron, _p_PlatonicOctahedronTo_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_PlatonicTetrahedron, _p_PlatonicTetrahedronTo_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Prism3, _p_Prism3To_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Prism6, _p_Prism6To_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Pyramid2, _p_Pyramid2To_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Pyramid3, _p_Pyramid3To_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Pyramid4, _p_Pyramid4To_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_Pyramid6, _p_Pyramid6To_p_IFormfactorPolyhedron, 0, 0}, {&_swigt__p_TruncatedCube, _p_TruncatedCubeTo_p_IFormfactorPolyhedron, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFormfactorPrism[] = { {&_swigt__p_IFormfactorPrism, 0, 0, 0}, {&_swigt__p_Box, _p_BoxTo_p_IFormfactorPrism, 0, 0}, {&_swigt__p_Prism3, _p_Prism3To_p_IFormfactorPrism, 0, 0}, {&_swigt__p_Prism6, _p_Prism6To_p_IFormfactorPrism, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IInterference[] = { {&_swigt__p_IInterference, 0, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_Interference2DParacrystal, _p_Interference2DParacrystalTo_p_IInterference, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_IInterference, 0, 0}, {&_swigt__p_InterferenceRadialParacrystal, _p_InterferenceRadialParacrystalTo_p_IInterference, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IMaterialImpl[] = { {&_swigt__p_IMaterialImpl, 0, 0, 0}, {&_swigt__p_MaterialBySLDImpl, _p_MaterialBySLDImplTo_p_IMaterialImpl, 0, 0}, {&_swigt__p_RefractiveMaterialImpl, _p_RefractiveMaterialImplTo_p_IMaterialImpl, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_AutocorrelationModel, _p_AutocorrelationModelTo_p_INode, 0, 0}, {&_swigt__p_BarGauss, _p_BarGaussTo_p_INode, 0, 0}, {&_swigt__p_BarLorentz, _p_BarLorentzTo_p_INode, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_INode, 0, 0}, {&_swigt__p_Bipyramid4, _p_Bipyramid4To_p_INode, 0, 0}, {&_swigt__p_Box, _p_BoxTo_p_INode, 0, 0}, {&_swigt__p_CantellatedCube, _p_CantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_Compound, _p_CompoundTo_p_INode, 0, 0}, {&_swigt__p_Cone, _p_ConeTo_p_INode, 0, 0}, {&_swigt__p_CoreAndShell, _p_CoreAndShellTo_p_INode, 0, 0}, {&_swigt__p_CosineRippleBox, _p_CosineRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_CosineRippleGauss, _p_CosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_CosineRippleLorentz, _p_CosineRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_INode, 0, 0}, {&_swigt__p_Cylinder, _p_CylinderTo_p_INode, 0, 0}, {&_swigt__p_Dodecahedron, _p_DodecahedronTo_p_INode, 0, 0}, {&_swigt__p_EllipsoidalCylinder, _p_EllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_ErfInterlayer, _p_ErfInterlayerTo_p_INode, 0, 0}, {&_swigt__p_FuzzySphere, _p_FuzzySphereTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussSphere, _p_GaussSphereTo_p_INode, 0, 0}, {&_swigt__p_HemiEllipsoid, _p_HemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_INode, 0, 0}, {&_swigt__p_HorizontalCylinder, _p_HorizontalCylinderTo_p_INode, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_INode, 0, 0}, {&_swigt__p_IFormfactor, _p_IFormfactorTo_p_INode, 0, 0}, {&_swigt__p_IFormfactorPolyhedron, _p_IFormfactorPolyhedronTo_p_INode, 0, 0}, {&_swigt__p_IFormfactorPrism, _p_IFormfactorPrismTo_p_INode, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_INode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IProfile1D, _p_IProfile1DTo_p_INode, 0, 0}, {&_swigt__p_IProfile2D, _p_IProfile2DTo_p_INode, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_INode, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_INode, 0, 0}, {&_swigt__p_Icosahedron, _p_IcosahedronTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DParacrystal, _p_Interference2DParacrystalTo_p_INode, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_INode, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_INode, 0, 0}, {&_swigt__p_InterferenceRadialParacrystal, _p_InterferenceRadialParacrystalTo_p_INode, 0, 0}, {&_swigt__p_InterlayerModel, _p_InterlayerModelTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_K_CorrelationModel, _p_K_CorrelationModelTo_p_INode, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_INode, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_INode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_INode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_INode, 0, 0}, {&_swigt__p_LongBoxGauss, _p_LongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_LongBoxLorentz, _p_LongBoxLorentzTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_Mesocrystal, _p_MesocrystalTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_INode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_INode, 0, 0}, {&_swigt__p_PlatonicOctahedron, _p_PlatonicOctahedronTo_p_INode, 0, 0}, {&_swigt__p_PlatonicTetrahedron, _p_PlatonicTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_Prism3, _p_Prism3To_p_INode, 0, 0}, {&_swigt__p_Prism6, _p_Prism6To_p_INode, 0, 0}, {&_swigt__p_Profile1DCauchy, _p_Profile1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_Profile1DCosine, _p_Profile1DCosineTo_p_INode, 0, 0}, {&_swigt__p_Profile1DGate, _p_Profile1DGateTo_p_INode, 0, 0}, {&_swigt__p_Profile1DGauss, _p_Profile1DGaussTo_p_INode, 0, 0}, {&_swigt__p_Profile1DTriangle, _p_Profile1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_Profile1DVoigt, _p_Profile1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_Profile2DCauchy, _p_Profile2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_Profile2DCone, _p_Profile2DConeTo_p_INode, 0, 0}, {&_swigt__p_Profile2DGate, _p_Profile2DGateTo_p_INode, 0, 0}, {&_swigt__p_Profile2DGauss, _p_Profile2DGaussTo_p_INode, 0, 0}, {&_swigt__p_Profile2DVoigt, _p_Profile2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_Pyramid2, _p_Pyramid2To_p_INode, 0, 0}, {&_swigt__p_Pyramid3, _p_Pyramid3To_p_INode, 0, 0}, {&_swigt__p_Pyramid4, _p_Pyramid4To_p_INode, 0, 0}, {&_swigt__p_Pyramid6, _p_Pyramid6To_p_INode, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_INode, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_INode, 0, 0}, {&_swigt__p_SawtoothRippleBox, _p_SawtoothRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_SawtoothRippleGauss, _p_SawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_SawtoothRippleLorentz, _p_SawtoothRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_Sphere, _p_SphereTo_p_INode, 0, 0}, {&_swigt__p_Spheroid, _p_SpheroidTo_p_INode, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_INode, 0, 0}, {&_swigt__p_TanhInterlayer, _p_TanhInterlayerTo_p_INode, 0, 0}, {&_swigt__p_TruncatedCube, _p_TruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_TruncatedSphere, _p_TruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_TruncatedSpheroid, _p_TruncatedSpheroidTo_p_INode, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_AutocorrelationModel, _p_AutocorrelationModelTo_p_INode, 0, 0}, {&_swigt__p_BarGauss, _p_BarGaussTo_p_INode, 0, 0}, {&_swigt__p_BarLorentz, _p_BarLorentzTo_p_INode, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_INode, 0, 0}, {&_swigt__p_Bipyramid4, _p_Bipyramid4To_p_INode, 0, 0}, {&_swigt__p_Box, _p_BoxTo_p_INode, 0, 0}, {&_swigt__p_CantellatedCube, _p_CantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_CommonDepthCrosscorrelation, _p_CommonDepthCrosscorrelationTo_p_INode, 0, 0}, {&_swigt__p_Compound, _p_CompoundTo_p_INode, 0, 0}, {&_swigt__p_Cone, _p_ConeTo_p_INode, 0, 0}, {&_swigt__p_CoreAndShell, _p_CoreAndShellTo_p_INode, 0, 0}, {&_swigt__p_CosineRippleBox, _p_CosineRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_CosineRippleGauss, _p_CosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_CosineRippleLorentz, _p_CosineRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_CrosscorrelationModel, _p_CrosscorrelationModelTo_p_INode, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_INode, 0, 0}, {&_swigt__p_Cylinder, _p_CylinderTo_p_INode, 0, 0}, {&_swigt__p_Dodecahedron, _p_DodecahedronTo_p_INode, 0, 0}, {&_swigt__p_EllipsoidalCylinder, _p_EllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_ErfInterlayer, _p_ErfInterlayerTo_p_INode, 0, 0}, {&_swigt__p_FuzzySphere, _p_FuzzySphereTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussSphere, _p_GaussSphereTo_p_INode, 0, 0}, {&_swigt__p_HemiEllipsoid, _p_HemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_INode, 0, 0}, {&_swigt__p_HorizontalCylinder, _p_HorizontalCylinderTo_p_INode, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_INode, 0, 0}, {&_swigt__p_IFormfactor, _p_IFormfactorTo_p_INode, 0, 0}, {&_swigt__p_IFormfactorPolyhedron, _p_IFormfactorPolyhedronTo_p_INode, 0, 0}, {&_swigt__p_IFormfactorPrism, _p_IFormfactorPrismTo_p_INode, 0, 0}, {&_swigt__p_IInterference, _p_IInterferenceTo_p_INode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IProfile1D, _p_IProfile1DTo_p_INode, 0, 0}, {&_swigt__p_IProfile2D, _p_IProfile2DTo_p_INode, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_INode, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_ISampleNode, _p_ISampleNodeTo_p_INode, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_INode, 0, 0}, {&_swigt__p_Icosahedron, _p_IcosahedronTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_Interference1DLattice, _p_Interference1DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DLattice, _p_Interference2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_Interference2DParacrystal, _p_Interference2DParacrystalTo_p_INode, 0, 0}, {&_swigt__p_Interference2DSuperLattice, _p_Interference2DSuperLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFinite2DLattice, _p_InterferenceFinite2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceHardDisk, _p_InterferenceHardDiskTo_p_INode, 0, 0}, {&_swigt__p_InterferenceNone, _p_InterferenceNoneTo_p_INode, 0, 0}, {&_swigt__p_InterferenceRadialParacrystal, _p_InterferenceRadialParacrystalTo_p_INode, 0, 0}, {&_swigt__p_InterlayerModel, _p_InterlayerModelTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_K_CorrelationModel, _p_K_CorrelationModelTo_p_INode, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_INode, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_INode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_INode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_INode, 0, 0}, {&_swigt__p_LongBoxGauss, _p_LongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_LongBoxLorentz, _p_LongBoxLorentzTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_Mesocrystal, _p_MesocrystalTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_INode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_INode, 0, 0}, {&_swigt__p_PlatonicOctahedron, _p_PlatonicOctahedronTo_p_INode, 0, 0}, {&_swigt__p_PlatonicTetrahedron, _p_PlatonicTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_Prism3, _p_Prism3To_p_INode, 0, 0}, {&_swigt__p_Prism6, _p_Prism6To_p_INode, 0, 0}, {&_swigt__p_Profile1DCauchy, _p_Profile1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_Profile1DCosine, _p_Profile1DCosineTo_p_INode, 0, 0}, {&_swigt__p_Profile1DGate, _p_Profile1DGateTo_p_INode, 0, 0}, {&_swigt__p_Profile1DGauss, _p_Profile1DGaussTo_p_INode, 0, 0}, {&_swigt__p_Profile1DTriangle, _p_Profile1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_Profile1DVoigt, _p_Profile1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_Profile2DCauchy, _p_Profile2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_Profile2DCone, _p_Profile2DConeTo_p_INode, 0, 0}, {&_swigt__p_Profile2DGate, _p_Profile2DGateTo_p_INode, 0, 0}, {&_swigt__p_Profile2DGauss, _p_Profile2DGaussTo_p_INode, 0, 0}, {&_swigt__p_Profile2DVoigt, _p_Profile2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_Pyramid2, _p_Pyramid2To_p_INode, 0, 0}, {&_swigt__p_Pyramid3, _p_Pyramid3To_p_INode, 0, 0}, {&_swigt__p_Pyramid4, _p_Pyramid4To_p_INode, 0, 0}, {&_swigt__p_Pyramid6, _p_Pyramid6To_p_INode, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_INode, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_INode, 0, 0}, {&_swigt__p_SawtoothRippleBox, _p_SawtoothRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_SawtoothRippleGauss, _p_SawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_SawtoothRippleLorentz, _p_SawtoothRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_Sphere, _p_SphereTo_p_INode, 0, 0}, {&_swigt__p_Spheroid, _p_SpheroidTo_p_INode, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_INode, 0, 0}, {&_swigt__p_TanhInterlayer, _p_TanhInterlayerTo_p_INode, 0, 0}, {&_swigt__p_TruncatedCube, _p_TruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_TruncatedSphere, _p_TruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_TruncatedSpheroid, _p_TruncatedSpheroidTo_p_INode, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IParticle[] = { {&_swigt__p_IParticle, 0, 0, 0}, {&_swigt__p_Compound, _p_CompoundTo_p_IParticle, 0, 0}, {&_swigt__p_CoreAndShell, _p_CoreAndShellTo_p_IParticle, 0, 0}, {&_swigt__p_Mesocrystal, _p_MesocrystalTo_p_IParticle, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_IParticle, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IPeakShape[] = { {&_swigt__p_IPeakShape, 0, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_IPeakShape, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IProfile1D[] = { {&_swigt__p_IProfile1D, 0, 0, 0}, {&_swigt__p_Profile1DCauchy, _p_Profile1DCauchyTo_p_IProfile1D, 0, 0}, {&_swigt__p_Profile1DCosine, _p_Profile1DCosineTo_p_IProfile1D, 0, 0}, {&_swigt__p_Profile1DGate, _p_Profile1DGateTo_p_IProfile1D, 0, 0}, {&_swigt__p_Profile1DGauss, _p_Profile1DGaussTo_p_IProfile1D, 0, 0}, {&_swigt__p_Profile1DTriangle, _p_Profile1DTriangleTo_p_IProfile1D, 0, 0}, {&_swigt__p_Profile1DVoigt, _p_Profile1DVoigtTo_p_IProfile1D, 0, 0},{0, 0, 0, 0}}; @@ -75941,6 +76508,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_Bipyramid4, _swigc__p_Box, _swigc__p_CantellatedCube, + _swigc__p_CommonDepthCrosscorrelation, _swigc__p_Compound, _swigc__p_Cone, _swigc__p_CoreAndShell, diff --git a/rawEx/scatter2d/CorrelatedRoughness.py b/rawEx/scatter2d/CorrelatedRoughness.py index e97f3678aad..d55a91bbf88 100755 --- a/rawEx/scatter2d/CorrelatedRoughness.py +++ b/rawEx/scatter2d/CorrelatedRoughness.py @@ -25,7 +25,8 @@ def get_sample(): sigma, hurst, corrLength = 1*nm, 0.3, 5*nm autocorr = ba.K_CorrelationModel(sigma, hurst, corrLength) interlayer = ba.TanhInterlayer() - roughness = ba.LayerRoughness(autocorr, interlayer) + crosscorrelation = ba.CommonDepthCrosscorrelation(10*nm) + roughness = ba.LayerRoughness(autocorr, interlayer, crosscorrelation) my_sample = ba.MultiLayer() @@ -38,7 +39,6 @@ def get_sample(): my_sample.addLayerWithTopRoughness(l_part_b, roughness) my_sample.addLayerWithTopRoughness(l_substrate, roughness) - my_sample.setCrossCorrLength(10*nm) return my_sample -- GitLab