diff --git a/Base/Pixel/SimulationElement.cpp b/Base/Pixel/SimulationElement.cpp index 0bb310f495e787f944fa4d3ff4bb9f59df0048ab..102aadb816ab60f1fefd7996a378ad6f24f1a0f7 100644 --- a/Base/Pixel/SimulationElement.cpp +++ b/Base/Pixel/SimulationElement.cpp @@ -76,7 +76,7 @@ kvector_t SimulationElement::getKf(double x, double y) const return m_pixel->getK(x, y, m_wavelength); } -kvector_t SimulationElement::getMeanQ() const +kvector_t SimulationElement::meanQ() const { return getKi() - getMeanKf(); } diff --git a/Base/Pixel/SimulationElement.h b/Base/Pixel/SimulationElement.h index 0e133be808e611b06ea2c4517725a82a89b20b58..ff70182f0078a1a3ec6f9077567e5648c9e51a02 100644 --- a/Base/Pixel/SimulationElement.h +++ b/Base/Pixel/SimulationElement.h @@ -53,7 +53,7 @@ public: double getIntensity() const { return m_intensity; } kvector_t getKi() const; kvector_t getMeanKf() const; - kvector_t getMeanQ() const; + kvector_t meanQ() const; kvector_t getQ(double x, double y) const; double integrationFactor(double x, double y) const; diff --git a/CHANGELOG b/CHANGELOG index 9a236ddf7cf2e8fd139b10710f797b0f9fb4ecea..4778aa9ea7bf5bf777f1ee67b0c2af1c56e0d06e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,8 @@ BornAgain-1.18.99, ongoing development + > API changes: + 1) Lattice has been renamed to Lattice3D, for clearer disambuation from Lattice2D. + 2) Retain only those interference functions constructors that take a Lattice2D + or Lattice3D parameter. > Fixes of unreported bugs: * For alpha_i, set scattered intensity to 0 (incorrect, but everything else would be worse) diff --git a/Core/Computation/ParticleLayoutComputation.cpp b/Core/Computation/ParticleLayoutComputation.cpp index 1397aed4a96508b06e3bd03ea0c211ef9a119261..92383eed2355fcace9b091074406eec45dcdfe1d 100644 --- a/Core/Computation/ParticleLayoutComputation.cpp +++ b/Core/Computation/ParticleLayoutComputation.cpp @@ -27,24 +27,24 @@ std::unique_ptr<IInterferenceFunctionStrategy> processedInterferenceFunction(const ProcessedLayout& layout, const SimulationOptions& sim_params, bool polarized) { - const IInterferenceFunction* p_iff = layout.interferenceFunction(); - if (p_iff && layout.numberOfSlices() > 1 && !p_iff->supportsMultilayer()) + const IInterferenceFunction* iff = layout.interferenceFunction(); + if (iff && layout.numberOfSlices() > 1 && !iff->supportsMultilayer()) throw std::runtime_error("LayoutStrategyBuilder::checkInterferenceFunction: " "interference function does not support multiple layers"); - auto p_radial_para = dynamic_cast<const InterferenceFunctionRadialParaCrystal*>(p_iff); + auto radial_para = dynamic_cast<const InterferenceFunctionRadialParaCrystal*>(iff); const std::vector<FormFactorCoherentSum>& weighted_formfactors = layout.formFactorList(); std::unique_ptr<IInterferenceFunctionStrategy> result; - if (p_radial_para && p_radial_para->kappa() > 0.0) { - double kappa = p_radial_para->kappa(); - return std::make_unique<SSCApproximationStrategy>(weighted_formfactors, p_iff, sim_params, - polarized, kappa); + if (radial_para && radial_para->kappa() > 0.0) { + double kappa = radial_para->kappa(); + return std::make_unique<SSCApproximationStrategy>(weighted_formfactors, radial_para, + sim_params, polarized, kappa); } - return std::make_unique<DecouplingApproximationStrategy>(weighted_formfactors, p_iff, - sim_params, polarized); + return std::make_unique<DecouplingApproximationStrategy>(weighted_formfactors, iff, sim_params, + polarized); } } // namespace diff --git a/Core/Computation/ProcessedLayout.cpp b/Core/Computation/ProcessedLayout.cpp index 1c11512269566b5259b2cd24d6753df7e97a41c5..228eec782ab0c37839b923e306ecb27545074541 100644 --- a/Core/Computation/ProcessedLayout.cpp +++ b/Core/Computation/ProcessedLayout.cpp @@ -25,8 +25,15 @@ namespace { -void ScaleRegionMap(std::map<size_t, std::vector<HomogeneousRegion>>& region_map, double factor); +void ScaleRegionMap(std::map<size_t, std::vector<HomogeneousRegion>>& region_map, double factor) +{ + for (auto& entry : region_map) { + for (auto& region : entry.second) { + region.m_volume *= factor; + } + } } +} // namespace ProcessedLayout::ProcessedLayout(const ParticleLayout& layout, const std::vector<Slice>& slices, double z_ref, const IFresnelMap* p_fresnel_map, bool polarized) @@ -80,10 +87,10 @@ void ProcessedLayout::collectFormFactors(const ParticleLayout& layout, const std::vector<Slice>& slices, double z_ref) { double layout_abundance = layout.getTotalAbundance(); - for (auto p_particle : layout.particles()) { - auto ff_coh = processParticle(*p_particle, slices, z_ref); + for (const auto* particle : layout.particles()) { + FormFactorCoherentSum ff_coh = processParticle(*particle, slices, z_ref); ff_coh.scaleRelativeAbundance(layout_abundance); - m_formfactors.push_back(std::move(ff_coh)); + m_formfactors.emplace_back(ff_coh); } double weight = layout.weight(); m_surface_density = weight * layout.totalParticleSurfaceDensity(); @@ -102,25 +109,25 @@ FormFactorCoherentSum ProcessedLayout::processParticle(const IParticle& particle mergeRegionMap(region_map); auto result = FormFactorCoherentSum(abundance); for (size_t i = 0; i < sliced_ffs.size(); ++i) { - auto ff_pair = sliced_ffs[i]; - std::unique_ptr<IFormFactor> P_ff_framework; + const auto ff_pair = sliced_ffs[i]; + std::unique_ptr<IFormFactor> ff_framework; if (slices.size() > 1) { if (m_polarized) - P_ff_framework = std::make_unique<FormFactorDWBAPol>(*ff_pair.first); + ff_framework = std::make_unique<FormFactorDWBAPol>(*ff_pair.first); else - P_ff_framework = std::make_unique<FormFactorDWBA>(*ff_pair.first); + ff_framework = std::make_unique<FormFactorDWBA>(*ff_pair.first); } else { if (m_polarized) - P_ff_framework = std::make_unique<FormFactorBAPol>(*ff_pair.first); + ff_framework = std::make_unique<FormFactorBAPol>(*ff_pair.first); else - P_ff_framework.reset(ff_pair.first->clone()); + ff_framework.reset(ff_pair.first->clone()); } size_t slice_index = ff_pair.second; const Material slice_material = slices[slice_index].material(); - P_ff_framework->setAmbientMaterial(slice_material); + ff_framework->setAmbientMaterial(slice_material); - auto part = FormFactorCoherentPart(P_ff_framework.release()); + auto part = FormFactorCoherentPart(ff_framework.release()); part.setSpecularInfo(m_fresnel_map, slice_index); result.addCoherentPart(part); @@ -138,15 +145,3 @@ void ProcessedLayout::mergeRegionMap( regions.end()); } } - -namespace -{ -void ScaleRegionMap(std::map<size_t, std::vector<HomogeneousRegion>>& region_map, double factor) -{ - for (auto& entry : region_map) { - for (auto& region : entry.second) { - region.m_volume *= factor; - } - } -} -} // namespace diff --git a/Core/Computation/RoughMultiLayerComputation.cpp b/Core/Computation/RoughMultiLayerComputation.cpp index 46df387a997035103e7c2a98b104dda47f9977d6..92925b35e3cff7d2c767f2b2f871bbe54eb725f9 100644 --- a/Core/Computation/RoughMultiLayerComputation.cpp +++ b/Core/Computation/RoughMultiLayerComputation.cpp @@ -50,7 +50,7 @@ void RoughMultiLayerComputation::compute(SimulationElement& elem) const if (elem.getAlphaMean() < 0.0) return; auto n_slices = m_sample->numberOfSlices(); - kvector_t q = elem.getMeanQ(); + kvector_t q = elem.meanQ(); double wavelength = elem.getWavelength(); double autocorr(0.0); complex_t crosscorr(0.0, 0.0); diff --git a/Core/Export/SampleToPython.cpp b/Core/Export/SampleToPython.cpp index 11d9ef1d0632680cbcd0e74f0e5e64929c3d875c..edcc4c3f7ed2bc241f19b1040759ce48d3bfd1fe 100644 --- a/Core/Export/SampleToPython.cpp +++ b/Core/Export/SampleToPython.cpp @@ -46,35 +46,35 @@ void SampleToPython::initLabels(const MultiLayer& multilayer) m_label->insertMultiLayer(&multilayer); - for (auto x : multilayer.containedMaterials()) + for (const auto* x : multilayer.containedMaterials()) m_label->insertMaterial(x); - for (auto x : INodeUtils::AllDescendantsOfType<Layer>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<Layer>(multilayer)) m_label->insertLayer(x); - for (auto x : INodeUtils::AllDescendantsOfType<LayerRoughness>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<LayerRoughness>(multilayer)) m_label->insertRoughness(x); - for (auto x : INodeUtils::AllDescendantsOfType<IFormFactor>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<IFormFactor>(multilayer)) m_label->insertFormFactor(x); - for (auto x : INodeUtils::AllDescendantsOfType<ParticleLayout>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleLayout>(multilayer)) m_label->insertLayout(x); - for (auto x : INodeUtils::AllDescendantsOfType<IInterferenceFunction>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<IInterferenceFunction>(multilayer)) m_label->insertInterferenceFunction(x); - for (auto x : INodeUtils::AllDescendantsOfType<Particle>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<Particle>(multilayer)) m_label->insertParticle(x); - for (auto x : INodeUtils::AllDescendantsOfType<ParticleCoreShell>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleCoreShell>(multilayer)) m_label->insertParticleCoreShell(x); - for (auto x : INodeUtils::AllDescendantsOfType<ParticleComposition>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleComposition>(multilayer)) m_label->insertParticleComposition(x); - for (auto x : INodeUtils::AllDescendantsOfType<ParticleDistribution>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleDistribution>(multilayer)) m_label->insertParticleDistribution(x); - for (auto x : INodeUtils::AllDescendantsOfType<Lattice2D>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<Lattice2D>(multilayer)) m_label->insertLattice2D(x); - for (auto x : INodeUtils::AllDescendantsOfType<Lattice3D>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<Lattice3D>(multilayer)) m_label->insertLattice3D(x); - for (auto x : INodeUtils::AllDescendantsOfType<Crystal>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<Crystal>(multilayer)) m_label->insertCrystal(x); - for (auto x : INodeUtils::AllDescendantsOfType<MesoCrystal>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<MesoCrystal>(multilayer)) m_label->insertMesoCrystal(x); - for (auto x : INodeUtils::AllDescendantsOfType<IRotation>(multilayer)) + for (const auto* x : INodeUtils::AllDescendantsOfType<IRotation>(multilayer)) m_label->insertRotation(x); } @@ -87,10 +87,9 @@ std::string SampleToPython::defineGetSample() const return "def " + pyfmt::getSampleFunctionName() + "():\n" + defineMaterials() + defineLayers() + defineFormFactors() + defineParticles() + defineCoreShellParticles() + defineParticleCompositions() + defineLattices2D() + defineLattices3D() - + defineCrystals() - + defineMesoCrystals() + defineParticleDistributions() + defineInterferenceFunctions() - + defineParticleLayouts() + defineRoughnesses() + addLayoutsToLayers() - + defineMultiLayers() + "\n\n"; + + defineCrystals() + defineMesoCrystals() + defineParticleDistributions() + + defineInterferenceFunctions() + defineParticleLayouts() + defineRoughnesses() + + addLayoutsToLayers() + defineMultiLayers() + "\n\n"; } const std::map<MATERIAL_TYPES, std::string> factory_names{ @@ -137,7 +136,7 @@ std::string SampleToPython::defineMaterials() const std::string SampleToPython::defineLayers() const { - const auto themap = m_label->layerMap(); + const auto* themap = m_label->layerMap(); if (themap->empty()) return "# No Layers.\n\n"; std::ostringstream result; @@ -159,7 +158,7 @@ std::string SampleToPython::defineLayers() const std::string SampleToPython::defineFormFactors() const { - const auto themap = m_label->formFactorMap(); + const auto* themap = m_label->formFactorMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -175,7 +174,7 @@ std::string SampleToPython::defineFormFactors() const std::string SampleToPython::defineParticles() const { - const auto themap = m_label->particleMap(); + const auto* themap = m_label->particleMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -184,7 +183,7 @@ std::string SampleToPython::defineParticles() const for (auto it = themap->begin(); it != themap->end(); ++it) { const Particle* particle = it->first; std::string particle_name = it->second; - auto ff = INodeUtils::OnlyChildOfType<IFormFactor>(*particle); + const auto* ff = INodeUtils::OnlyChildOfType<IFormFactor>(*particle); if (!ff) continue; result << indent() << particle_name << " = ba.Particle(" @@ -198,7 +197,7 @@ std::string SampleToPython::defineParticles() const std::string SampleToPython::defineCoreShellParticles() const { - const auto themap = m_label->particleCoreShellMap(); + const auto* themap = m_label->particleCoreShellMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -219,7 +218,7 @@ std::string SampleToPython::defineCoreShellParticles() const std::string SampleToPython::defineParticleDistributions() const { - const auto themap = m_label->particleDistributionsMap(); + const auto* themap = m_label->particleDistributionsMap(); if (themap->empty()) return ""; @@ -267,7 +266,7 @@ std::string SampleToPython::defineParticleDistributions() const std::string SampleToPython::defineParticleCompositions() const { - const auto themap = m_label->particleCompositionMap(); + const auto* themap = m_label->particleCompositionMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -277,8 +276,8 @@ std::string SampleToPython::defineParticleCompositions() const const ParticleComposition* particle_composition = it->first; std::string particle_composition_name = it->second; result << indent() << particle_composition_name << " = ba.ParticleComposition()\n"; - auto particle_list = INodeUtils::ChildNodesOfType<IParticle>(*particle_composition); - for (auto particle : particle_list) { + const auto particle_list = INodeUtils::ChildNodesOfType<IParticle>(*particle_composition); + for (const auto* particle : particle_list) { result << indent() << particle_composition_name << ".addParticle(" << m_label->labelParticle(particle) << ")\n"; } @@ -290,7 +289,7 @@ std::string SampleToPython::defineParticleCompositions() const std::string SampleToPython::defineLattices2D() const { - const auto themap = m_label->lattice2DMap(); + const auto* themap = m_label->lattice2DMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -299,19 +298,18 @@ std::string SampleToPython::defineLattices2D() const for (auto it = themap->begin(); it != themap->end(); ++it) { const Lattice2D* lattice = it->first; std::string lattice_name = it->second; - result << indent() << lattice_name << " = ba.BasicLattice(\n"; - result << indent() << indent() - << pyfmt::printNm(lattice->length1()) << ", " + result << indent() << lattice_name << " = ba.BasicLattice2D(\n"; + result << indent() << indent() << pyfmt::printNm(lattice->length1()) << ", " << pyfmt::printNm(lattice->length2()) << ", " << pyfmt::printDegrees(lattice->latticeAngle()) << ", " - << pyfmt::printDegrees(lattice->rotationAngle()) << "),\n"; + << pyfmt::printDegrees(lattice->rotationAngle()) << ")\n"; } return result.str(); } std::string SampleToPython::defineLattices3D() const { - const auto themap = m_label->lattice3DMap(); + const auto* themap = m_label->lattice3DMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -336,7 +334,7 @@ std::string SampleToPython::defineLattices3D() const std::string SampleToPython::defineCrystals() const { - const auto themap = m_label->crystalMap(); + const auto* themap = m_label->crystalMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -345,8 +343,8 @@ std::string SampleToPython::defineCrystals() const for (auto it = themap->begin(); it != themap->end(); ++it) { const Crystal* crystal = it->first; std::string crystal_name = it->second; - auto lattice = INodeUtils::OnlyChildOfType<Lattice3D>(*crystal); - auto basis = INodeUtils::OnlyChildOfType<IParticle>(*crystal); + const auto* lattice = INodeUtils::OnlyChildOfType<Lattice3D>(*crystal); + const auto* basis = INodeUtils::OnlyChildOfType<IParticle>(*crystal); if (!lattice || !basis) continue; result << indent() << crystal_name << " = ba.Crystal("; @@ -358,7 +356,7 @@ std::string SampleToPython::defineCrystals() const std::string SampleToPython::defineMesoCrystals() const { - const auto themap = m_label->mesocrystalMap(); + const auto* themap = m_label->mesocrystalMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -382,7 +380,7 @@ std::string SampleToPython::defineMesoCrystals() const std::string SampleToPython::defineInterferenceFunctions() const { - const auto themap = m_label->interferenceFunctionMap(); + const auto* themap = m_label->interferenceFunctionMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -393,85 +391,83 @@ std::string SampleToPython::defineInterferenceFunctions() const if (dynamic_cast<const InterferenceFunctionNone*>(interference)) result << indent() << it->second << " = ba.InterferenceFunctionNone()\n"; - else if (auto lattice_1d = + + else if (const auto* iff = dynamic_cast<const InterferenceFunction1DLattice*>(interference)) { result << indent() << it->second << " = ba.InterferenceFunction1DLattice(" - << pyfmt::printNm(lattice_1d->getLength()) << ", " - << pyfmt::printDegrees(lattice_1d->getXi()) << ")\n"; + << pyfmt::printNm(iff->getLength()) << ", " << pyfmt::printDegrees(iff->getXi()) + << ")\n"; - auto pdf = INodeUtils::OnlyChildOfType<IFTDecayFunction1D>(*lattice_1d); + const auto* pdf = INodeUtils::OnlyChildOfType<IFTDecayFunction1D>(*iff); if (pdf->decayLength() != 0.0) result << indent() << it->second << "_pdf = ba." << pdf->getName() << "(" << pyfmt2::argumentList(pdf) << ")\n" << indent() << it->second << ".setDecayFunction(" << it->second << "_pdf)\n"; - } else if (auto para_radial = + + } else if (const auto* iff = dynamic_cast<const InterferenceFunctionRadialParaCrystal*>(interference)) { result << indent() << it->second << " = ba.InterferenceFunctionRadialParaCrystal(" - << pyfmt::printNm(para_radial->peakDistance()) << ", " - << pyfmt::printNm(para_radial->dampingLength()) << ")\n"; + << pyfmt::printNm(iff->peakDistance()) << ", " + << pyfmt::printNm(iff->dampingLength()) << ")\n"; - if (para_radial->kappa() != 0.0) - result << indent() << it->second << ".setKappa(" - << pyfmt::printDouble(para_radial->kappa()) << ")\n"; + if (iff->kappa() != 0.0) + result << indent() << it->second << ".setKappa(" << pyfmt::printDouble(iff->kappa()) + << ")\n"; - if (para_radial->domainSize() != 0.0) + if (iff->domainSize() != 0.0) result << indent() << it->second << ".setDomainSize(" - << pyfmt::printDouble(para_radial->domainSize()) << ")\n"; + << pyfmt::printDouble(iff->domainSize()) << ")\n"; - auto pdf = INodeUtils::OnlyChildOfType<IFTDistribution1D>(*para_radial); + const auto* pdf = INodeUtils::OnlyChildOfType<IFTDistribution1D>(*iff); if (pdf->omega() != 0.0) result << indent() << it->second << "_pdf = ba." << pdf->getName() << "(" << pyfmt2::argumentList(pdf) << ")\n" << indent() << it->second << ".setProbabilityDistribution(" << it->second << "_pdf)\n"; - } else if (auto lattice_2d = + + } else if (const auto* iff = dynamic_cast<const InterferenceFunction2DLattice*>(interference)) { - const Lattice2D& lattice = lattice_2d->lattice(); + const auto* lattice = INodeUtils::OnlyChildOfType<Lattice2D>(*iff); + result << indent() << it->second << " = ba.InterferenceFunction2DLattice(" - << pyfmt::printNm(lattice.length1()) << ", " << pyfmt::printNm(lattice.length2()) - << ", " << pyfmt::printDegrees(lattice.latticeAngle()) << ", " - << pyfmt::printDegrees(lattice.rotationAngle()) << ")\n"; + << m_label->labelLattice2D(lattice) << ")\n"; - auto pdf = INodeUtils::OnlyChildOfType<IFTDecayFunction2D>(*lattice_2d); + const auto* pdf = INodeUtils::OnlyChildOfType<IFTDecayFunction2D>(*iff); result << indent() << it->second << "_pdf = ba." << pdf->getName() << "(" << pyfmt2::argumentList(pdf) << ")\n" << indent() << it->second << ".setDecayFunction(" << it->second << "_pdf)\n"; - if (lattice_2d->integrationOverXi() == true) + if (iff->integrationOverXi() == true) result << indent() << it->second << ".setIntegrationOverXi(True)\n"; - } else if (auto lattice_2d = + + } else if (const auto* iff = dynamic_cast<const InterferenceFunctionFinite2DLattice*>(interference)) { - const Lattice2D& lattice = lattice_2d->lattice(); + const auto* lattice = INodeUtils::OnlyChildOfType<Lattice2D>(*iff); + result << indent() << it->second << " = ba.InterferenceFunctionFinite2DLattice(" - << pyfmt::printNm(lattice.length1()) << ", " << pyfmt::printNm(lattice.length2()) - << ", " << pyfmt::printDegrees(lattice.latticeAngle()) << ", " - << pyfmt::printDegrees(lattice.rotationAngle()) << ", " - << lattice_2d->numberUnitCells1() << ", " << lattice_2d->numberUnitCells2() - << ")\n"; + << m_label->labelLattice2D(lattice) << ", " << iff->numberUnitCells1() << ", " + << iff->numberUnitCells2() << ")\n"; - if (lattice_2d->integrationOverXi() == true) + if (iff->integrationOverXi() == true) result << indent() << it->second << ".setIntegrationOverXi(True)\n"; - } else if (auto para_2d = + + } else if (const auto* iff = dynamic_cast<const InterferenceFunction2DParaCrystal*>(interference)) { - std::vector<double> domainSize = para_2d->domainSizes(); - const Lattice2D& lattice = para_2d->lattice(); + const auto* lattice = INodeUtils::OnlyChildOfType<Lattice2D>(*iff); + std::vector<double> domainSize = iff->domainSizes(); + result << indent() << it->second << " = ba.InterferenceFunction2DParaCrystal(" - << pyfmt::printNm(lattice.length1()) << ", " << pyfmt::printNm(lattice.length2()) - << ", " << pyfmt::printDegrees(lattice.latticeAngle()) << ", " - << pyfmt::printDegrees(lattice.rotationAngle()) << ", " - << pyfmt::printNm(para_2d->dampingLength()) << ")\n"; - - if (domainSize[0] != 0.0 || domainSize[1] != 0.0) - result << indent() << it->second << ".setDomainSizes(" - << pyfmt::printNm(domainSize[0]) << ", " << pyfmt::printNm(domainSize[1]) - << ")\n"; - if (para_2d->integrationOverXi() == true) + << m_label->labelLattice2D(lattice) << ", " + << pyfmt::printNm(iff->dampingLength()) << ", " << pyfmt::printNm(domainSize[0]) + << ", " << pyfmt::printNm(domainSize[1]) << ")\n"; + + if (iff->integrationOverXi() == true) result << indent() << it->second << ".setIntegrationOverXi(True)\n"; - auto pdf_vector = INodeUtils::ChildNodesOfType<IFTDistribution2D>(*para_2d); + const auto pdf_vector = INodeUtils::ChildNodesOfType<IFTDistribution2D>(*iff); if (pdf_vector.size() != 2) continue; const IFTDistribution2D* pdf = pdf_vector[0]; @@ -485,16 +481,19 @@ std::string SampleToPython::defineInterferenceFunctions() const << pyfmt2::argumentList(pdf) << ")\n"; result << indent() << it->second << ".setProbabilityDistributions(" << it->second << "_pdf_1, " << it->second << "_pdf_2)\n"; - } else if (auto lattice_hd = + + } else if (const auto* lattice_hd = dynamic_cast<const InterferenceFunctionHardDisk*>(interference)) { result << indent() << it->second << " = ba.InterferenceFunctionHardDisk(" << pyfmt::printNm(lattice_hd->radius()) << ", " << pyfmt::printDouble(lattice_hd->density()) << ")\n"; + } else throw Exceptions::NotImplementedException( "Bug: ExportToPython::defineInterferenceFunctions() called with unexpected " "IInterferenceFunction " + interference->getName()); + if (interference->positionVariance() > 0.0) { result << indent() << it->second << ".setPositionVariance(" << pyfmt::printNm2(interference->positionVariance()) << ")\n"; @@ -505,7 +504,7 @@ std::string SampleToPython::defineInterferenceFunctions() const std::string SampleToPython::defineParticleLayouts() const { - const auto themap = m_label->particleLayoutMap(); + const auto* themap = m_label->particleLayoutMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -515,15 +514,16 @@ std::string SampleToPython::defineParticleLayouts() const const ParticleLayout* iLayout = it->first; if (const ParticleLayout* particleLayout = dynamic_cast<const ParticleLayout*>(iLayout)) { result << indent() << it->second << " = ba.ParticleLayout()\n"; - auto particles = INodeUtils::ChildNodesOfType<IAbstractParticle>(*particleLayout); + const auto particles = INodeUtils::ChildNodesOfType<IAbstractParticle>(*particleLayout); - for (auto particle : particles) { + for (const auto* particle : particles) { double abundance = particle->abundance(); result << indent() << it->second << ".addParticle(" - << m_label->labelParticle(particle) << ", " - << pyfmt::printDouble(abundance) << ")\n"; + << m_label->labelParticle(particle) << ", " << pyfmt::printDouble(abundance) + << ")\n"; } - if (auto iff = INodeUtils::OnlyChildOfType<IInterferenceFunction>(*particleLayout)) + if (const auto* iff = + INodeUtils::OnlyChildOfType<IInterferenceFunction>(*particleLayout)) result << indent() << it->second << ".setInterferenceFunction(" << m_label->labelInterferenceFunction(iff) << ")\n"; result << indent() << it->second << ".setWeight(" << particleLayout->weight() << ")\n"; @@ -536,7 +536,7 @@ std::string SampleToPython::defineParticleLayouts() const std::string SampleToPython::defineRoughnesses() const { - const auto themap = m_label->layerRoughnessMap(); + const auto* themap = m_label->layerRoughnessMap(); if (themap->empty()) return ""; std::ostringstream result; @@ -558,7 +558,7 @@ std::string SampleToPython::addLayoutsToLayers() const const auto layermap = m_label->layerMap(); for (auto it = layermap->begin(); it != layermap->end(); ++it) { const Layer* layer = it->first; - for (auto layout : layer->layouts()) + for (const auto* layout : layer->layouts()) result << "\n" << indent() << it->second << ".addLayout(" << m_label->labelLayout(layout) << ")\n"; @@ -568,7 +568,7 @@ std::string SampleToPython::addLayoutsToLayers() const std::string SampleToPython::defineMultiLayers() const { - const auto themap = m_label->multiLayerMap(); + const auto* themap = m_label->multiLayerMap(); if (themap->empty()) return "# No MultiLayers.\n\n"; std::ostringstream result; diff --git a/Examples/Demos/simul_demo_lattice1.py b/Examples/Demos/simul_demo_lattice1.py index e83b8afef7e69777be7d09d0ac3e525b00bdb750..2fc3a58d21ab56a8cd94674105bb837d010806f5 100644 --- a/Examples/Demos/simul_demo_lattice1.py +++ b/Examples/Demos/simul_demo_lattice1.py @@ -27,7 +27,7 @@ def RunSimulation(): particle_layout.addParticle(cylinder, 1.0) # interference function - interference = InterferenceFunction2DLattice(ba.SquareLattice(10.0*nanometer)) + interference = InterferenceFunction2DLattice(ba.SquareLattice2D(10.0*nanometer)) pdf = FTDecayFunction2DCauchy(300.0*nanometer/2.0/M_PI, 100.0*nanometer/2.0/M_PI, 0) interference.setDecayFunction(pdf) particle_layout.setInterferenceFunction(interference) diff --git a/Examples/Demos/simul_demo_lattice2.py b/Examples/Demos/simul_demo_lattice2.py index 2e99c5e192c867b9a3c769272db7c7053f90b2ae..b7dc1f7d1042aec7e1e27884135475123ff3ecde 100644 --- a/Examples/Demos/simul_demo_lattice2.py +++ b/Examples/Demos/simul_demo_lattice2.py @@ -32,7 +32,7 @@ def RunSimulation(): particle_layout2.addParticle(cylinder, 1.0) # interference function - interference = InterferenceFunction2DLattice(ba.SquareLattice(10.0*nanometer)) + interference = InterferenceFunction2DLattice(ba.SquareLattice2D(10.0*nanometer)) pdf = FTDecayFunction2DCauchy(300.0*nanometer/2.0/M_PI, 100.0*nanometer/2.0/M_PI, 0) interference.setDecayFunction(pdf) particle_layout1.setInterferenceFunction(interference) diff --git a/Examples/python/fitting/ex03_ExtendedExamples/custom_objective_function/custom_objective_function.py b/Examples/python/fitting/ex03_ExtendedExamples/custom_objective_function/custom_objective_function.py index 26c5727efef3fead00d813052204d4cdd8b88b1d..a72521bdb979627c0b206a9c81270a7e43a19b32 100644 --- a/Examples/python/fitting/ex03_ExtendedExamples/custom_objective_function/custom_objective_function.py +++ b/Examples/python/fitting/ex03_ExtendedExamples/custom_objective_function/custom_objective_function.py @@ -52,7 +52,7 @@ def get_sample(params): particle_layout.addParticle(sphere) interference = ba.InterferenceFunction2DLattice( - ba.HexagonalLattice(lattice_length)) + ba.HexagonalLattice2D(lattice_length)) pdf = ba.FTDecayFunction2DCauchy(10*nm, 10*nm, 0) interference.setDecayFunction(pdf) diff --git a/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_basics.py b/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_basics.py index 2f8f4618085a191a825f8ea6546b9e8eb4755244..f0a22f72c68fe5f16ec536a4f92a4e1463514c0d 100644 --- a/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_basics.py +++ b/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_basics.py @@ -26,7 +26,7 @@ def get_sample(params): particle_layout.addParticle(sphere) interference = ba.InterferenceFunction2DLattice( - ba.HexagonalLattice(lattice_length)) + ba.HexagonalLattice2D(lattice_length)) pdf = ba.FTDecayFunction2DCauchy(10*nm, 10*nm, 0) interference.setDecayFunction(pdf) diff --git a/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_with_plotting.py b/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_with_plotting.py index c05ac002ba332a89782b778b231535054c375844..b08c02e7d5a65a70b76372507a7c3e113b9aec40 100644 --- a/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_with_plotting.py +++ b/Examples/python/fitting/ex03_ExtendedExamples/external_minimizer/lmfit_with_plotting.py @@ -27,7 +27,7 @@ def get_sample(params): particle_layout.addParticle(sphere) interference = ba.InterferenceFunction2DLattice( - ba.HexagonalLattice(lattice_length)) + ba.HexagonalLattice2D(lattice_length)) pdf = ba.FTDecayFunction2DCauchy(10*nm, 10*nm, 0) interference.setDecayFunction(pdf) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/CosineRipplesAtRectLattice.py b/Examples/python/simulation/ex03_InterferenceFunctions/CosineRipplesAtRectLattice.py index 763fc30f52c8c7b67bb0d02184b7117b1c6f4a2b..5f482c78cae4be965e75378431bf526de6e6ff48 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/CosineRipplesAtRectLattice.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/CosineRipplesAtRectLattice.py @@ -24,7 +24,7 @@ def get_sample(): particle_layout.addParticle(particle, 1.0) interference = ba.InterferenceFunction2DLattice( - 200.0*nm, 50.0*nm, 90.0*deg, 0.0*deg) + ba.BasicLattice2D(200.0*nm, 50.0*nm, 90.0*deg, 0.0*deg)) pdf = ba.FTDecayFunction2DCauchy(1000.*nm/2./numpy.pi, 100.*nm/2./numpy.pi, 0) interference.setDecayFunction(pdf) particle_layout.setInterferenceFunction(interference) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DCenteredSquareLattice.py b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DCenteredSquareLattice.py index ea4363117a2f6e6ea119785898b44c18c9f15482..7f8399e20aa156732952600b7146855d474568cc 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DCenteredSquareLattice.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DCenteredSquareLattice.py @@ -17,7 +17,7 @@ def get_sample(): m_particle = ba.HomogeneousMaterial("Particle", 6e-4, 2e-8) # collection of particles - interference = ba.InterferenceFunction2DLattice(ba.SquareLattice(25.0*nm, 0)) + interference = ba.InterferenceFunction2DLattice(ba.SquareLattice2D(25.0*nm, 0)) pdf = ba.FTDecayFunction2DCauchy(300.0*nm/2.0/numpy.pi, 100.0*nm/2.0/numpy.pi, 0) interference.setDecayFunction(pdf) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DLatticeSumOfRotated.py b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DLatticeSumOfRotated.py index 125a213decaa034781ef6d72ddd3fd9d99eba2dd..6e5f5ba565290c68a090b09cdd06775872bcea65 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DLatticeSumOfRotated.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DLatticeSumOfRotated.py @@ -17,7 +17,7 @@ def get_sample(): substrate_layer = ba.Layer(m_substrate) p_interference_function = \ - ba.InterferenceFunction2DLattice(ba.SquareLattice(25.0*nm, 0)) + ba.InterferenceFunction2DLattice(ba.SquareLattice2D(25.0*nm, 0)) pdf = ba.FTDecayFunction2DCauchy(300.0*nm/2.0/numpy.pi, 100.0*nm/2.0/numpy.pi, 0) p_interference_function.setDecayFunction(pdf) @@ -55,7 +55,7 @@ def get_simulation(): xi_distr = ba.DistributionGate(xi_min, xi_max) # assigns distribution with 3 equidistant points to lattice rotation angle - simulation.addParameterDistribution("*/SquareLattice/Xi", xi_distr, 3) + simulation.addParameterDistribution("*/SquareLattice2D/Xi", xi_distr, 3) return simulation diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DParaCrystal.py b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DParaCrystal.py index af0500ab3f5e4df91699ee618719297af832d5e7..ffee0d01b04cad63b9dc0fc892922634b0cf76fd 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DParaCrystal.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DParaCrystal.py @@ -18,7 +18,7 @@ def get_sample(): cylinder = ba.Particle(m_particle, cylinder_ff) interference = ba.InterferenceFunction2DParaCrystal( - ba.SquareLattice(10.0*nm), 0.0, 20.0*micrometer, 20.0*micrometer) + ba.SquareLattice2D(10.0*nm), 0.0, 20.0*micrometer, 20.0*micrometer) interference.setIntegrationOverXi(True) pdf = ba.FTDistribution2DCauchy(1.0*nm, 1.0*nm, 0) interference.setProbabilityDistributions(pdf, pdf) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DRotatedSquareLattice.py b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DRotatedSquareLattice.py index 99993c2f2978a2c576526da58dc4098d0c0245e6..e0f43a4beef0e44049a922d3c17d3cfe8e670946 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DRotatedSquareLattice.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DRotatedSquareLattice.py @@ -17,7 +17,7 @@ def get_sample(): # collection of particles interference = ba.InterferenceFunction2DLattice( - ba.SquareLattice(25.0*nm, 30.0*deg)) + ba.SquareLattice2D(25.0*nm, 30.0*deg)) pdf = ba.FTDecayFunction2DCauchy(300.0*nm/2.0/numpy.pi, 100.0*nm/2.0/numpy.pi, 0) pdf.setParameterValue("Gamma", 30.0*deg) interference.setDecayFunction(pdf) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareFiniteLattice.py b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareFiniteLattice.py index 0319d13ca30d07f23ceb311c37baf3f28e6755da..5e882bbf4d5c95f0b46dc8aef08afd32f7d42d44 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareFiniteLattice.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareFiniteLattice.py @@ -17,7 +17,7 @@ def get_sample(): # collection of particles interference = ba.InterferenceFunctionFinite2DLattice( - ba.SquareLattice(25.0*nm, 0.0), 40, 40) + ba.SquareLattice2D(25.0*nm, 0.0), 40, 40) interference.setPositionVariance(1.0) cylinder_ff = ba.FormFactorCylinder(3.*nm, 3.*nm) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareLattice.py b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareLattice.py index b44049343179d999936e7dadd45de028a15004bf..beee085dcfa8c42f2831c5a775ea28acfddc7217 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareLattice.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/Interference2DSquareLattice.py @@ -16,7 +16,8 @@ def get_sample(): m_particle = ba.HomogeneousMaterial("Particle", 6e-4, 2e-8) # collection of particles - interference = ba.InterferenceFunction2DLattice(ba.SquareLattice(25.0*nm, 0*deg)) + interference = ba.InterferenceFunction2DLattice( + ba.SquareLattice2D(25.0*nm, 0*deg)) pdf = ba.FTDecayFunction2DCauchy(300.0*nm/2.0/numpy.pi, 100.0*nm/2.0/numpy.pi, 0) interference.setDecayFunction(pdf) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/SpheresAtHexLattice.py b/Examples/python/simulation/ex03_InterferenceFunctions/SpheresAtHexLattice.py index 5813247a2a430c59651a7b5e953703c97893c598..3aad9209640967aeeb40f84694b28260bf2c3768 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/SpheresAtHexLattice.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/SpheresAtHexLattice.py @@ -20,7 +20,7 @@ def get_sample(): particle_layout.addParticle(sphere) interference = ba.InterferenceFunction2DLattice( - ba.HexagonalLattice(20.0*nm, 0*deg)) + ba.HexagonalLattice2D(20.0*nm, 0*deg)) pdf = ba.FTDecayFunction2DCauchy(10*nm, 10*nm, 0) interference.setDecayFunction(pdf) diff --git a/Examples/python/simulation/ex03_InterferenceFunctions/TriangularRipple.py b/Examples/python/simulation/ex03_InterferenceFunctions/TriangularRipple.py index ea813a7fc43e78f82042c60ba73a37c3ba986cfa..f70859eaa1c1656f5a866a7b63880b91f561c7bd 100644 --- a/Examples/python/simulation/ex03_InterferenceFunctions/TriangularRipple.py +++ b/Examples/python/simulation/ex03_InterferenceFunctions/TriangularRipple.py @@ -25,7 +25,7 @@ def get_sample(): particle_layout.addParticle(ripple, 1.0) interference = ba.InterferenceFunction2DLattice( - 200.0*nm, 50.0*nm, 90.0*deg, 0.0*deg) + ba.BasicLattice2D(200.0*nm, 50.0*nm, 90.0*deg, 0.0*deg)) pdf = ba.FTDecayFunction2DGauss(1000.*nm/2./numpy.pi, 100.*nm/2./numpy.pi, 0) interference.setDecayFunction(pdf) particle_layout.setInterferenceFunction(interference) diff --git a/Examples/python/simulation/ex04_ComplexShapes/HexagonalLatticesWithBasis.py b/Examples/python/simulation/ex04_ComplexShapes/HexagonalLatticesWithBasis.py index e798c1b411fa0243ceee8c3a7d84281eead55670..1c2298a929dd8fa9d12de19d36ab40a9ce9e88f0 100644 --- a/Examples/python/simulation/ex04_ComplexShapes/HexagonalLatticesWithBasis.py +++ b/Examples/python/simulation/ex04_ComplexShapes/HexagonalLatticesWithBasis.py @@ -27,7 +27,7 @@ def get_sample(): particle_layout.addParticle(basis) interference = ba.InterferenceFunction2DLattice( - ba.HexagonalLattice(radius*2.0, 0*deg)) + ba.HexagonalLattice2D(radius*2.0, 0*deg)) pdf = ba.FTDecayFunction2DCauchy(10*nm, 10*nm, 0) interference.setDecayFunction(pdf) diff --git a/Examples/python/simulation/ex06_Reflectometry/MaterialProfileWithParticles.py b/Examples/python/simulation/ex06_Reflectometry/MaterialProfileWithParticles.py index 2fd471de8348f318110d6e6784a0220f57820a9d..da91b839e052eafadc50cb5ababd3835643b6438 100644 --- a/Examples/python/simulation/ex06_Reflectometry/MaterialProfileWithParticles.py +++ b/Examples/python/simulation/ex06_Reflectometry/MaterialProfileWithParticles.py @@ -35,7 +35,7 @@ def get_sample(): particle = ba.Particle(m_particle, ff) layout = ba.ParticleLayout() layout.addParticle(particle) - iff = ba.InterferenceFunction2DLattice(ba.SquareLattice(10 * nm, 0)) + iff = ba.InterferenceFunction2DLattice(ba.SquareLattice2D(10 * nm, 0)) layout.setInterferenceFunction(iff) ambient_layer.addLayout(layout) ambient_layer.setNumberOfSlices(20) diff --git a/Examples/python/simulation/ex07_Miscellaneous/BoxesWithSpecularPeak.py b/Examples/python/simulation/ex07_Miscellaneous/BoxesWithSpecularPeak.py index aa060d9272ed258b121c3a730a86a5444bfa1a67..c401213ac521c676c2660c1de80d17726a549c72 100644 --- a/Examples/python/simulation/ex07_Miscellaneous/BoxesWithSpecularPeak.py +++ b/Examples/python/simulation/ex07_Miscellaneous/BoxesWithSpecularPeak.py @@ -21,7 +21,7 @@ def get_sample(): particle_layout.addParticle(box) # interference function - interference = ba.InterferenceFunction2DLattice(ba.SquareLattice(8*nm, 0*deg)) + interference = ba.InterferenceFunction2DLattice(ba.SquareLattice2D(8*nm, 0*deg)) pdf = ba.FTDecayFunction2DCauchy(100*nm, 100*nm, 0) interference.setDecayFunction(pdf) particle_layout.setInterferenceFunction(interference) diff --git a/Examples/python/simulation/ex07_Miscellaneous/CylindersInAverageLayer.py b/Examples/python/simulation/ex07_Miscellaneous/CylindersInAverageLayer.py index 96af9bfa2090d173f6058ab64ba8416234e6fc9d..90619a26b8bf62080197f1c51ac52c2a62aa90fb 100644 --- a/Examples/python/simulation/ex07_Miscellaneous/CylindersInAverageLayer.py +++ b/Examples/python/simulation/ex07_Miscellaneous/CylindersInAverageLayer.py @@ -23,7 +23,7 @@ def get_sample(cyl_height=5*nm): particle_layout.addParticle(cylinder, 1.0, position) # interference function - interference = ba.InterferenceFunction2DLattice(ba.SquareLattice(15*nm, 0*deg)) + interference = ba.InterferenceFunction2DLattice(ba.SquareLattice2D(15*nm, 0*deg)) pdf = ba.FTDecayFunction2DCauchy(300*nm, 300*nm, 0) interference.setDecayFunction(pdf) particle_layout.setInterferenceFunction(interference) diff --git a/Examples/python/simulation/ex07_Miscellaneous/HalfSpheresInAverageTopLayer.py b/Examples/python/simulation/ex07_Miscellaneous/HalfSpheresInAverageTopLayer.py index 2ecf336360fd1dcef066a0d666dd9c4a2d04afd2..a024491a7d5e3688e54195e4881e45d53b9966d9 100644 --- a/Examples/python/simulation/ex07_Miscellaneous/HalfSpheresInAverageTopLayer.py +++ b/Examples/python/simulation/ex07_Miscellaneous/HalfSpheresInAverageTopLayer.py @@ -26,7 +26,7 @@ def get_sample(): particle_layout.addParticle(half_sphere) # interference function - interference = ba.InterferenceFunction2DLattice(ba.SquareLattice(10*nm, 0*deg)) + interference = ba.InterferenceFunction2DLattice(ba.SquareLattice2D(10*nm, 0*deg)) pdf = ba.FTDecayFunction2DCauchy(100*nm, 100*nm, 0) interference.setDecayFunction(pdf) particle_layout.setInterferenceFunction(interference) diff --git a/GUI/coregui/Models/GUIExamplesFactory.cpp b/GUI/coregui/Models/GUIExamplesFactory.cpp index 92db0d0c40f5a5b5b31cd346d48abcdb04536fb6..07ecdf9cefb803f56c2530f5f13fecec24b47abb 100644 --- a/GUI/coregui/Models/GUIExamplesFactory.cpp +++ b/GUI/coregui/Models/GUIExamplesFactory.cpp @@ -27,7 +27,7 @@ QMap<QString, QString> init_NameToRegistry() result["example03"] = "HexParaCrystalBuilder"; result["example04"] = "CoreShellParticleBuilder"; result["example05"] = "MultiLayerWithRoughnessBuilder"; - result["example06"] = "SquareLatticeBuilder"; + result["example06"] = "SquareLattice2DBuilder"; result["example07"] = "RotatedPyramidsBuilder"; result["example08"] = "CylindersWithSizeDistributionBuilder"; result["example09"] = "ParticleCompositionBuilder"; diff --git a/GUI/coregui/Models/GroupInfoCatalog.cpp b/GUI/coregui/Models/GroupInfoCatalog.cpp index 13dc64d704e7c8725bea21af0d49896e7be73792..f4ea64b92fcf731ac3d99288f20fe6f91443988b 100644 --- a/GUI/coregui/Models/GroupInfoCatalog.cpp +++ b/GUI/coregui/Models/GroupInfoCatalog.cpp @@ -133,10 +133,10 @@ GroupInfoCatalog::GroupInfoCatalog() addInfo(info); info = GroupInfo("Lattice group"); - info.add("BasicLattice", "Basic"); - info.add("SquareLattice", "Square"); - info.add("HexagonalLattice", "Hexagonal"); - info.setDefaultType("HexagonalLattice"); + info.add("BasicLattice2D", "Basic"); + info.add("SquareLattice2D", "Square"); + info.add("HexagonalLattice2D", "Hexagonal"); + info.setDefaultType("HexagonalLattice2D"); addInfo(info); info = GroupInfo("Resolution function group"); diff --git a/GUI/coregui/Models/ItemCatalog.cpp b/GUI/coregui/Models/ItemCatalog.cpp index de57baa658d72dcc2fd9e82b16c8e32cd09a7c8f..b623fb5f9a6481deefac9ca1762161a02aed351c 100644 --- a/GUI/coregui/Models/ItemCatalog.cpp +++ b/GUI/coregui/Models/ItemCatalog.cpp @@ -163,9 +163,9 @@ ItemCatalog::ItemCatalog() add("FTDecayFunction2DGauss", create_new<FTDecayFunction2DGaussItem>); add("FTDecayFunction2DVoigt", create_new<FTDecayFunction2DVoigtItem>); - add("BasicLattice", create_new<BasicLatticeItem>); - add("SquareLattice", create_new<SquareLatticeItem>); - add("HexagonalLattice", create_new<HexagonalLatticeItem>); + add("BasicLattice2D", create_new<BasicLattice2DItem>); + add("SquareLattice2D", create_new<SquareLattice2DItem>); + add("HexagonalLattice2D", create_new<HexagonalLattice2DItem>); add("Material", create_new<MaterialItem>); add("MaterialContainer", create_new<MaterialItemContainer>); diff --git a/GUI/coregui/Models/Lattice2DItems.cpp b/GUI/coregui/Models/Lattice2DItems.cpp index 78df94beb19cc5ada78761600eee57391cbf5db1..ab4329f399f720de6c58b05dfc7adfb057f4cdb1 100644 --- a/GUI/coregui/Models/Lattice2DItems.cpp +++ b/GUI/coregui/Models/Lattice2DItems.cpp @@ -32,11 +32,11 @@ double Lattice2DItem::unitCellArea() const return createLattice()->unitCellArea(); } -const QString BasicLatticeItem::P_LATTICE_LENGTH1 = QString::fromStdString("LatticeLength1"); -const QString BasicLatticeItem::P_LATTICE_LENGTH2 = QString::fromStdString("LatticeLength2"); -const QString BasicLatticeItem::P_LATTICE_ANGLE = QString::fromStdString("Alpha"); +const QString BasicLattice2DItem::P_LATTICE_LENGTH1 = QString::fromStdString("LatticeLength1"); +const QString BasicLattice2DItem::P_LATTICE_LENGTH2 = QString::fromStdString("LatticeLength2"); +const QString BasicLattice2DItem::P_LATTICE_ANGLE = QString::fromStdString("Alpha"); -BasicLatticeItem::BasicLatticeItem() : Lattice2DItem("BasicLattice") +BasicLattice2DItem::BasicLattice2DItem() : Lattice2DItem("BasicLattice2D") { setToolTip("Two dimensional lattice"); addProperty(P_LATTICE_LENGTH1, 20.0) @@ -47,9 +47,9 @@ BasicLatticeItem::BasicLatticeItem() : Lattice2DItem("BasicLattice") addProperty(Lattice2DItem::P_LATTICE_ROTATION_ANGLE, 0.0)->setToolTip(axis_rotation_tooltip); } -std::unique_ptr<Lattice2D> BasicLatticeItem::createLattice() const +std::unique_ptr<Lattice2D> BasicLattice2DItem::createLattice() const { - return std::make_unique<BasicLattice>( + return std::make_unique<BasicLattice2D>( getItemValue(P_LATTICE_LENGTH1).toDouble(), getItemValue(P_LATTICE_LENGTH2).toDouble(), Units::deg2rad(getItemValue(P_LATTICE_ANGLE).toDouble()), Units::deg2rad(getItemValue(Lattice2DItem::P_LATTICE_ROTATION_ANGLE).toDouble())); @@ -57,36 +57,36 @@ std::unique_ptr<Lattice2D> BasicLatticeItem::createLattice() const // --------------------------------------------------------------------------------------------- // -const QString SquareLatticeItem::P_LATTICE_LENGTH = QString::fromStdString("LatticeLength"); +const QString SquareLattice2DItem::P_LATTICE_LENGTH = QString::fromStdString("LatticeLength"); -SquareLatticeItem::SquareLatticeItem() : Lattice2DItem("SquareLattice") +SquareLattice2DItem::SquareLattice2DItem() : Lattice2DItem("SquareLattice2D") { addProperty(P_LATTICE_LENGTH, 20.0) ->setToolTip("Length of first and second lattice vectors in nanometers"); addProperty(Lattice2DItem::P_LATTICE_ROTATION_ANGLE, 0.0)->setToolTip(axis_rotation_tooltip); } -std::unique_ptr<Lattice2D> SquareLatticeItem::createLattice() const +std::unique_ptr<Lattice2D> SquareLattice2DItem::createLattice() const { - return std::make_unique<SquareLattice>( + return std::make_unique<SquareLattice2D>( getItemValue(P_LATTICE_LENGTH).toDouble(), Units::deg2rad(getItemValue(Lattice2DItem::P_LATTICE_ROTATION_ANGLE).toDouble())); } // --------------------------------------------------------------------------------------------- // -const QString HexagonalLatticeItem::P_LATTICE_LENGTH = QString::fromStdString("LatticeLength"); +const QString HexagonalLattice2DItem::P_LATTICE_LENGTH = QString::fromStdString("LatticeLength"); -HexagonalLatticeItem::HexagonalLatticeItem() : Lattice2DItem("HexagonalLattice") +HexagonalLattice2DItem::HexagonalLattice2DItem() : Lattice2DItem("HexagonalLattice2D") { addProperty(P_LATTICE_LENGTH, 20.0) ->setToolTip("Length of first and second lattice vectors in nanometers"); addProperty(Lattice2DItem::P_LATTICE_ROTATION_ANGLE, 0.0)->setToolTip(axis_rotation_tooltip); } -std::unique_ptr<Lattice2D> HexagonalLatticeItem::createLattice() const +std::unique_ptr<Lattice2D> HexagonalLattice2DItem::createLattice() const { - return std::make_unique<HexagonalLattice>( + return std::make_unique<HexagonalLattice2D>( getItemValue(P_LATTICE_LENGTH).toDouble(), Units::deg2rad(getItemValue(Lattice2DItem::P_LATTICE_ROTATION_ANGLE).toDouble())); } diff --git a/GUI/coregui/Models/Lattice2DItems.h b/GUI/coregui/Models/Lattice2DItems.h index 2947ef9b3fbd8eca1946307256267aad03dd9c67..359d29d3c0c783af417f82b2b19f77befe8a1eb6 100644 --- a/GUI/coregui/Models/Lattice2DItems.h +++ b/GUI/coregui/Models/Lattice2DItems.h @@ -27,29 +27,29 @@ public: double unitCellArea() const; }; -class BA_CORE_API_ BasicLatticeItem : public Lattice2DItem +class BA_CORE_API_ BasicLattice2DItem : public Lattice2DItem { public: static const QString P_LATTICE_LENGTH1; static const QString P_LATTICE_LENGTH2; static const QString P_LATTICE_ANGLE; - BasicLatticeItem(); + BasicLattice2DItem(); std::unique_ptr<Lattice2D> createLattice() const; }; -class BA_CORE_API_ SquareLatticeItem : public Lattice2DItem +class BA_CORE_API_ SquareLattice2DItem : public Lattice2DItem { public: static const QString P_LATTICE_LENGTH; - SquareLatticeItem(); + SquareLattice2DItem(); std::unique_ptr<Lattice2D> createLattice() const; }; -class BA_CORE_API_ HexagonalLatticeItem : public Lattice2DItem +class BA_CORE_API_ HexagonalLattice2DItem : public Lattice2DItem { public: static const QString P_LATTICE_LENGTH; - HexagonalLatticeItem(); + HexagonalLattice2DItem(); std::unique_ptr<Lattice2D> createLattice() const; }; diff --git a/GUI/coregui/Models/TransformFromDomain.cpp b/GUI/coregui/Models/TransformFromDomain.cpp index d75c35f6c09b0bb0b522f7757d8787abbc663ec9..33fc8782ce0720ebe49604cee0b59e886d4bdf70 100644 --- a/GUI/coregui/Models/TransformFromDomain.cpp +++ b/GUI/coregui/Models/TransformFromDomain.cpp @@ -761,22 +761,22 @@ void SetDecayFunction2D(SessionItem* item, const IFTDecayFunction2D* pdf, QStrin void set2DLatticeParameters(SessionItem* item, const Lattice2D& lattice) { SessionItem* latticeItem(nullptr); - if (lattice.getName() == "SquareLattice") { + if (lattice.getName() == "SquareLattice2D") { latticeItem = item->setGroupProperty(InterferenceFunction2DLatticeItem::P_LATTICE_TYPE, - "SquareLattice"); - latticeItem->setItemValue(SquareLatticeItem::P_LATTICE_LENGTH, lattice.length1()); + "SquareLattice2D"); + latticeItem->setItemValue(SquareLattice2DItem::P_LATTICE_LENGTH, lattice.length1()); - } else if (lattice.getName() == "HexagonalLattice") { + } else if (lattice.getName() == "HexagonalLattice2D") { latticeItem = item->setGroupProperty(InterferenceFunction2DLatticeItem::P_LATTICE_TYPE, - "HexagonalLattice"); - latticeItem->setItemValue(HexagonalLatticeItem::P_LATTICE_LENGTH, lattice.length1()); + "HexagonalLattice2D"); + latticeItem->setItemValue(HexagonalLattice2DItem::P_LATTICE_LENGTH, lattice.length1()); } else { latticeItem = item->setGroupProperty(InterferenceFunction2DLatticeItem::P_LATTICE_TYPE, - "BasicLattice"); - latticeItem->setItemValue(BasicLatticeItem::P_LATTICE_LENGTH1, lattice.length1()); - latticeItem->setItemValue(BasicLatticeItem::P_LATTICE_LENGTH2, lattice.length2()); - latticeItem->setItemValue(BasicLatticeItem::P_LATTICE_ANGLE, + "BasicLattice2D"); + latticeItem->setItemValue(BasicLattice2DItem::P_LATTICE_LENGTH1, lattice.length1()); + latticeItem->setItemValue(BasicLattice2DItem::P_LATTICE_LENGTH2, lattice.length2()); + latticeItem->setItemValue(BasicLattice2DItem::P_LATTICE_ANGLE, Units::rad2deg(lattice.latticeAngle())); } latticeItem->setItemValue(Lattice2DItem::P_LATTICE_ROTATION_ANGLE, diff --git a/Param/Node/INodeVisitor.h b/Param/Node/INodeVisitor.h index e513d4cc5ec3724c4ce69a2d5f08d315b04726da..128401c0f990a9333f45aa43d4c6ba6f50356836 100644 --- a/Param/Node/INodeVisitor.h +++ b/Param/Node/INodeVisitor.h @@ -15,7 +15,7 @@ #ifndef BORNAGAIN_PARAM_NODE_INODEVISITOR_H #define BORNAGAIN_PARAM_NODE_INODEVISITOR_H -class BasicLattice; +class BasicLattice2D; class Beam; class ConstantBackground; class ConvolutionDetectorResolution; @@ -90,7 +90,7 @@ class FTDistribution2DGate; class FTDistribution2DGauss; class FTDistribution2DVoigt; class GISASSimulation; -class HexagonalLattice; +class HexagonalLattice2D; class IAbstractParticle; class IClusteredParticles; class IdentityRotation; @@ -137,7 +137,7 @@ class RotationZ; class SpecularDetector1D; class SpecularSimulation; class SphericalDetector; -class SquareLattice; +class SquareLattice2D; //! Visitor interface to visit ISample objects. //! @ingroup samples_internal @@ -150,7 +150,7 @@ public: INodeVisitor() : m_depth(0) {} virtual ~INodeVisitor() {} - virtual void visit(const BasicLattice*) {} + virtual void visit(const BasicLattice2D*) {} virtual void visit(const Beam*) {} virtual void visit(const ConstantBackground*) {} virtual void visit(const ConvolutionDetectorResolution*) {} @@ -225,7 +225,7 @@ public: virtual void visit(const FTDistribution2DGauss*) {} virtual void visit(const FTDistribution2DVoigt*) {} virtual void visit(const GISASSimulation*) {} - virtual void visit(const HexagonalLattice*) {} + virtual void visit(const HexagonalLattice2D*) {} virtual void visit(const IAbstractParticle*) {} virtual void visit(const IClusteredParticles*) {} virtual void visit(const IdentityRotation*) {} @@ -272,7 +272,7 @@ public: virtual void visit(const SpecularDetector1D*) {} virtual void visit(const SpecularSimulation*) {} virtual void visit(const SphericalDetector*) {} - virtual void visit(const SquareLattice*) {} + virtual void visit(const SquareLattice2D*) {} //! Returns depth of the visitor in the composite hierarchy int depth() const { return m_depth; } diff --git a/Sample/Aggregate/InterferenceFunction2DLattice.cpp b/Sample/Aggregate/InterferenceFunction2DLattice.cpp index afcb51ec7efd9ff71960ec18eddb107b81fea335..9c18beb8ac9c0c41e54b62a2f6420cc3de60bd17 100644 --- a/Sample/Aggregate/InterferenceFunction2DLattice.cpp +++ b/Sample/Aggregate/InterferenceFunction2DLattice.cpp @@ -35,17 +35,6 @@ InterferenceFunction2DLattice::InterferenceFunction2DLattice(const Lattice2D& la initialize_rec_vectors(); } -//! Constructor of two-dimensional interference function. -//! @param length_1: length of the first basis vector in nanometers -//! @param length_2: length of the second basis vector in nanometers -//! @param alpha: angle between the basis vectors in radians -//! @param xi: rotation of the lattice with respect to the x-axis (beam direction) in radians -InterferenceFunction2DLattice::InterferenceFunction2DLattice(double length_1, double length_2, - double alpha, double xi) - : InterferenceFunction2DLattice(BasicLattice(length_1, length_2, alpha, xi)) -{ -} - InterferenceFunction2DLattice::~InterferenceFunction2DLattice() = default; InterferenceFunction2DLattice* InterferenceFunction2DLattice::clone() const @@ -178,8 +167,8 @@ void InterferenceFunction2DLattice::initialize_rec_vectors() throw std::runtime_error("InterferenceFunction2DLattice::initialize_rec_vectors() -> " "Error. No lattice defined yet"); - BasicLattice base_lattice(m_lattice->length1(), m_lattice->length2(), m_lattice->latticeAngle(), - 0.); + BasicLattice2D base_lattice(m_lattice->length1(), m_lattice->length2(), + m_lattice->latticeAngle(), 0.); m_sbase = base_lattice.reciprocalBases(); } diff --git a/Sample/Aggregate/InterferenceFunction2DLattice.h b/Sample/Aggregate/InterferenceFunction2DLattice.h index de7c89eab928158bd4bf45efc83c78347dd4f3f4..47853415622ba8caf9df0e7edca3b6f4bd5a1dac 100644 --- a/Sample/Aggregate/InterferenceFunction2DLattice.h +++ b/Sample/Aggregate/InterferenceFunction2DLattice.h @@ -26,7 +26,6 @@ class InterferenceFunction2DLattice : public IInterferenceFunction { public: - InterferenceFunction2DLattice(double length_1, double length_2, double alpha, double xi); InterferenceFunction2DLattice(const Lattice2D& lattice); ~InterferenceFunction2DLattice() final; diff --git a/Sample/Aggregate/InterferenceFunction2DParaCrystal.cpp b/Sample/Aggregate/InterferenceFunction2DParaCrystal.cpp index 4f3e8b6148351100fbeeeb53aa7f350559018b31..35ef5fc4280c02bf992b5c05a1620f9e099ebb76 100644 --- a/Sample/Aggregate/InterferenceFunction2DParaCrystal.cpp +++ b/Sample/Aggregate/InterferenceFunction2DParaCrystal.cpp @@ -34,22 +34,6 @@ InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(const Latti registerParameter("DomainSize2", &m_domain_sizes[1]).setUnit("nm").setNonnegative(); } -//! Constructor of interference function of two-dimensional paracrystal. -//! @param length_1: length of first lattice vector in nanometers -//! @param length_2: length of second lattice vector in nanometers -//! @param alpha: angle between lattice vectors in radians -//! @param xi: rotation of lattice with respect to x-axis (beam direction) in radians -//! @param damping_length: the damping (coherence) length of the paracrystal in nanometers - -InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(double length_1, - double length_2, double alpha, - double xi, - double damping_length) - : InterferenceFunction2DParaCrystal(BasicLattice(length_1, length_2, alpha, xi), damping_length, - 0, 0) -{ -} - InterferenceFunction2DParaCrystal::~InterferenceFunction2DParaCrystal() = default; InterferenceFunction2DParaCrystal* InterferenceFunction2DParaCrystal::clone() const diff --git a/Sample/Aggregate/InterferenceFunction2DParaCrystal.h b/Sample/Aggregate/InterferenceFunction2DParaCrystal.h index 7f61d639436540ac0c006b3b7970387323d02c34..4fa228812769278992b3595c41ab82500cc15b2b 100644 --- a/Sample/Aggregate/InterferenceFunction2DParaCrystal.h +++ b/Sample/Aggregate/InterferenceFunction2DParaCrystal.h @@ -32,9 +32,6 @@ public: InterferenceFunction2DParaCrystal(const Lattice2D& lattice, double damping_length, double domain_size_1, double domain_size_2); - InterferenceFunction2DParaCrystal(double length_1, double length_2, double alpha, double xi, - double damping_length); - ~InterferenceFunction2DParaCrystal() final; InterferenceFunction2DParaCrystal* clone() const override final; diff --git a/Sample/Aggregate/InterferenceFunction2DSuperLattice.cpp b/Sample/Aggregate/InterferenceFunction2DSuperLattice.cpp index e58c11ba3c431b2dfae2f0177af333e28ab79d52..cc0041a76350fc39e1612a8dc41a19dd3da814cd 100644 --- a/Sample/Aggregate/InterferenceFunction2DSuperLattice.cpp +++ b/Sample/Aggregate/InterferenceFunction2DSuperLattice.cpp @@ -46,7 +46,7 @@ InterferenceFunction2DSuperLattice::InterferenceFunction2DSuperLattice(const Lat //! @param size_2: correlation length in direction 2 InterferenceFunction2DSuperLattice::InterferenceFunction2DSuperLattice( double length_1, double length_2, double alpha, double xi, unsigned size_1, unsigned size_2) - : InterferenceFunction2DSuperLattice(BasicLattice(length_1, length_2, alpha, xi), size_1, + : InterferenceFunction2DSuperLattice(BasicLattice2D(length_1, length_2, alpha, xi), size_1, size_2) { } diff --git a/Sample/Aggregate/InterferenceFunctionFinite2DLattice.cpp b/Sample/Aggregate/InterferenceFunctionFinite2DLattice.cpp index f53a35ef17af12e3549b6f187bf285e6d11ec889..342e1e2c8514b2794ac810bf11e1b1933f3ac734 100644 --- a/Sample/Aggregate/InterferenceFunctionFinite2DLattice.cpp +++ b/Sample/Aggregate/InterferenceFunctionFinite2DLattice.cpp @@ -36,21 +36,6 @@ InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(const L registerChild(m_lattice.get()); } -//! Constructor of two-dimensional finite lattice interference function. -//! @param length_1: length of first lattice vector in nanometers -//! @param length_2: length of second lattice vector in nanometers -//! @param alpha: angle between lattice vectors in radians -//! @param xi: rotation of lattice with respect to x-axis (beam direction) in radians -//! @param N_1: number of lattice cells in the first lattice direction -//! @param N_2: number of lattice cells in the second lattice direction -InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(double length_1, - double length_2, - double alpha, double xi, - unsigned N_1, unsigned N_2) - : InterferenceFunctionFinite2DLattice(BasicLattice(length_1, length_2, alpha, xi), N_1, N_2) -{ -} - InterferenceFunctionFinite2DLattice::~InterferenceFunctionFinite2DLattice() = default; InterferenceFunctionFinite2DLattice* InterferenceFunctionFinite2DLattice::clone() const diff --git a/Sample/Aggregate/InterferenceFunctionFinite2DLattice.h b/Sample/Aggregate/InterferenceFunctionFinite2DLattice.h index 6f90b1fac3e1b11e5b0ad3a930d6bb051cf3bf59..35c24acdbbc42b64a43ea6d53dfe767a560e0190 100644 --- a/Sample/Aggregate/InterferenceFunctionFinite2DLattice.h +++ b/Sample/Aggregate/InterferenceFunctionFinite2DLattice.h @@ -25,8 +25,6 @@ class InterferenceFunctionFinite2DLattice : public IInterferenceFunction { public: InterferenceFunctionFinite2DLattice(const Lattice2D& lattice, unsigned N_1, unsigned N_2); - InterferenceFunctionFinite2DLattice(double length_1, double length_2, double alpha, double xi, - unsigned N_1, unsigned N_2); ~InterferenceFunctionFinite2DLattice() final; InterferenceFunctionFinite2DLattice* clone() const override final; diff --git a/Sample/Aggregate/ParticleLayout.cpp b/Sample/Aggregate/ParticleLayout.cpp index 8881eddede6e3d28ba86d28d49027bbd57a69af5..b52f3edc5c0effdc2f4954018c50553e0c26551a 100644 --- a/Sample/Aggregate/ParticleLayout.cpp +++ b/Sample/Aggregate/ParticleLayout.cpp @@ -112,9 +112,8 @@ const IInterferenceFunction* ParticleLayout::interferenceFunction() const double ParticleLayout::getTotalAbundance() const { double result = 0.0; - for (auto p_particle : m_particles) { + for (auto p_particle : m_particles) result += p_particle->abundance(); - } return result; } diff --git a/Sample/Interference/DecouplingApproximationStrategy.cpp b/Sample/Interference/DecouplingApproximationStrategy.cpp index 7b6f493ad14590276e0c9ecb6ea708db0a7f0e56..43994a90e223db42006ffef343819d53ce23f790 100644 --- a/Sample/Interference/DecouplingApproximationStrategy.cpp +++ b/Sample/Interference/DecouplingApproximationStrategy.cpp @@ -18,13 +18,15 @@ #include "Base/Utils/MathFunctions.h" #include "Param/Base/RealParameter.h" #include "Sample/Aggregate/IInterferenceFunction.h" +#include "Sample/Aggregate/InterferenceFunctionNone.h" #include "Sample/Fresnel/FormFactorCoherentSum.h" -#include "Sample/Interference/FormFactorPrecompute.h" DecouplingApproximationStrategy::DecouplingApproximationStrategy( const std::vector<FormFactorCoherentSum>& weighted_formfactors, - const IInterferenceFunction* p_iff, SimulationOptions sim_params, bool polarized) - : IInterferenceFunctionStrategy(weighted_formfactors, p_iff, sim_params, polarized) + const IInterferenceFunction* iff, SimulationOptions sim_params, bool polarized) + : IInterferenceFunctionStrategy(weighted_formfactors, sim_params, polarized) + , m_iff(iff ? iff->clone() : new InterferenceFunctionNone()) + { } @@ -36,18 +38,17 @@ DecouplingApproximationStrategy::scalarCalculation(const SimulationElement& sim_ { double intensity = 0.0; complex_t amplitude = complex_t(0.0, 0.0); - auto precomputed_ff = FormFactorPrecompute::scalar(sim_element, m_formfactor_wrappers); - for (size_t i = 0; i < m_formfactor_wrappers.size(); ++i) { - complex_t ff = precomputed_ff[i]; + for (const auto& ffw : m_weighted_formfactors) { + const complex_t ff = ffw.evaluate(sim_element); if (std::isnan(ff.real())) throw Exceptions::RuntimeErrorException( "DecouplingApproximationStrategy::scalarCalculation() -> Error! Amplitude is NaN"); - double fraction = m_formfactor_wrappers[i].relativeAbundance(); + double fraction = ffw.relativeAbundance(); amplitude += fraction * ff; intensity += fraction * std::norm(ff); } - double amplitude_norm = std::norm(amplitude); - double coherence_factor = m_iff->evaluate(sim_element.getMeanQ()); + const double amplitude_norm = std::norm(amplitude); + const double coherence_factor = m_iff->evaluate(sim_element.meanQ()); return intensity + amplitude_norm * (coherence_factor - 1.0); } @@ -58,24 +59,24 @@ DecouplingApproximationStrategy::polarizedCalculation(const SimulationElement& s Eigen::Matrix2cd mean_intensity = Eigen::Matrix2cd::Zero(); Eigen::Matrix2cd mean_amplitude = Eigen::Matrix2cd::Zero(); - auto precomputed_ff = FormFactorPrecompute::polarized(sim_element, m_formfactor_wrappers); const auto& polarization_handler = sim_element.polarizationHandler(); - for (size_t i = 0; i < m_formfactor_wrappers.size(); ++i) { - Eigen::Matrix2cd ff = precomputed_ff[i]; + for (const auto& ffw : m_weighted_formfactors) { + const Eigen::Matrix2cd ff = ffw.evaluatePol(sim_element); if (!ff.allFinite()) throw Exceptions::RuntimeErrorException( "DecouplingApproximationStrategy::polarizedCalculation() -> " "Error! Form factor contains NaN or infinite"); - double fraction = m_formfactor_wrappers[i].relativeAbundance(); + const double fraction = ffw.relativeAbundance(); mean_amplitude += fraction * ff; mean_intensity += fraction * (ff * polarization_handler.getPolarization() * ff.adjoint()); } - Eigen::Matrix2cd amplitude_matrix = polarization_handler.getAnalyzerOperator() * mean_amplitude - * polarization_handler.getPolarization() - * mean_amplitude.adjoint(); - Eigen::Matrix2cd intensity_matrix = polarization_handler.getAnalyzerOperator() * mean_intensity; - double amplitude_trace = std::abs(amplitude_matrix.trace()); - double intensity_trace = std::abs(intensity_matrix.trace()); - double coherence_factor = m_iff->evaluate(sim_element.getMeanQ()); + const Eigen::Matrix2cd amplitude_matrix = + polarization_handler.getAnalyzerOperator() * mean_amplitude + * polarization_handler.getPolarization() * mean_amplitude.adjoint(); + const Eigen::Matrix2cd intensity_matrix = + polarization_handler.getAnalyzerOperator() * mean_intensity; + const double amplitude_trace = std::abs(amplitude_matrix.trace()); + const double intensity_trace = std::abs(intensity_matrix.trace()); + const double coherence_factor = m_iff->evaluate(sim_element.meanQ()); return intensity_trace + amplitude_trace * (coherence_factor - 1.0); } diff --git a/Sample/Interference/DecouplingApproximationStrategy.h b/Sample/Interference/DecouplingApproximationStrategy.h index bb2569e9fd5ca409eb0416ab881717781efa0ca4..12a76bfccba380870a642414f23506ffc84f912b 100644 --- a/Sample/Interference/DecouplingApproximationStrategy.h +++ b/Sample/Interference/DecouplingApproximationStrategy.h @@ -27,12 +27,14 @@ class DecouplingApproximationStrategy final : public IInterferenceFunctionStrate { public: DecouplingApproximationStrategy(const std::vector<FormFactorCoherentSum>& weighted_formfactors, - const IInterferenceFunction* p_iff, - SimulationOptions sim_params, bool polarized); + const IInterferenceFunction* iff, SimulationOptions sim_params, + bool polarized); private: double scalarCalculation(const SimulationElement& sim_element) const override; double polarizedCalculation(const SimulationElement& sim_element) const override; + + std::unique_ptr<IInterferenceFunction> m_iff; }; #endif // BORNAGAIN_SAMPLE_INTERFERENCE_DECOUPLINGAPPROXIMATIONSTRATEGY_H diff --git a/Sample/Interference/IInterferenceFunctionStrategy.cpp b/Sample/Interference/IInterferenceFunctionStrategy.cpp index 9c5c315dc7c5412602a9d39ebda7753afbd52ca1..734244fc585cd6350f59d676bdc18c185eb12bf5 100644 --- a/Sample/Interference/IInterferenceFunctionStrategy.cpp +++ b/Sample/Interference/IInterferenceFunctionStrategy.cpp @@ -17,20 +17,18 @@ #include "Base/Types/Exceptions.h" #include "Base/Utils/Assert.h" #include "Base/Utils/IntegratorMCMiser.h" -#include "Sample/Aggregate/InterferenceFunctionNone.h" #include "Sample/Fresnel/FormFactorCoherentSum.h" IInterferenceFunctionStrategy::IInterferenceFunctionStrategy( const std::vector<FormFactorCoherentSum>& weighted_formfactors, - const IInterferenceFunction* p_iff, const SimulationOptions& sim_params, bool polarized) - : m_formfactor_wrappers(weighted_formfactors) - , m_iff(p_iff ? p_iff->clone() : new InterferenceFunctionNone()) + const SimulationOptions& sim_params, bool polarized) + : m_weighted_formfactors(weighted_formfactors) , m_options(sim_params) , m_polarized(polarized) , m_integrator( make_integrator_miser(this, &IInterferenceFunctionStrategy::evaluate_for_fixed_angles, 2)) { - ASSERT(!m_formfactor_wrappers.empty()); + ASSERT(!m_weighted_formfactors.empty()); } IInterferenceFunctionStrategy::~IInterferenceFunctionStrategy() = default; diff --git a/Sample/Interference/IInterferenceFunctionStrategy.h b/Sample/Interference/IInterferenceFunctionStrategy.h index 9d6b56908820f1a29cec2cb98996fc3ef7a760d1..59811d770bcb0f75e4bd5de4d5503ebc579ffabc 100644 --- a/Sample/Interference/IInterferenceFunctionStrategy.h +++ b/Sample/Interference/IInterferenceFunctionStrategy.h @@ -42,7 +42,6 @@ class IInterferenceFunctionStrategy { public: IInterferenceFunctionStrategy(const std::vector<FormFactorCoherentSum>& weighted_formfactors, - const IInterferenceFunction* p_iff, const SimulationOptions& sim_params, bool polarized); virtual ~IInterferenceFunctionStrategy(); @@ -50,8 +49,7 @@ public: double evaluate(const SimulationElement& sim_element) const; protected: - std::vector<FormFactorCoherentSum> m_formfactor_wrappers; - std::unique_ptr<IInterferenceFunction> m_iff; + std::vector<FormFactorCoherentSum> m_weighted_formfactors; const SimulationOptions m_options; private: diff --git a/Sample/Interference/SSCAHelper.cpp b/Sample/Interference/SSCAHelper.cpp deleted file mode 100644 index 4961df4e69679574f58199e074ec4c7388376b0e..0000000000000000000000000000000000000000 --- a/Sample/Interference/SSCAHelper.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Sample/Interference/SSCAHelper.cpp -//! @brief Implements class SSCAHelper. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "Sample/Interference/SSCAHelper.h" -#include "Base/Types/Exceptions.h" -#include "Sample/Aggregate/InterferenceFunctionRadialParaCrystal.h" -#include "Sample/Fresnel/FormFactorCoherentSum.h" - -SSCAHelper::SSCAHelper(double kappa) : m_kappa(kappa), m_mean_radius{} {} - -void SSCAHelper::init(const std::vector<FormFactorCoherentSum>& ff_wrappers) -{ - m_mean_radius = 0.0; - for (auto& ffw : ff_wrappers) - m_mean_radius += ffw.relativeAbundance() * ffw.radialExtension(); -} - -complex_t SSCAHelper::getCharacteristicSizeCoupling( - double qp, const std::vector<FormFactorCoherentSum>& ff_wrappers) const -{ - complex_t result{}; - for (auto& ffw : ff_wrappers) { - double radial_extension = ffw.radialExtension(); - result += - ffw.relativeAbundance() * calculatePositionOffsetPhase(2.0 * qp, radial_extension); - } - return result; -} - -complex_t SSCAHelper::getCharacteristicDistribution(double qp, - const IInterferenceFunction* p_iff) const -{ - const InterferenceFunctionRadialParaCrystal* p_iff_radial = - dynamic_cast<const InterferenceFunctionRadialParaCrystal*>(p_iff); - if (!p_iff_radial) - throw Exceptions::ClassInitializationException("Wrong interference function for SSCA"); - return p_iff_radial->FTPDF(qp); -} - -complex_t SSCAHelper::calculatePositionOffsetPhase(double qp, double radial_extension) const -{ - return exp_I(m_kappa * qp * (radial_extension - m_mean_radius)); -} - -complex_t -SSCAHelper::getMeanFormfactorNorm(double qp, const std::vector<complex_t>& precomputed_ff, - const std::vector<FormFactorCoherentSum>& ff_wrappers) const -{ - complex_t ff_orig = 0., ff_conj = 0.; // original and conjugated mean formfactor - for (size_t i = 0; i < ff_wrappers.size(); ++i) { - double radial_extension = ff_wrappers[i].radialExtension(); - complex_t prefac = - ff_wrappers[i].relativeAbundance() * calculatePositionOffsetPhase(qp, radial_extension); - ff_orig += prefac * precomputed_ff[i]; - ff_conj += prefac * std::conj(precomputed_ff[i]); - } - return ff_orig * ff_conj; -} - -void SSCAHelper::getMeanFormfactors(double qp, Eigen::Matrix2cd& ff_orig, Eigen::Matrix2cd& ff_conj, - const FormFactorPrecompute::matrixFFVector_t& precomputed_ff, - const std::vector<FormFactorCoherentSum>& ff_wrappers) const -{ - ff_orig = Eigen::Matrix2cd::Zero(); - ff_conj = Eigen::Matrix2cd::Zero(); - for (size_t i = 0; i < ff_wrappers.size(); ++i) { - double radial_extension = ff_wrappers[i].radialExtension(); - complex_t prefac = - ff_wrappers[i].relativeAbundance() * calculatePositionOffsetPhase(qp, radial_extension); - ff_orig += prefac * precomputed_ff[i]; - ff_conj += prefac * precomputed_ff[i].adjoint(); - } -} diff --git a/Sample/Interference/SSCAHelper.h b/Sample/Interference/SSCAHelper.h deleted file mode 100644 index eaff366a9dbf23818020c6a690deb3db99965d2a..0000000000000000000000000000000000000000 --- a/Sample/Interference/SSCAHelper.h +++ /dev/null @@ -1,52 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Sample/Interference/SSCAHelper.h -//! @brief Defines class SSCAHelper. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef BORNAGAIN_SAMPLE_INTERFERENCE_SSCAHELPER_H -#define BORNAGAIN_SAMPLE_INTERFERENCE_SSCAHELPER_H - -#include "Sample/Interference/FormFactorPrecompute.h" -#include "Sample/Interference/IInterferenceFunctionStrategy.h" -#include <Eigen/StdVector> - -class FormFactorCoherentSum; -class IInterferenceFunction; - -//! Helper class for SSCApproximationStrategy, offering some methods, shared between -//! the scalar and polarized scattering calculations -//! @ingroup algorithms_internal - -class SSCAHelper -{ -public: - SSCAHelper(double kappa); - - void init(const std::vector<FormFactorCoherentSum>& ff_wrappers); - - complex_t - getCharacteristicSizeCoupling(double qp, - const std::vector<FormFactorCoherentSum>& ff_wrappers) const; - complex_t getCharacteristicDistribution(double qp, const IInterferenceFunction* p_iff) const; - complex_t calculatePositionOffsetPhase(double qp, double radial_extension) const; - complex_t getMeanFormfactorNorm(double qp, const std::vector<complex_t>& precomputed_ff, - const std::vector<FormFactorCoherentSum>& ff_wrappers) const; - void getMeanFormfactors(double qp, Eigen::Matrix2cd& ff_orig, Eigen::Matrix2cd& ff_conj, - const FormFactorPrecompute::matrixFFVector_t& precomputed_ff, - const std::vector<FormFactorCoherentSum>& ff_wrappers) const; - -private: - double m_kappa; - double m_mean_radius; -}; - -#endif // BORNAGAIN_SAMPLE_INTERFERENCE_SSCAHELPER_H diff --git a/Sample/Interference/SSCApproximationStrategy.cpp b/Sample/Interference/SSCApproximationStrategy.cpp index 37ba6aa5497bd1c1ccdfdc2f14e2faf2be158176..6da59710a197cc8d4e514d460bca18f0ed515119 100644 --- a/Sample/Interference/SSCApproximationStrategy.cpp +++ b/Sample/Interference/SSCApproximationStrategy.cpp @@ -14,16 +14,21 @@ #include "Sample/Interference/SSCApproximationStrategy.h" #include "Base/Pixel/SimulationElement.h" -#include "Sample/Aggregate/IInterferenceFunction.h" +#include "Base/Types/Exceptions.h" +#include "Sample/Aggregate/InterferenceFunctionRadialParaCrystal.h" #include "Sample/Fresnel/FormFactorCoherentSum.h" SSCApproximationStrategy::SSCApproximationStrategy( const std::vector<FormFactorCoherentSum>& weighted_formfactors, - const IInterferenceFunction* p_iff, SimulationOptions sim_params, bool polarized, double kappa) - : IInterferenceFunctionStrategy(weighted_formfactors, p_iff, sim_params, polarized) - , m_helper(kappa) + const InterferenceFunctionRadialParaCrystal* iff, SimulationOptions sim_params, bool polarized, + double kappa) + : IInterferenceFunctionStrategy(weighted_formfactors, sim_params, polarized) + , m_iff(iff->clone()) + , m_kappa(kappa) { - m_helper.init(m_formfactor_wrappers); + m_mean_radius = 0.0; + for (const auto& ffw : m_weighted_formfactors) + m_mean_radius += ffw.relativeAbundance() * ffw.radialExtension(); } //! Returns the total scattering intensity for given kf and @@ -31,45 +36,70 @@ SSCApproximationStrategy::SSCApproximationStrategy( //! This is the scalar version double SSCApproximationStrategy::scalarCalculation(const SimulationElement& sim_element) const { - double qp = sim_element.getMeanQ().magxy(); + const double qp = sim_element.meanQ().magxy(); double diffuse_intensity = 0.0; - auto precomputed_ff = FormFactorPrecompute::scalar(sim_element, m_formfactor_wrappers); - for (size_t i = 0; i < m_formfactor_wrappers.size(); ++i) { - complex_t ff = precomputed_ff[i]; - double fraction = m_formfactor_wrappers[i].relativeAbundance(); + complex_t ff_orig = 0., ff_conj = 0.; // original and conjugated mean formfactor + for (const auto& ffw : m_weighted_formfactors) { + complex_t ff = ffw.evaluate(sim_element); + double fraction = ffw.relativeAbundance(); diffuse_intensity += fraction * std::norm(ff); + double radial_extension = ffw.radialExtension(); + complex_t prefac = + ffw.relativeAbundance() * calculatePositionOffsetPhase(qp, radial_extension); + ff_orig += prefac * ff; + ff_conj += prefac * std::conj(ff); } - complex_t mean_ff_norm = - m_helper.getMeanFormfactorNorm(qp, precomputed_ff, m_formfactor_wrappers); - complex_t p2kappa = m_helper.getCharacteristicSizeCoupling(qp, m_formfactor_wrappers); - complex_t omega = m_helper.getCharacteristicDistribution(qp, m_iff.get()); - double iff = 2.0 * (mean_ff_norm * omega / (1.0 - p2kappa * omega)).real(); - double dw_factor = m_iff->DWfactor(sim_element.getMeanQ()); + const complex_t mean_ff_norm = ff_orig * ff_conj; + const complex_t p2kappa = getCharacteristicSizeCoupling(qp, m_weighted_formfactors); + const complex_t omega = m_iff->FTPDF(qp); + const double iff = 2.0 * (mean_ff_norm * omega / (1.0 - p2kappa * omega)).real(); + const double dw_factor = m_iff->DWfactor(sim_element.meanQ()); return diffuse_intensity + dw_factor * iff; } //! This is the polarized version double SSCApproximationStrategy::polarizedCalculation(const SimulationElement& sim_element) const { - double qp = sim_element.getMeanQ().magxy(); + const double qp = sim_element.meanQ().magxy(); Eigen::Matrix2cd diffuse_matrix = Eigen::Matrix2cd::Zero(); - auto precomputed_ff = FormFactorPrecompute::polarized(sim_element, m_formfactor_wrappers); const auto& polarization_handler = sim_element.polarizationHandler(); - for (size_t i = 0; i < m_formfactor_wrappers.size(); ++i) { - Eigen::Matrix2cd ff = precomputed_ff[i]; - double fraction = m_formfactor_wrappers[i].relativeAbundance(); + Eigen::Matrix2cd ff_orig = Eigen::Matrix2cd::Zero(); + Eigen::Matrix2cd ff_conj = Eigen::Matrix2cd::Zero(); + for (const auto& ffw : m_weighted_formfactors) { + const Eigen::Matrix2cd ff = ffw.evaluatePol(sim_element); + const double fraction = ffw.relativeAbundance(); diffuse_matrix += fraction * (ff * polarization_handler.getPolarization() * ff.adjoint()); + const double radial_extension = ffw.radialExtension(); + const complex_t prefac = + ffw.relativeAbundance() * calculatePositionOffsetPhase(qp, radial_extension); + ff_orig += prefac * ff; + ff_conj += prefac * ff.adjoint(); } - Eigen::Matrix2cd mff_orig, mff_conj; // original and conjugated mean formfactor - m_helper.getMeanFormfactors(qp, mff_orig, mff_conj, precomputed_ff, m_formfactor_wrappers); - complex_t p2kappa = m_helper.getCharacteristicSizeCoupling(qp, m_formfactor_wrappers); - complex_t omega = m_helper.getCharacteristicDistribution(qp, m_iff.get()); - Eigen::Matrix2cd interference_matrix = (2.0 * omega / (1.0 - p2kappa * omega)) - * polarization_handler.getAnalyzerOperator() * mff_orig - * polarization_handler.getPolarization() * mff_conj; - Eigen::Matrix2cd diffuse_matrix2 = polarization_handler.getAnalyzerOperator() * diffuse_matrix; - double interference_trace = std::abs(interference_matrix.trace()); - double diffuse_trace = std::abs(diffuse_matrix2.trace()); - double dw_factor = m_iff->DWfactor(sim_element.getMeanQ()); + const complex_t p2kappa = getCharacteristicSizeCoupling(qp, m_weighted_formfactors); + const complex_t omega = m_iff->FTPDF(qp); + const Eigen::Matrix2cd interference_matrix = + (2.0 * omega / (1.0 - p2kappa * omega)) * polarization_handler.getAnalyzerOperator() + * ff_orig * polarization_handler.getPolarization() * ff_conj; + const Eigen::Matrix2cd diffuse_matrix2 = + polarization_handler.getAnalyzerOperator() * diffuse_matrix; + const double interference_trace = std::abs(interference_matrix.trace()); + const double diffuse_trace = std::abs(diffuse_matrix2.trace()); + const double dw_factor = m_iff->DWfactor(sim_element.meanQ()); return diffuse_trace + dw_factor * interference_trace; } + +complex_t SSCApproximationStrategy::getCharacteristicSizeCoupling( + double qp, const std::vector<FormFactorCoherentSum>& ff_wrappers) const +{ + complex_t result = 0; + for (const auto& ffw : ff_wrappers) + result += + ffw.relativeAbundance() * calculatePositionOffsetPhase(2.0 * qp, ffw.radialExtension()); + return result; +} + +complex_t SSCApproximationStrategy::calculatePositionOffsetPhase(double qp, + double radial_extension) const +{ + return exp_I(m_kappa * qp * (radial_extension - m_mean_radius)); +} diff --git a/Sample/Interference/SSCApproximationStrategy.h b/Sample/Interference/SSCApproximationStrategy.h index 073a478ab49406167253b03288dcbe115463a1d7..0f900d7fcfe942777272fc79873131fc588f4dc0 100644 --- a/Sample/Interference/SSCApproximationStrategy.h +++ b/Sample/Interference/SSCApproximationStrategy.h @@ -15,8 +15,10 @@ #ifndef BORNAGAIN_SAMPLE_INTERFERENCE_SSCAPPROXIMATIONSTRATEGY_H #define BORNAGAIN_SAMPLE_INTERFERENCE_SSCAPPROXIMATIONSTRATEGY_H -#include "Sample/Interference/SSCAHelper.h" +#include "Sample/Interference/IInterferenceFunctionStrategy.h" +#include <Eigen/StdVector> +class InterferenceFunctionRadialParaCrystal; class SimulationElement; //! Strategy class to compute the total scattering from a particle layout @@ -27,13 +29,23 @@ class SSCApproximationStrategy final : public IInterferenceFunctionStrategy { public: SSCApproximationStrategy(const std::vector<FormFactorCoherentSum>& weighted_formfactors, - const IInterferenceFunction* p_iff, SimulationOptions sim_params, - bool polarized, double kappa); + const InterferenceFunctionRadialParaCrystal* iff, + SimulationOptions sim_params, bool polarized, double kappa); private: double scalarCalculation(const SimulationElement& sim_element) const override; double polarizedCalculation(const SimulationElement& sim_element) const override; - SSCAHelper m_helper; + + void init(const std::vector<FormFactorCoherentSum>& ff_wrappers); + + complex_t + getCharacteristicSizeCoupling(double qp, + const std::vector<FormFactorCoherentSum>& ff_wrappers) const; + complex_t calculatePositionOffsetPhase(double qp, double radial_extension) const; + + std::unique_ptr<InterferenceFunctionRadialParaCrystal> m_iff; + double m_kappa; + double m_mean_radius; }; #endif // BORNAGAIN_SAMPLE_INTERFERENCE_SSCAPPROXIMATIONSTRATEGY_H diff --git a/Sample/Lattice/BakeLattice.cpp b/Sample/Lattice/BakeLattice.cpp index f9979f0da7cb6a2f0e3b4e72d012f65ad92662ee..a178819ced363393e7df20e6624eb539e5068fca 100644 --- a/Sample/Lattice/BakeLattice.cpp +++ b/Sample/Lattice/BakeLattice.cpp @@ -15,7 +15,7 @@ #include "Sample/Lattice/BakeLattice.h" #include "Sample/Lattice/Lattice3D.h" -Lattice3D bake::createCubicLattice(double a) +Lattice3D bake::CubicLattice(double a) { kvector_t a1(a, 0.0, 0.0); kvector_t a2(0.0, a, 0.0); @@ -23,7 +23,7 @@ Lattice3D bake::createCubicLattice(double a) return Lattice3D(a1, a2, a3); } -Lattice3D bake::createFCCLattice(double a) +Lattice3D bake::FCCLattice(double a) { double b = a / 2.0; kvector_t a1(0.0, b, b); @@ -32,7 +32,7 @@ Lattice3D bake::createFCCLattice(double a) return Lattice3D(a1, a2, a3); } -Lattice3D bake::createHexagonalLattice(double a, double c) +Lattice3D bake::HexagonalLattice(double a, double c) { kvector_t a1(a, 0.0, 0.0); kvector_t a2(-a / 2.0, std::sqrt(3.0) * a / 2.0, 0.0); @@ -40,7 +40,7 @@ Lattice3D bake::createHexagonalLattice(double a, double c) return Lattice3D(a1, a2, a3); } -Lattice3D bake::createHCPLattice(double a, double c) +Lattice3D bake::HCPLattice(double a, double c) { kvector_t a1(a, 0.0, 0.0); kvector_t a2(-a / 2.0, std::sqrt(3.0) * a / 2.0, 0); @@ -48,7 +48,7 @@ Lattice3D bake::createHCPLattice(double a, double c) return Lattice3D(a1, a2, a3); } -Lattice3D bake::createTetragonalLattice(double a, double c) +Lattice3D bake::TetragonalLattice(double a, double c) { kvector_t a1(a, 0.0, 0.0); kvector_t a2(0.0, a, 0.0); @@ -56,7 +56,7 @@ Lattice3D bake::createTetragonalLattice(double a, double c) return Lattice3D(a1, a2, a3); } -Lattice3D bake::createBCTLattice(double a, double c) +Lattice3D bake::BCTLattice(double a, double c) { kvector_t a1(a, 0.0, 0.0); kvector_t a2(0.0, a, 0.0); diff --git a/Sample/Lattice/BakeLattice.h b/Sample/Lattice/BakeLattice.h index 4f0373f36a61a2c881c3402888abd8bdbf08a3e6..239c7d6b92bf2619fae5880f285d3a5367fa65e6 100644 --- a/Sample/Lattice/BakeLattice.h +++ b/Sample/Lattice/BakeLattice.h @@ -21,23 +21,23 @@ namespace bake { //! Returns a primitive cubic (cP) lattice with edge length a. -Lattice3D createCubicLattice(double a); +Lattice3D CubicLattice(double a); //! Returns a face-centered cubic (cF) lattice with edge length a. -Lattice3D createFCCLattice(double a); +Lattice3D FCCLattice(double a); //! Returns a primitive hexagonal (hP) lattice with hexagonal edge a and height c. -Lattice3D createHexagonalLattice(double a, double c); +Lattice3D HexagonalLattice(double a, double c); //! TODO: Clarify how this is meant: HCP is not a Bravais lattice. -Lattice3D createHCPLattice(double a, double c); +Lattice3D HCPLattice(double a, double c); //! Returns a primitive tetragonal (tP) lattice with square base edge a and height c. -Lattice3D createTetragonalLattice(double a, double c); +Lattice3D TetragonalLattice(double a, double c); //! Returns a body-centered cubic (cI) lattice with edge length a. //! TODO: Clarify meaning of c -Lattice3D createBCTLattice(double a, double c); +Lattice3D BCTLattice(double a, double c); } // namespace bake diff --git a/Sample/Lattice/Lattice2D.cpp b/Sample/Lattice/Lattice2D.cpp index a7dee724f0bdc798213ad54486ec0b97d2347d97..d8f8c5fbd06c8b06cf5c1a19c6936ddaa9885639 100644 --- a/Sample/Lattice/Lattice2D.cpp +++ b/Sample/Lattice/Lattice2D.cpp @@ -62,86 +62,88 @@ void Lattice2D::setRotationEnabled(bool enabled) // TODO ASAP replace by generic } // ************************************************************************** // -// class BasicLattice +// class BasicLattice2D // ************************************************************************** // -BasicLattice::BasicLattice(double length1, double length2, double angle, double xi) +BasicLattice2D::BasicLattice2D(double length1, double length2, double angle, double xi) : Lattice2D(xi), m_length1(length1), m_length2(length2), m_angle(angle) { if (m_length1 <= 0.0 || m_length2 <= 0.0) - throw std::runtime_error("BasicLattice::BasicLattice() -> Error. Lattice length can't be " - "negative or zero."); + throw std::runtime_error( + "BasicLattice2D::BasicLattice2D() -> Error. Lattice length can't be " + "negative or zero."); - setName("BasicLattice"); + setName("BasicLattice2D"); registerParameter("LatticeLength1", &m_length1).setUnit("nm").setPositive(); registerParameter("LatticeLength2", &m_length2).setUnit("nm").setPositive(); registerParameter("Alpha", &m_angle).setUnit("rad"); } -BasicLattice* BasicLattice::clone() const +BasicLattice2D* BasicLattice2D::clone() const { - return new BasicLattice(m_length1, m_length2, m_angle, m_xi); + return new BasicLattice2D(m_length1, m_length2, m_angle, m_xi); } -double BasicLattice::unitCellArea() const +double BasicLattice2D::unitCellArea() const { return std::abs(m_length1 * m_length2 * std::sin(m_angle)); } // ************************************************************************** // -// class SquareLattice +// class SquareLattice2D // ************************************************************************** // -SquareLattice::SquareLattice(double length, double xi) : Lattice2D(xi), m_length(length) +SquareLattice2D::SquareLattice2D(double length, double xi) : Lattice2D(xi), m_length(length) { if (m_length <= 0.0) - throw std::runtime_error("SquareLattice::SquareLattice() -> Error. Lattice length can't be " - "negative or zero."); + throw std::runtime_error( + "SquareLattice2D::SquareLattice2D() -> Error. Lattice length can't be " + "negative or zero."); - setName("SquareLattice"); + setName("SquareLattice2D"); registerParameter("LatticeLength", &m_length).setUnit("nm").setPositive(); } -SquareLattice* SquareLattice::clone() const +SquareLattice2D* SquareLattice2D::clone() const { - return new SquareLattice(m_length, m_xi); + return new SquareLattice2D(m_length, m_xi); } -double SquareLattice::latticeAngle() const +double SquareLattice2D::latticeAngle() const { return M_PI / 2.0; } -double SquareLattice::unitCellArea() const +double SquareLattice2D::unitCellArea() const { return std::abs(m_length * m_length); } // ************************************************************************** // -// class HexagonalLattice +// class HexagonalLattice2D // ************************************************************************** // -HexagonalLattice::HexagonalLattice(double length, double xi) : Lattice2D(xi), m_length(length) +HexagonalLattice2D::HexagonalLattice2D(double length, double xi) : Lattice2D(xi), m_length(length) { if (m_length <= 0.0) - throw std::runtime_error("HexagonalLattice::HexagonalLattice() -> Error. " + throw std::runtime_error("HexagonalLattice2D::HexagonalLattice2D() -> Error. " "Lattice length can't be negative or zero."); - setName("HexagonalLattice"); + setName("HexagonalLattice2D"); registerParameter("LatticeLength", &m_length).setUnit("nm").setPositive(); } -HexagonalLattice* HexagonalLattice::clone() const +HexagonalLattice2D* HexagonalLattice2D::clone() const { - return new HexagonalLattice(m_length, m_xi); + return new HexagonalLattice2D(m_length, m_xi); } -double HexagonalLattice::latticeAngle() const +double HexagonalLattice2D::latticeAngle() const { return M_TWOPI / 3.0; } -double HexagonalLattice::unitCellArea() const +double HexagonalLattice2D::unitCellArea() const { static const double sinval = std::sin(latticeAngle()); return std::abs(m_length * m_length * sinval); diff --git a/Sample/Lattice/Lattice2D.h b/Sample/Lattice/Lattice2D.h index 3cb822c7a875e2ef876ec9e0897ca754f8c58254..f65f406978c0dd847fc130bf7e673e792fe5f18a 100644 --- a/Sample/Lattice/Lattice2D.h +++ b/Sample/Lattice/Lattice2D.h @@ -47,12 +47,12 @@ protected: double m_xi; }; -class BasicLattice : public Lattice2D +class BasicLattice2D : public Lattice2D { public: - BasicLattice(double length1, double length2, double angle, double xi); + BasicLattice2D(double length1, double length2, double angle, double xi); - BasicLattice* clone() const; + BasicLattice2D* clone() const; void accept(INodeVisitor* visitor) const final { visitor->visit(this); } @@ -66,12 +66,12 @@ private: double m_angle; }; -class SquareLattice : public Lattice2D +class SquareLattice2D : public Lattice2D { public: - SquareLattice(double length, double xi = 0.0); + SquareLattice2D(double length, double xi = 0.0); - SquareLattice* clone() const; + SquareLattice2D* clone() const; void accept(INodeVisitor* visitor) const final { visitor->visit(this); } @@ -84,12 +84,12 @@ private: double m_length; }; -class HexagonalLattice : public Lattice2D +class HexagonalLattice2D : public Lattice2D { public: - HexagonalLattice(double length, double xi); + HexagonalLattice2D(double length, double xi); - HexagonalLattice* clone() const; + HexagonalLattice2D* clone() const; void accept(INodeVisitor* visitor) const final { visitor->visit(this); } diff --git a/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp b/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp index 10331c867b06ef015a4824ca2679f0f95f10c6cf..cd6beeb3924cbc05f82bcfba9a60524d63c1bca7 100644 --- a/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp +++ b/Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp @@ -3,7 +3,7 @@ // BornAgain: simulate and fit scattering at grazing incidence // //! @file Sample/StandardSamples/BoxesSquareLatticeBuilder.cpp -//! @brief Implements class BoxesSquareLatticeBuilder. +//! @brief Implements class BoxesSquareLattice2DBuilder. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -22,7 +22,7 @@ #include "Sample/Particle/Particle.h" #include "Sample/StandardSamples/ReferenceMaterials.h" -MultiLayer* BoxesSquareLatticeBuilder::buildSample() const +MultiLayer* BoxesSquareLattice2DBuilder::buildSample() const { const double length = 5 * Units::nm; const double height = 10 * Units::nm; @@ -30,7 +30,7 @@ MultiLayer* BoxesSquareLatticeBuilder::buildSample() const Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); - InterferenceFunction2DLattice iff(SquareLattice(8 * Units::nm, 0)); + InterferenceFunction2DLattice iff(SquareLattice2D(8 * Units::nm, 0)); FTDecayFunction2DCauchy pdf(100.0 * Units::nm, 100.0 * Units::nm, 0); iff.setDecayFunction(pdf); diff --git a/Sample/StandardSamples/BoxesSquareLatticeBuilder.h b/Sample/StandardSamples/BoxesSquareLatticeBuilder.h index c1698475bb3b6941ecec7fe048ce5a10797ac15c..9cffdc7b98b48294f94eb644a8490dfcd5eaff45 100644 --- a/Sample/StandardSamples/BoxesSquareLatticeBuilder.h +++ b/Sample/StandardSamples/BoxesSquareLatticeBuilder.h @@ -3,7 +3,7 @@ // BornAgain: simulate and fit scattering at grazing incidence // //! @file Sample/StandardSamples/BoxesSquareLatticeBuilder.h -//! @brief Defines class BoxesSquareLatticeBuilder. +//! @brief Defines class BoxesSquareLattice2DBuilder. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -20,7 +20,7 @@ //! Builds sample: square boxes in a square lattice //! @ingroup standard_samples -class BoxesSquareLatticeBuilder : public ISampleBuilder +class BoxesSquareLattice2DBuilder : public ISampleBuilder { public: MultiLayer* buildSample() const; diff --git a/Sample/StandardSamples/ParaCrystalBuilder.cpp b/Sample/StandardSamples/ParaCrystalBuilder.cpp index f3ce78de17d96fa8708b01acf2d5006431a08370..ab62ca3084437249d16c60cfc29165ec9a0574e5 100644 --- a/Sample/StandardSamples/ParaCrystalBuilder.cpp +++ b/Sample/StandardSamples/ParaCrystalBuilder.cpp @@ -71,7 +71,7 @@ MultiLayer* Basic2DParaCrystalBuilder::buildSample() const Layer substrate_layer(refMat::Substrate); InterferenceFunction2DParaCrystal iff( - BasicLattice(10.0 * Units::nm, 20.0 * Units::nm, 30.0 * Units::deg, 45.0 * Units::deg), + BasicLattice2D(10.0 * Units::nm, 20.0 * Units::nm, 30.0 * Units::deg, 45.0 * Units::deg), 1000.0 * Units::nm, 20.0 * Units::micrometer, 40.0 * Units::micrometer); iff.setProbabilityDistributions(*m_pdf1, *m_pdf2); @@ -118,7 +118,7 @@ MultiLayer* HexParaCrystalBuilder::buildSample() const Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); - InterferenceFunction2DParaCrystal iff(HexagonalLattice(m_peak_distance, 0.0), m_corr_length, + InterferenceFunction2DParaCrystal iff(HexagonalLattice2D(m_peak_distance, 0.0), m_corr_length, m_domain_size_1, m_domain_size_2); iff.setIntegrationOverXi(true); FTDistribution2DCauchy pdf(1.0 * Units::nm, 1.0 * Units::nm, 0); @@ -147,7 +147,7 @@ MultiLayer* RectParaCrystalBuilder::buildSample() const Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); - InterferenceFunction2DParaCrystal iff(SquareLattice(10 * Units::nm), 0, 0, 0); + InterferenceFunction2DParaCrystal iff(SquareLattice2D(10 * Units::nm), 0, 0, 0); iff.setIntegrationOverXi(true); iff.setDomainSizes(20.0 * Units::micrometer, 20.0 * Units::micrometer); FTDistribution2DCauchy pdf1(0.5 * Units::nm, 2.0 * Units::nm, 0); diff --git a/Sample/StandardSamples/ParticleCompositionBuilder.cpp b/Sample/StandardSamples/ParticleCompositionBuilder.cpp index 770fd27422b33c0a1c26a7bb45fa413941acac3b..0ff683894866cdf649273daef2ed86409537aad1 100644 --- a/Sample/StandardSamples/ParticleCompositionBuilder.cpp +++ b/Sample/StandardSamples/ParticleCompositionBuilder.cpp @@ -43,7 +43,7 @@ MultiLayer* ParticleCompositionBuilder::buildSample() const basis.addParticles(sphere, positions); particle_layout.addParticle(basis); - InterferenceFunction2DLattice iff(HexagonalLattice(radius * 2.0, 0)); + InterferenceFunction2DLattice iff(HexagonalLattice2D(radius * 2.0, 0)); FTDecayFunction2DCauchy pdf(10 * Units::nm, 10 * Units::nm, 0); iff.setDecayFunction(pdf); diff --git a/Sample/StandardSamples/SampleBuilderFactory.cpp b/Sample/StandardSamples/SampleBuilderFactory.cpp index 182417f8f7c4b9ad84cec9c196cdf33766f0ec65..a05b45d6535a274422d55b12a4a00f077beaabea 100644 --- a/Sample/StandardSamples/SampleBuilderFactory.cpp +++ b/Sample/StandardSamples/SampleBuilderFactory.cpp @@ -74,13 +74,13 @@ SampleBuilderFactory::SampleBuilderFactory() registerItem("Basic2DLatticeBuilder", create_new<Basic2DLatticeBuilder>); - registerItem("SquareLatticeBuilder", create_new<SquareLatticeBuilder>); + registerItem("SquareLattice2DBuilder", create_new<SquareLattice2DBuilder>); - registerItem("CenteredSquareLatticeBuilder", create_new<CenteredSquareLatticeBuilder>); + registerItem("CenteredSquareLattice2DBuilder", create_new<CenteredSquareLattice2DBuilder>); - registerItem("RotatedSquareLatticeBuilder", create_new<RotatedSquareLatticeBuilder>); + registerItem("RotatedSquareLattice2DBuilder", create_new<RotatedSquareLattice2DBuilder>); - registerItem("FiniteSquareLatticeBuilder", create_new<FiniteSquareLatticeBuilder>); + registerItem("FiniteSquareLattice2DBuilder", create_new<FiniteSquareLattice2DBuilder>); registerItem("SuperLatticeBuilder", create_new<SuperLatticeBuilder>); @@ -165,7 +165,7 @@ SampleBuilderFactory::SampleBuilderFactory() registerItem("LayersWithAbsorptionBySLDBuilder", create_new<LayersWithAbsorptionBySLDBuilder>); - registerItem("BoxesSquareLatticeBuilder", create_new<BoxesSquareLatticeBuilder>); + registerItem("BoxesSquareLattice2DBuilder", create_new<BoxesSquareLattice2DBuilder>); registerItem("RotatedCylindersBuilder", create_new<RotatedCylindersBuilder>); diff --git a/Sample/StandardSamples/TwoDimLatticeBuilder.cpp b/Sample/StandardSamples/TwoDimLatticeBuilder.cpp index feb9207a5cac884c9fc96e4ee525c116579539a9..52cc9c4aa7b464b7b7735e29ce74eaf7fb1520da 100644 --- a/Sample/StandardSamples/TwoDimLatticeBuilder.cpp +++ b/Sample/StandardSamples/TwoDimLatticeBuilder.cpp @@ -19,7 +19,6 @@ #include "Sample/Aggregate/InterferenceFunctionFinite2DLattice.h" #include "Sample/Aggregate/ParticleLayout.h" #include "Sample/HardParticle/FormFactorCylinder.h" -#include "Sample/Lattice/Lattice2D.h" #include "Sample/Multilayer/Layer.h" #include "Sample/Multilayer/MultiLayer.h" #include "Sample/Particle/Particle.h" @@ -32,7 +31,7 @@ MultiLayer* Basic2DLatticeBuilder::buildSample() const Layer substrate_layer(refMat::Substrate); InterferenceFunction2DLattice iff( - BasicLattice(5.0 * Units::nm, 10.0 * Units::nm, 30.0 * Units::deg, 10.0 * Units::deg)); + BasicLattice2D(5.0 * Units::nm, 10.0 * Units::nm, 30.0 * Units::deg, 10.0 * Units::deg)); FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI, 0); iff.setDecayFunction(pdf); @@ -56,12 +55,12 @@ MultiLayer* Basic2DLatticeBuilder::buildSample() const // ----------------------------------------------------------------------------- // lattice #1: // ----------------------------------------------------------------------------- -MultiLayer* SquareLatticeBuilder::buildSample() const +MultiLayer* SquareLattice2DBuilder::buildSample() const { Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); - InterferenceFunction2DLattice iff(SquareLattice(10.0 * Units::nm, 0)); + InterferenceFunction2DLattice iff(SquareLattice2D(10.0 * Units::nm, 0)); FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI, 0); iff.setDecayFunction(pdf); @@ -84,13 +83,13 @@ MultiLayer* SquareLatticeBuilder::buildSample() const // ----------------------------------------------------------------------------- // lattice #2: centered // ----------------------------------------------------------------------------- -MultiLayer* CenteredSquareLatticeBuilder::buildSample() const +MultiLayer* CenteredSquareLattice2DBuilder::buildSample() const { Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); InterferenceFunction2DLattice interference_function( - BasicLattice(10.0 * Units::nm, 10.0 * Units::nm, M_PI / 2.0, 0)); + BasicLattice2D(10.0 * Units::nm, 10.0 * Units::nm, M_PI / 2.0, 0)); FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI, 0); interference_function.setDecayFunction(pdf); @@ -118,12 +117,12 @@ MultiLayer* CenteredSquareLatticeBuilder::buildSample() const // ----------------------------------------------------------------------------- // lattice #3: rotated // ----------------------------------------------------------------------------- -MultiLayer* RotatedSquareLatticeBuilder::buildSample() const +MultiLayer* RotatedSquareLattice2DBuilder::buildSample() const { Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); - InterferenceFunction2DLattice iff(SquareLattice(10.0 * Units::nm, 30.0 * Units::deg)); + InterferenceFunction2DLattice iff(SquareLattice2D(10.0 * Units::nm, 30.0 * Units::deg)); FTDecayFunction2DCauchy pdf(300.0 * Units::nm / 2.0 / M_PI, 100.0 * Units::nm / 2.0 / M_PI, 30.0 * Units::deg); iff.setDecayFunction(pdf); @@ -148,12 +147,12 @@ MultiLayer* RotatedSquareLatticeBuilder::buildSample() const // ----------------------------------------------------------------------------- // lattice #4: finite square // ----------------------------------------------------------------------------- -MultiLayer* FiniteSquareLatticeBuilder::buildSample() const +MultiLayer* FiniteSquareLattice2DBuilder::buildSample() const { Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); - InterferenceFunctionFinite2DLattice iff(SquareLattice(10.0 * Units::nm, 0.0), 40, 40); + InterferenceFunctionFinite2DLattice iff(SquareLattice2D(10.0 * Units::nm, 0.0), 40, 40); iff.setPositionVariance(1.0); // particles @@ -180,8 +179,9 @@ MultiLayer* SuperLatticeBuilder::buildSample() const Layer vacuum_layer(refMat::Vacuum); Layer substrate_layer(refMat::Substrate); - InterferenceFunction2DSuperLattice iff(SquareLattice(200.0 * Units::nm, 0.0), 40, 40); - InterferenceFunctionFinite2DLattice substructure(SquareLattice(10.0 * Units::nm, 0.0), 10, 10); + InterferenceFunction2DSuperLattice iff(SquareLattice2D(200.0 * Units::nm, 0.0), 40, 40); + InterferenceFunctionFinite2DLattice substructure(SquareLattice2D(10.0 * Units::nm, 0.0), 10, + 10); iff.setSubstructureIFF(substructure); iff.setPositionVariance(1.0); diff --git a/Sample/StandardSamples/TwoDimLatticeBuilder.h b/Sample/StandardSamples/TwoDimLatticeBuilder.h index 78e08b943ce7b2547b19c50a740b3ae81eb463c7..4423a9f3d7a601b9ca6be989a9caeed6a0afeed9 100644 --- a/Sample/StandardSamples/TwoDimLatticeBuilder.h +++ b/Sample/StandardSamples/TwoDimLatticeBuilder.h @@ -30,17 +30,17 @@ public: //! Builds sample: 2D lattice with different disorder (IsGISAXS example #6). //! @ingroup standard_samples -class SquareLatticeBuilder : public ISampleBuilder +class SquareLattice2DBuilder : public ISampleBuilder { public: - SquareLatticeBuilder() {} + SquareLattice2DBuilder() {} MultiLayer* buildSample() const; }; //! Builds sample: 2D lattice with different disorder (IsGISAXS example #6). //! @ingroup standard_samples -class CenteredSquareLatticeBuilder : public ISampleBuilder +class CenteredSquareLattice2DBuilder : public ISampleBuilder { public: MultiLayer* buildSample() const; @@ -49,7 +49,7 @@ public: //! Builds sample: 2D lattice with different disorder (IsGISAXS example #6). //! @ingroup standard_samples -class RotatedSquareLatticeBuilder : public ISampleBuilder +class RotatedSquareLattice2DBuilder : public ISampleBuilder { public: MultiLayer* buildSample() const; @@ -58,7 +58,7 @@ public: //! Builds sample: 2D finite lattice with thermal disorder. //! @ingroup standard_samples -class FiniteSquareLatticeBuilder : public ISampleBuilder +class FiniteSquareLattice2DBuilder : public ISampleBuilder { public: MultiLayer* buildSample() const; diff --git a/Tests/Functional/GUI/Translate/TranslationTests.cpp b/Tests/Functional/GUI/Translate/TranslationTests.cpp index e996725b9003f912bb46062ea85645076b45c948..467968dece551fcc54a42f1f8a34090cf5337c01 100644 --- a/Tests/Functional/GUI/Translate/TranslationTests.cpp +++ b/Tests/Functional/GUI/Translate/TranslationTests.cpp @@ -54,9 +54,9 @@ TEST_F(Translate, Roughness) EXPECT_TRUE(run("BasicGISAS", "MultiLayerWithRoughnessBuilder")); } -TEST_F(Translate, SquareLattice) +TEST_F(Translate, SquareLattice2D) { - EXPECT_TRUE(run("BasicGISAS", "SquareLatticeBuilder")); + EXPECT_TRUE(run("BasicGISAS", "SquareLattice2DBuilder")); } TEST_F(Translate, Rotation) diff --git a/Tests/Functional/Python/PyCore/mesocrystal1.py b/Tests/Functional/Python/PyCore/mesocrystal1.py index 4da5e4201652ef3d6011562ade02dc9f352dddbf..484bee4064e93f63782db68c8419e808dd27e894 100644 --- a/Tests/Functional/Python/PyCore/mesocrystal1.py +++ b/Tests/Functional/Python/PyCore/mesocrystal1.py @@ -117,7 +117,7 @@ class MySampleBuilder(ISampleBuilder): # create lattice # ------------------------------------------------------------------------- def createLattice(self, stacking_radius_a, stacking_radius_c): - result = createHexagonalLattice(stacking_radius_a*2.0, stacking_radius_c*2.0*2.3) + result = HexagonalLattice(stacking_radius_a*2.0, stacking_radius_c*2.0*2.3) result.setSelectionRule(SimpleSelectionRule(-1, 1, 1, 3)) return result diff --git a/Tests/Functional/Std/StandardTests.h b/Tests/Functional/Std/StandardTests.h index a144c55fcaeaab9a02089b20a8da7643361e310e..b03d1c3eae7d465e87ac65653992b328adbde611 100644 --- a/Tests/Functional/Std/StandardTests.h +++ b/Tests/Functional/Std/StandardTests.h @@ -86,24 +86,25 @@ TEST_F(Std, MultiLayerWithRoughness) run("MultiLayerWithRoughness", "MiniGISAS", "MultiLayerWithRoughnessBuilder", 2e-10)); } -TEST_F(Std, SquareLattice) +TEST_F(Std, SquareLattice2D) { - EXPECT_TRUE(run("SquareLattice", "MiniGISAS", "SquareLatticeBuilder", 2e-10)); + EXPECT_TRUE(run("SquareLattice2D", "MiniGISAS", "SquareLattice2DBuilder", 2e-10)); } -TEST_F(Std, CenteredSquareLattice) +TEST_F(Std, CenteredSquareLattice2D) { - EXPECT_TRUE(run("CenteredSquareLattice", "MiniGISAS", "CenteredSquareLatticeBuilder", 2e-10)); + EXPECT_TRUE( + run("CenteredSquareLattice2D", "MiniGISAS", "CenteredSquareLattice2DBuilder", 2e-10)); } -TEST_F(Std, RotatedSquareLattice) +TEST_F(Std, RotatedSquareLattice2D) { - EXPECT_TRUE(run("RotatedSquareLattice", "MiniGISAS", "RotatedSquareLatticeBuilder", 2e-10)); + EXPECT_TRUE(run("RotatedSquareLattice2D", "MiniGISAS", "RotatedSquareLattice2DBuilder", 2e-10)); } -TEST_F(Std, FiniteSquareLattice) +TEST_F(Std, FiniteSquareLattice2D) { - EXPECT_TRUE(run("FiniteSquareLattice", "MiniGISAS", "FiniteSquareLatticeBuilder", 2e-10)); + EXPECT_TRUE(run("FiniteSquareLattice2D", "MiniGISAS", "FiniteSquareLattice2DBuilder", 2e-10)); } TEST_F(Std, RotatedPyramids) @@ -361,7 +362,8 @@ TEST_F(Std, RectDetWithRoi) TEST_F(Std, BoxesWithSpecular) { - EXPECT_TRUE(run("BoxesWithSpecular", "MiniGISASSpecular", "BoxesSquareLatticeBuilder", 1e-10)); + EXPECT_TRUE( + run("BoxesWithSpecular", "MiniGISASSpecular", "BoxesSquareLattice2DBuilder", 1e-10)); } TEST_F(Std, RotatedCylinder) diff --git a/Tests/Performance/Core/Mesocrystal.cpp b/Tests/Performance/Core/Mesocrystal.cpp index 4cf83ed8fabb612da93a1f3d2f822eda4139a605..7b0a456799f35c73168ceee3ab205081b35fd47b 100644 --- a/Tests/Performance/Core/Mesocrystal.cpp +++ b/Tests/Performance/Core/Mesocrystal.cpp @@ -55,7 +55,7 @@ std::unique_ptr<RectangularDetector> create_detector() Lattice3D createLattice(double a, double c) { - Lattice3D result = bake::createHexagonalLattice(a, c); + Lattice3D result = bake::HexagonalLattice(a, c); result.setSelectionRule(SimpleSelectionRule(-1, 1, 1, 3)); return result; } diff --git a/Tests/Performance/Core/ThreadingComponents.cpp b/Tests/Performance/Core/ThreadingComponents.cpp index 1eb550587e484fa6187dde1f005721547f8366da..6e7023589d01055cfa14fc4830c89687020bb2ba 100644 --- a/Tests/Performance/Core/ThreadingComponents.cpp +++ b/Tests/Performance/Core/ThreadingComponents.cpp @@ -50,8 +50,8 @@ std::unique_ptr<MultiLayer> createSampleSpheresDistribution(int nspheres) RealLimits::limited(5.0 * Units::nm, 15.0 * Units::nm)); ParticleDistribution particleDistribution_1(particle_1, par_distr_1); - InterferenceFunction2DLattice interference_1(10.0 * Units::nm, 10.0 * Units::nm, - 90.0 * Units::deg, 0.0 * Units::deg); + InterferenceFunction2DLattice interference_1( + BasicLattice2D(10.0 * Units::nm, 10.0 * Units::nm, 90.0 * Units::deg, 0.0 * Units::deg)); FTDecayFunction2DCauchy interference_1_pdf(47.7464829276 * Units::nm, 15.9154943092 * Units::nm, 0.0 * Units::deg); interference_1.setDecayFunction(interference_1_pdf); diff --git a/Tests/Performance/Python/test_performance.py b/Tests/Performance/Python/test_performance.py index 2dbfcc039441c175c45b4e3ba5d35fe4bb1dfb80..05182c9d12bdca27c5457fbac02c12964613de39 100755 --- a/Tests/Performance/Python/test_performance.py +++ b/Tests/Performance/Python/test_performance.py @@ -201,7 +201,7 @@ class PerformanceTests: self.add("CylindersInDWBA", "MaxiGISAS", "CylindersInDWBABuilder", 10) self.add("RotatedPyramids", "MaxiGISAS", "RotatedPyramidsBuilder", 10) self.add("CoreShell", "MaxiGISAS", "CoreShellParticleBuilder", 10) - self.add("SquareLattice", "MaxiGISAS", "SquareLatticeBuilder", 10) + self.add("SquareLattice2D", "MaxiGISAS", "SquareLattice2DBuilder", 10) self.add("RadialParaCrystal", "MaxiGISAS", "RadialParaCrystalBuilder", 10) self.add("HexParaCrystal", "BasicGISAS", "HexParaCrystalBuilder", 1) self.add("SSCA", "MaxiGISAS", "SizeDistributionSSCAModelBuilder", 10) diff --git a/Tests/ReferenceData/Std/CenteredSquareLattice.int.gz b/Tests/ReferenceData/Std/CenteredSquareLattice2D.int.gz similarity index 100% rename from Tests/ReferenceData/Std/CenteredSquareLattice.int.gz rename to Tests/ReferenceData/Std/CenteredSquareLattice2D.int.gz diff --git a/Tests/ReferenceData/Std/FiniteSquareLattice.int.gz b/Tests/ReferenceData/Std/FiniteSquareLattice2D.int.gz similarity index 100% rename from Tests/ReferenceData/Std/FiniteSquareLattice.int.gz rename to Tests/ReferenceData/Std/FiniteSquareLattice2D.int.gz diff --git a/Tests/ReferenceData/Std/RotatedSquareLattice.int.gz b/Tests/ReferenceData/Std/RotatedSquareLattice2D.int.gz similarity index 100% rename from Tests/ReferenceData/Std/RotatedSquareLattice.int.gz rename to Tests/ReferenceData/Std/RotatedSquareLattice2D.int.gz diff --git a/Tests/ReferenceData/Std/SquareLattice.int.gz b/Tests/ReferenceData/Std/SquareLattice2D.int.gz similarity index 100% rename from Tests/ReferenceData/Std/SquareLattice.int.gz rename to Tests/ReferenceData/Std/SquareLattice2D.int.gz diff --git a/Tests/UnitTests/Core/Sample/CrystalTest.cpp b/Tests/UnitTests/Core/Sample/CrystalTest.cpp index b51b5850086d87266606bbf6eb974aa653222334..586ff6db1cd96f31d1171f652cef4147b70c894f 100644 --- a/Tests/UnitTests/Core/Sample/CrystalTest.cpp +++ b/Tests/UnitTests/Core/Sample/CrystalTest.cpp @@ -9,7 +9,7 @@ class CrystalTest : public ::testing::Test TEST_F(CrystalTest, getChildren) { - Lattice3D lattice = bake::createHexagonalLattice(1.0, 2.0); + Lattice3D lattice = bake::HexagonalLattice(1.0, 2.0); ParticleComposition composition; Crystal crystal(composition, lattice); diff --git a/Tests/UnitTests/Core/Sample/Lattice2DTest.cpp b/Tests/UnitTests/Core/Sample/Lattice2DTest.cpp index 1da1c24b164685eb64b316aebbbf7bb94963b6a8..37a0a14bd16dbbed45362d2008e45d13b999d4e3 100644 --- a/Tests/UnitTests/Core/Sample/Lattice2DTest.cpp +++ b/Tests/UnitTests/Core/Sample/Lattice2DTest.cpp @@ -8,7 +8,7 @@ class Lattice2DTest : public ::testing::Test TEST_F(Lattice2DTest, basicLattice) { const double length1(1.0), length2(2.0), angle(3.0), rotangle(0.7); - BasicLattice lattice(length1, length2, angle, rotangle); + BasicLattice2D lattice(length1, length2, angle, rotangle); EXPECT_EQ(lattice.length1(), length1); EXPECT_EQ(lattice.length2(), length2); EXPECT_EQ(lattice.latticeAngle(), angle); @@ -29,7 +29,7 @@ TEST_F(Lattice2DTest, basicLattice) TEST_F(Lattice2DTest, basicLatticeClone) { const double length1(1.0), length2(2.0), angle(3.0), xi(4.0); - BasicLattice lattice(length1, length2, angle, xi); + BasicLattice2D lattice(length1, length2, angle, xi); std::unique_ptr<Lattice2D> clone(lattice.clone()); EXPECT_EQ(clone->length1(), length1); @@ -41,7 +41,7 @@ TEST_F(Lattice2DTest, basicLatticeClone) TEST_F(Lattice2DTest, squareLatticeClone) { const double length(1.0), xi(4.0); - SquareLattice lattice(length, xi); + SquareLattice2D lattice(length, xi); std::unique_ptr<Lattice2D> clone(lattice.clone()); EXPECT_EQ(clone->length1(), length); @@ -61,7 +61,7 @@ TEST_F(Lattice2DTest, squareLatticeClone) TEST_F(Lattice2DTest, hexagonalLatticeClone) { const double length(1.0), xi(4.0); - HexagonalLattice lattice(length, xi); + HexagonalLattice2D lattice(length, xi); std::unique_ptr<Lattice2D> clone(lattice.clone()); EXPECT_EQ(clone->length1(), length); @@ -91,7 +91,7 @@ TEST_F(Lattice2DTest, onChange) Parent parent; const double length1(1.0), length2(2.0), angle(3.0), xi(4.0); - BasicLattice lattice(length1, length2, angle, xi); + BasicLattice2D lattice(length1, length2, angle, xi); parent.registerChild(&lattice); EXPECT_FALSE(parent.m_changed); diff --git a/Tests/UnitTests/Core/Sample/LatticeTest.cpp b/Tests/UnitTests/Core/Sample/LatticeTest.cpp index b381662e7c16c27772747cd70337bc31ee183245..361fc2a1954eb8bcd65b9f81b158de2255b3e961 100644 --- a/Tests/UnitTests/Core/Sample/LatticeTest.cpp +++ b/Tests/UnitTests/Core/Sample/LatticeTest.cpp @@ -134,7 +134,7 @@ TEST_F(LatticeTest, reciprocalLatticeVectorsWithinRadiusTest) TEST_F(LatticeTest, FCCLatticeTest) { // creates FCC lattice onto a new Lattice instance l1 - Lattice3D l1 = bake::createFCCLattice(1); + Lattice3D l1 = bake::FCCLattice(1); kvector_t fcc1(0, 0.5, 0.5), fcc2(0.5, 0, 0.5), fcc3(0.5, 0.5, 0); @@ -144,9 +144,9 @@ TEST_F(LatticeTest, FCCLatticeTest) } // tests hexagonal lattice creation -TEST_F(LatticeTest, HexagonalLatticeTest) +TEST_F(LatticeTest, HexagonalLattice2DTest) { - Lattice3D l1 = bake::createHexagonalLattice(1, 4); + Lattice3D l1 = bake::HexagonalLattice(1, 4); kvector_t tri1(1, 0.0, 0.0); kvector_t tri2(-1 / 2.0, std::sqrt(3.0) * 1 / 2.0, 0); diff --git a/Tests/UnitTests/Core/Sample/MesoCrystalTest.cpp b/Tests/UnitTests/Core/Sample/MesoCrystalTest.cpp index 3b9b73e6329a8a7af06a7a1c96068bf99ed08894..601e1e108a70afa93179c6c81df4878933529fd6 100644 --- a/Tests/UnitTests/Core/Sample/MesoCrystalTest.cpp +++ b/Tests/UnitTests/Core/Sample/MesoCrystalTest.cpp @@ -12,7 +12,7 @@ class MesoCrystalTest : public ::testing::Test TEST_F(MesoCrystalTest, getChildren) { - Lattice3D lattice = bake::createHexagonalLattice(1.0, 2.0); + Lattice3D lattice = bake::HexagonalLattice(1.0, 2.0); ParticleComposition composition; Crystal crystal(composition, lattice); MesoCrystal meso(crystal, FormFactorFullSphere(1.0)); diff --git a/Tests/UnitTests/Core/Sample/MultilayerAveragingTest.cpp b/Tests/UnitTests/Core/Sample/MultilayerAveragingTest.cpp index a47c90aa25e761d5cf7ccd5d0bc6f40a74e50dc1..90661ecbec8729755c3d79e2b6ff2103b0312462 100644 --- a/Tests/UnitTests/Core/Sample/MultilayerAveragingTest.cpp +++ b/Tests/UnitTests/Core/Sample/MultilayerAveragingTest.cpp @@ -28,8 +28,8 @@ TEST_F(MultilayerAveragingTest, AverageMultilayer) Particle particle(stone, cylinder_ff); // interferences - InterferenceFunction2DLattice interf_1(10.0, 10.0, 120.0, 0.0); - InterferenceFunction2DLattice interf_2(10.0, 10.0, 120.0, 0.0); + InterferenceFunction2DLattice interf_1(BasicLattice2D(10.0, 10.0, 120.0, 0.0)); + InterferenceFunction2DLattice interf_2(BasicLattice2D(10.0, 10.0, 120.0, 0.0)); // layouts ParticleLayout layout_1; diff --git a/Tests/UnitTests/GUI/TestParaCrystalItems.cpp b/Tests/UnitTests/GUI/TestParaCrystalItems.cpp index c7f62a945364ed69a01057cea34a97a92a13605f..65b9195171979bded6d1b2d78b9c05d427252239 100644 --- a/Tests/UnitTests/GUI/TestParaCrystalItems.cpp +++ b/Tests/UnitTests/GUI/TestParaCrystalItems.cpp @@ -17,9 +17,9 @@ TEST_F(TestParaCrystalItems, test_Para2D_fromToDomain) double length1(10.0), length2(20.0), angle(45.0), xi(90.0); double damping_length(1000.0), domain_size1(50.0), domain_size2(100.0); - InterferenceFunction2DParaCrystal orig(length1, length2, angle * Units::deg, xi * Units::deg, - damping_length); - orig.setDomainSizes(domain_size1, domain_size2); + InterferenceFunction2DParaCrystal orig( + BasicLattice2D(length1, length2, angle * Units::deg, xi * Units::deg), damping_length, + domain_size1, domain_size2); double clength_x(1.0), clength_y(2.0), gamma(3.0); orig.setProbabilityDistributions( @@ -41,10 +41,10 @@ TEST_F(TestParaCrystalItems, test_Para2D_fromToDomain) orig.integrationOverXi()); SessionItem* latticeItem = item.getGroupItem(InterferenceFunction2DLatticeItem::P_LATTICE_TYPE); - EXPECT_EQ(latticeItem->modelType(), "BasicLattice"); - EXPECT_EQ(latticeItem->getItemValue(BasicLatticeItem::P_LATTICE_LENGTH1).toDouble(), length1); - EXPECT_EQ(latticeItem->getItemValue(BasicLatticeItem::P_LATTICE_LENGTH2).toDouble(), length2); - EXPECT_EQ(latticeItem->getItemValue(BasicLatticeItem::P_LATTICE_ANGLE).toDouble(), angle); + EXPECT_EQ(latticeItem->modelType(), "BasicLattice2D"); + EXPECT_EQ(latticeItem->getItemValue(BasicLattice2DItem::P_LATTICE_LENGTH1).toDouble(), length1); + EXPECT_EQ(latticeItem->getItemValue(BasicLattice2DItem::P_LATTICE_LENGTH2).toDouble(), length2); + EXPECT_EQ(latticeItem->getItemValue(BasicLattice2DItem::P_LATTICE_ANGLE).toDouble(), angle); EXPECT_EQ(latticeItem->getItemValue(Lattice2DItem::P_LATTICE_ROTATION_ANGLE).toDouble(), xi); SessionItem* pdfItem1 = item.getGroupItem(InterferenceFunction2DParaCrystalItem::P_PDF1); diff --git a/Tests/UnitTests/GUI/TestParticleLayoutItem.h b/Tests/UnitTests/GUI/TestParticleLayoutItem.h index 07e661c7f6163bca6f4c4df1942b7e6dec8448e7..6cc11f4041d13e881d17e913db9d6f5d77c14fb0 100644 --- a/Tests/UnitTests/GUI/TestParticleLayoutItem.h +++ b/Tests/UnitTests/GUI/TestParticleLayoutItem.h @@ -68,8 +68,8 @@ TEST_F(TestParticleLayoutItem, densityValue) auto& hexItem = interference->groupItem<Lattice2DItem>(InterferenceFunction2DLatticeItem::P_LATTICE_TYPE); - EXPECT_EQ(hexItem.modelType(), "HexagonalLattice"); - double length = hexItem.getItemValue(HexagonalLatticeItem::P_LATTICE_LENGTH).toDouble(); + EXPECT_EQ(hexItem.modelType(), "HexagonalLattice2D"); + double length = hexItem.getItemValue(HexagonalLattice2DItem::P_LATTICE_LENGTH).toDouble(); double expectedDensity = 1. / (length * length * std::sin(M_TWOPI / 3.0)); EXPECT_DOUBLE_EQ(1.0 / hexItem.unitCellArea(), expectedDensity); EXPECT_DOUBLE_EQ(layout->getItemValue(ParticleLayoutItem::P_TOTAL_DENSITY).toDouble(), @@ -77,18 +77,18 @@ TEST_F(TestParticleLayoutItem, densityValue) // changing hexagonal lattice length length = 100.0; - hexItem.setItemValue(HexagonalLatticeItem::P_LATTICE_LENGTH, length); + hexItem.setItemValue(HexagonalLattice2DItem::P_LATTICE_LENGTH, length); expectedDensity = 1. / (length * length * std::sin(M_TWOPI / 3.0)); EXPECT_DOUBLE_EQ(layout->getItemValue(ParticleLayoutItem::P_TOTAL_DENSITY).toDouble(), expectedDensity); // changing lattice type to square and checking new surface density interference->setGroupProperty(InterferenceFunction2DLatticeItem::P_LATTICE_TYPE, - "SquareLattice"); + "SquareLattice2D"); auto& squareItem = interference->groupItem<Lattice2DItem>(InterferenceFunction2DLatticeItem::P_LATTICE_TYPE); - EXPECT_EQ(squareItem.modelType(), "SquareLattice"); - length = squareItem.getItemValue(SquareLatticeItem::P_LATTICE_LENGTH).toDouble(); + EXPECT_EQ(squareItem.modelType(), "SquareLattice2D"); + length = squareItem.getItemValue(SquareLattice2DItem::P_LATTICE_LENGTH).toDouble(); expectedDensity = 1. / (length * length); EXPECT_DOUBLE_EQ(1.0 / squareItem.unitCellArea(), expectedDensity); EXPECT_DOUBLE_EQ(layout->getItemValue(ParticleLayoutItem::P_TOTAL_DENSITY).toDouble(), @@ -96,7 +96,7 @@ TEST_F(TestParticleLayoutItem, densityValue) // changing square lattice length length = 200.0; - squareItem.setItemValue(SquareLatticeItem::P_LATTICE_LENGTH, length); + squareItem.setItemValue(SquareLattice2DItem::P_LATTICE_LENGTH, length); expectedDensity = 1. / (length * length); EXPECT_DOUBLE_EQ(layout->getItemValue(ParticleLayoutItem::P_TOTAL_DENSITY).toDouble(), expectedDensity); diff --git a/auto/Wrap/doxygenBase.i b/auto/Wrap/doxygenBase.i index cd2956ee9006015f5a178be32b74cd2f67922ac9..cc0a38f05397b628bcd19a5ef16e9e13b3ec0744 100644 --- a/auto/Wrap/doxygenBase.i +++ b/auto/Wrap/doxygenBase.i @@ -937,7 +937,7 @@ Returns assigned PolarizationHandler. %feature("docstring") SimulationElement::getMeanKf "kvector_t SimulationElement::getMeanKf() const "; -%feature("docstring") SimulationElement::getMeanQ "kvector_t SimulationElement::getMeanQ() const +%feature("docstring") SimulationElement::meanQ "kvector_t SimulationElement::meanQ() const "; %feature("docstring") SimulationElement::getQ "kvector_t SimulationElement::getQ(double x, double y) const diff --git a/auto/Wrap/doxygenParam.i b/auto/Wrap/doxygenParam.i index 1ec208aa17de078ba0de5f7e11c2b65bda4f258b..7ba27560eb5d6dfb6b4a260aec9ea4f5a64046df 100644 --- a/auto/Wrap/doxygenParam.i +++ b/auto/Wrap/doxygenParam.i @@ -484,7 +484,7 @@ C++ includes: INodeVisitor.h %feature("docstring") INodeVisitor::~INodeVisitor "virtual INodeVisitor::~INodeVisitor() "; -%feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const BasicLattice *) +%feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const BasicLattice2D *) "; %feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const Beam *) @@ -709,7 +709,7 @@ C++ includes: INodeVisitor.h %feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const GISASSimulation *) "; -%feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const HexagonalLattice *) +%feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const HexagonalLattice2D *) "; %feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const IAbstractParticle *) @@ -850,7 +850,7 @@ C++ includes: INodeVisitor.h %feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const SphericalDetector *) "; -%feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const SquareLattice *) +%feature("docstring") INodeVisitor::visit "virtual void INodeVisitor::visit(const SquareLattice2D *) "; %feature("docstring") INodeVisitor::depth "int INodeVisitor::depth() const diff --git a/auto/Wrap/doxygenSample.i b/auto/Wrap/doxygenSample.i index 02230198739f71a2f7314ef1d951a37698589a29..f9a62be3c85d961613c90e913feb026b6718250d 100644 --- a/auto/Wrap/doxygenSample.i +++ b/auto/Wrap/doxygenSample.i @@ -139,28 +139,28 @@ C++ includes: ParaCrystalBuilder.h "; -// File: classBasicLattice.xml -%feature("docstring") BasicLattice ""; +// File: classBasicLattice2D.xml +%feature("docstring") BasicLattice2D ""; -%feature("docstring") BasicLattice::BasicLattice "BasicLattice::BasicLattice(double length1, double length2, double angle, double xi) +%feature("docstring") BasicLattice2D::BasicLattice2D "BasicLattice2D::BasicLattice2D(double length1, double length2, double angle, double xi) "; -%feature("docstring") BasicLattice::clone "BasicLattice * BasicLattice::clone() const +%feature("docstring") BasicLattice2D::clone "BasicLattice2D * BasicLattice2D::clone() const "; -%feature("docstring") BasicLattice::accept "void BasicLattice::accept(INodeVisitor *visitor) const final +%feature("docstring") BasicLattice2D::accept "void BasicLattice2D::accept(INodeVisitor *visitor) const final "; -%feature("docstring") BasicLattice::length1 "virtual double BasicLattice::length1() const +%feature("docstring") BasicLattice2D::length1 "virtual double BasicLattice2D::length1() const "; -%feature("docstring") BasicLattice::length2 "virtual double BasicLattice::length2() const +%feature("docstring") BasicLattice2D::length2 "virtual double BasicLattice2D::length2() const "; -%feature("docstring") BasicLattice::latticeAngle "virtual double BasicLattice::latticeAngle() const +%feature("docstring") BasicLattice2D::latticeAngle "virtual double BasicLattice2D::latticeAngle() const "; -%feature("docstring") BasicLattice::unitCellArea "double BasicLattice::unitCellArea() const +%feature("docstring") BasicLattice2D::unitCellArea "double BasicLattice2D::unitCellArea() const "; @@ -222,15 +222,15 @@ C++ includes: BoxCompositionBuilder.h "; -// File: classBoxesSquareLatticeBuilder.xml -%feature("docstring") BoxesSquareLatticeBuilder " +// File: classBoxesSquareLattice2DBuilder.xml +%feature("docstring") BoxesSquareLattice2DBuilder " Builds sample: square boxes in a square lattice C++ includes: BoxesSquareLatticeBuilder.h "; -%feature("docstring") BoxesSquareLatticeBuilder::buildSample "MultiLayer * BoxesSquareLatticeBuilder::buildSample() const +%feature("docstring") BoxesSquareLattice2DBuilder::buildSample "MultiLayer * BoxesSquareLattice2DBuilder::buildSample() const "; @@ -246,15 +246,15 @@ C++ includes: BoxCompositionBuilder.h "; -// File: classCenteredSquareLatticeBuilder.xml -%feature("docstring") CenteredSquareLatticeBuilder " +// File: classCenteredSquareLattice2DBuilder.xml +%feature("docstring") CenteredSquareLattice2DBuilder " Builds sample: 2D lattice with different disorder (IsGISAXS example #6). C++ includes: TwoDimLatticeBuilder.h "; -%feature("docstring") CenteredSquareLatticeBuilder::buildSample "MultiLayer * CenteredSquareLatticeBuilder::buildSample() const +%feature("docstring") CenteredSquareLattice2DBuilder::buildSample "MultiLayer * CenteredSquareLattice2DBuilder::buildSample() const "; @@ -436,7 +436,7 @@ Strategy class to compute the total scattering from a particle layout in the dec C++ includes: DecouplingApproximationStrategy.h "; -%feature("docstring") DecouplingApproximationStrategy::DecouplingApproximationStrategy "DecouplingApproximationStrategy::DecouplingApproximationStrategy(const std::vector< FormFactorCoherentSum > &weighted_formfactors, const IInterferenceFunction *p_iff, SimulationOptions sim_params, bool polarized) +%feature("docstring") DecouplingApproximationStrategy::DecouplingApproximationStrategy "DecouplingApproximationStrategy::DecouplingApproximationStrategy(const std::vector< FormFactorCoherentSum > &weighted_formfactors, const IInterferenceFunction *iff, SimulationOptions sim_params, bool polarized) "; @@ -582,15 +582,15 @@ C++ includes: DecouplingApproximationStrategy.h "; -// File: classFiniteSquareLatticeBuilder.xml -%feature("docstring") FiniteSquareLatticeBuilder " +// File: classFiniteSquareLattice2DBuilder.xml +%feature("docstring") FiniteSquareLattice2DBuilder " Builds sample: 2D finite lattice with thermal disorder. C++ includes: TwoDimLatticeBuilder.h "; -%feature("docstring") FiniteSquareLatticeBuilder::buildSample "MultiLayer * FiniteSquareLatticeBuilder::buildSample() const +%feature("docstring") FiniteSquareLattice2DBuilder::buildSample "MultiLayer * FiniteSquareLattice2DBuilder::buildSample() const "; @@ -2921,28 +2921,28 @@ C++ includes: PercusYevickBuilder.h // File: classMatrixFresnelMap_1_1HashKVector.xml -// File: classHexagonalLattice.xml -%feature("docstring") HexagonalLattice ""; +// File: classHexagonalLattice2D.xml +%feature("docstring") HexagonalLattice2D ""; -%feature("docstring") HexagonalLattice::HexagonalLattice "HexagonalLattice::HexagonalLattice(double length, double xi) +%feature("docstring") HexagonalLattice2D::HexagonalLattice2D "HexagonalLattice2D::HexagonalLattice2D(double length, double xi) "; -%feature("docstring") HexagonalLattice::clone "HexagonalLattice * HexagonalLattice::clone() const +%feature("docstring") HexagonalLattice2D::clone "HexagonalLattice2D * HexagonalLattice2D::clone() const "; -%feature("docstring") HexagonalLattice::accept "void HexagonalLattice::accept(INodeVisitor *visitor) const final +%feature("docstring") HexagonalLattice2D::accept "void HexagonalLattice2D::accept(INodeVisitor *visitor) const final "; -%feature("docstring") HexagonalLattice::length1 "virtual double HexagonalLattice::length1() const +%feature("docstring") HexagonalLattice2D::length1 "virtual double HexagonalLattice2D::length1() const "; -%feature("docstring") HexagonalLattice::length2 "virtual double HexagonalLattice::length2() const +%feature("docstring") HexagonalLattice2D::length2 "virtual double HexagonalLattice2D::length2() const "; -%feature("docstring") HexagonalLattice::latticeAngle "double HexagonalLattice::latticeAngle() const +%feature("docstring") HexagonalLattice2D::latticeAngle "double HexagonalLattice2D::latticeAngle() const "; -%feature("docstring") HexagonalLattice::unitCellArea "double HexagonalLattice::unitCellArea() const +%feature("docstring") HexagonalLattice2D::unitCellArea "double HexagonalLattice2D::unitCellArea() const "; @@ -3602,7 +3602,7 @@ Instantiation of child classes takes place in LayoutStrategyBuilder::createStrat C++ includes: IInterferenceFunctionStrategy.h "; -%feature("docstring") IInterferenceFunctionStrategy::IInterferenceFunctionStrategy "IInterferenceFunctionStrategy::IInterferenceFunctionStrategy(const std::vector< FormFactorCoherentSum > &weighted_formfactors, const IInterferenceFunction *p_iff, const SimulationOptions &sim_params, bool polarized) +%feature("docstring") IInterferenceFunctionStrategy::IInterferenceFunctionStrategy "IInterferenceFunctionStrategy::IInterferenceFunctionStrategy(const std::vector< FormFactorCoherentSum > &weighted_formfactors, const SimulationOptions &sim_params, bool polarized) "; %feature("docstring") IInterferenceFunctionStrategy::~IInterferenceFunctionStrategy "IInterferenceFunctionStrategy::~IInterferenceFunctionStrategy() @@ -3740,26 +3740,6 @@ Interference function of a 2D lattice. C++ includes: InterferenceFunction2DLattice.h "; -%feature("docstring") InterferenceFunction2DLattice::InterferenceFunction2DLattice "InterferenceFunction2DLattice::InterferenceFunction2DLattice(double length_1, double length_2, double alpha, double xi) - -Constructor of two-dimensional interference function. - -Parameters: ------------ - -length_1: -length of the first basis vector in nanometers - -length_2: -length of the second basis vector in nanometers - -alpha: -angle between the basis vectors in radians - -xi: -rotation of the lattice with respect to the x-axis (beam direction) in radians -"; - %feature("docstring") InterferenceFunction2DLattice::InterferenceFunction2DLattice "InterferenceFunction2DLattice::InterferenceFunction2DLattice(const Lattice2D &lattice) "; @@ -3817,29 +3797,6 @@ C++ includes: InterferenceFunction2DParaCrystal.h %feature("docstring") InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal "InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(const Lattice2D &lattice, double damping_length, double domain_size_1, double domain_size_2) "; -%feature("docstring") InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal "InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(double length_1, double length_2, double alpha, double xi, double damping_length) - -Constructor of interference function of two-dimensional paracrystal. - -Parameters: ------------ - -length_1: -length of first lattice vector in nanometers - -length_2: -length of second lattice vector in nanometers - -alpha: -angle between lattice vectors in radians - -xi: -rotation of lattice with respect to x-axis (beam direction) in radians - -damping_length: -the damping (coherence) length of the paracrystal in nanometers -"; - %feature("docstring") InterferenceFunction2DParaCrystal::~InterferenceFunction2DParaCrystal "InterferenceFunction2DParaCrystal::~InterferenceFunction2DParaCrystal() final "; @@ -4071,32 +4028,6 @@ N_2: number of lattice cells in the second lattice direction "; -%feature("docstring") InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice "InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(double length_1, double length_2, double alpha, double xi, unsigned N_1, unsigned N_2) - -Constructor of two-dimensional finite lattice interference function. - -Parameters: ------------ - -length_1: -length of first lattice vector in nanometers - -length_2: -length of second lattice vector in nanometers - -alpha: -angle between lattice vectors in radians - -xi: -rotation of lattice with respect to x-axis (beam direction) in radians - -N_1: -number of lattice cells in the first lattice direction - -N_2: -number of lattice cells in the second lattice direction -"; - %feature("docstring") InterferenceFunctionFinite2DLattice::~InterferenceFunctionFinite2DLattice "InterferenceFunctionFinite2DLattice::~InterferenceFunctionFinite2DLattice() final "; @@ -6570,15 +6501,15 @@ C++ includes: ParticleDistributionsBuilder.h "; -// File: classRotatedSquareLatticeBuilder.xml -%feature("docstring") RotatedSquareLatticeBuilder " +// File: classRotatedSquareLattice2DBuilder.xml +%feature("docstring") RotatedSquareLattice2DBuilder " Builds sample: 2D lattice with different disorder (IsGISAXS example #6). C++ includes: TwoDimLatticeBuilder.h "; -%feature("docstring") RotatedSquareLatticeBuilder::buildSample "MultiLayer * RotatedSquareLatticeBuilder::buildSample() const +%feature("docstring") RotatedSquareLattice2DBuilder::buildSample "MultiLayer * RotatedSquareLattice2DBuilder::buildSample() const "; @@ -7349,73 +7280,43 @@ C++ includes: ParticleDistributionsBuilder.h "; -// File: classSquareLattice.xml -%feature("docstring") SquareLattice ""; +// File: classSquareLattice2D.xml +%feature("docstring") SquareLattice2D ""; -%feature("docstring") SquareLattice::SquareLattice "SquareLattice::SquareLattice(double length, double xi=0.0) +%feature("docstring") SquareLattice2D::SquareLattice2D "SquareLattice2D::SquareLattice2D(double length, double xi=0.0) "; -%feature("docstring") SquareLattice::clone "SquareLattice * SquareLattice::clone() const +%feature("docstring") SquareLattice2D::clone "SquareLattice2D * SquareLattice2D::clone() const "; -%feature("docstring") SquareLattice::accept "void SquareLattice::accept(INodeVisitor *visitor) const final +%feature("docstring") SquareLattice2D::accept "void SquareLattice2D::accept(INodeVisitor *visitor) const final "; -%feature("docstring") SquareLattice::length1 "virtual double SquareLattice::length1() const +%feature("docstring") SquareLattice2D::length1 "virtual double SquareLattice2D::length1() const "; -%feature("docstring") SquareLattice::length2 "virtual double SquareLattice::length2() const +%feature("docstring") SquareLattice2D::length2 "virtual double SquareLattice2D::length2() const "; -%feature("docstring") SquareLattice::latticeAngle "double SquareLattice::latticeAngle() const +%feature("docstring") SquareLattice2D::latticeAngle "double SquareLattice2D::latticeAngle() const "; -%feature("docstring") SquareLattice::unitCellArea "double SquareLattice::unitCellArea() const +%feature("docstring") SquareLattice2D::unitCellArea "double SquareLattice2D::unitCellArea() const "; -// File: classSquareLatticeBuilder.xml -%feature("docstring") SquareLatticeBuilder " +// File: classSquareLattice2DBuilder.xml +%feature("docstring") SquareLattice2DBuilder " Builds sample: 2D lattice with different disorder (IsGISAXS example #6). C++ includes: TwoDimLatticeBuilder.h "; -%feature("docstring") SquareLatticeBuilder::SquareLatticeBuilder "SquareLatticeBuilder::SquareLatticeBuilder() -"; - -%feature("docstring") SquareLatticeBuilder::buildSample "MultiLayer * SquareLatticeBuilder::buildSample() const -"; - - -// File: classSSCAHelper.xml -%feature("docstring") SSCAHelper " - -Helper class for SSCApproximationStrategy, offering some methods, shared between the scalar and polarized scattering calculations - -C++ includes: SSCAHelper.h -"; - -%feature("docstring") SSCAHelper::SSCAHelper "SSCAHelper::SSCAHelper(double kappa) -"; - -%feature("docstring") SSCAHelper::init "void SSCAHelper::init(const std::vector< FormFactorCoherentSum > &ff_wrappers) -"; - -%feature("docstring") SSCAHelper::getCharacteristicSizeCoupling "complex_t SSCAHelper::getCharacteristicSizeCoupling(double qp, const std::vector< FormFactorCoherentSum > &ff_wrappers) const -"; - -%feature("docstring") SSCAHelper::getCharacteristicDistribution "complex_t SSCAHelper::getCharacteristicDistribution(double qp, const IInterferenceFunction *p_iff) const -"; - -%feature("docstring") SSCAHelper::calculatePositionOffsetPhase "complex_t SSCAHelper::calculatePositionOffsetPhase(double qp, double radial_extension) const +%feature("docstring") SquareLattice2DBuilder::SquareLattice2DBuilder "SquareLattice2DBuilder::SquareLattice2DBuilder() "; -%feature("docstring") SSCAHelper::getMeanFormfactorNorm "complex_t SSCAHelper::getMeanFormfactorNorm(double qp, const std::vector< complex_t > &precomputed_ff, const std::vector< FormFactorCoherentSum > &ff_wrappers) const -"; - -%feature("docstring") SSCAHelper::getMeanFormfactors "void SSCAHelper::getMeanFormfactors(double qp, Eigen::Matrix2cd &ff_orig, Eigen::Matrix2cd &ff_conj, const FormFactorPrecompute::matrixFFVector_t &precomputed_ff, const std::vector< FormFactorCoherentSum > &ff_wrappers) const +%feature("docstring") SquareLattice2DBuilder::buildSample "MultiLayer * SquareLattice2DBuilder::buildSample() const "; @@ -7427,7 +7328,7 @@ Strategy class to compute the total scattering from a particle layout in the siz C++ includes: SSCApproximationStrategy.h "; -%feature("docstring") SSCApproximationStrategy::SSCApproximationStrategy "SSCApproximationStrategy::SSCApproximationStrategy(const std::vector< FormFactorCoherentSum > &weighted_formfactors, const IInterferenceFunction *p_iff, SimulationOptions sim_params, bool polarized, double kappa) +%feature("docstring") SSCApproximationStrategy::SSCApproximationStrategy "SSCApproximationStrategy::SSCApproximationStrategy(const std::vector< FormFactorCoherentSum > &weighted_formfactors, const InterferenceFunctionRadialParaCrystal *iff, SimulationOptions sim_params, bool polarized, double kappa) "; @@ -7619,13 +7520,16 @@ C++ includes: ZLimits.h // File: namespace_0d115.xml -// File: namespace_0d141.xml +// File: namespace_0d139.xml + +// File: namespace_0d143.xml -// File: namespace_0d145.xml +// File: namespace_0d147.xml -// File: namespace_0d149.xml + +// File: namespace_0d157.xml // File: namespace_0d159.xml @@ -7637,40 +7541,40 @@ C++ includes: ZLimits.h // File: namespace_0d161.xml -// File: namespace_0d163.xml +// File: namespace_0d171.xml -// File: namespace_0d173.xml +// File: namespace_0d192.xml // File: namespace_0d194.xml -// File: namespace_0d196.xml +// File: namespace_0d2.xml -// File: namespace_0d2.xml +// File: namespace_0d204.xml -// File: namespace_0d206.xml +// File: namespace_0d220.xml // File: namespace_0d222.xml -// File: namespace_0d224.xml +// File: namespace_0d229.xml -// File: namespace_0d231.xml +// File: namespace_0d247.xml -// File: namespace_0d249.xml +// File: namespace_0d25.xml -// File: namespace_0d25.xml +// File: namespace_0d255.xml -// File: namespace_0d257.xml +// File: namespace_0d265.xml // File: namespace_0d267.xml @@ -7685,7 +7589,7 @@ C++ includes: ZLimits.h // File: namespace_0d273.xml -// File: namespace_0d275.xml +// File: namespace_0d277.xml // File: namespace_0d279.xml @@ -7694,25 +7598,22 @@ C++ includes: ZLimits.h // File: namespace_0d281.xml -// File: namespace_0d283.xml - +// File: namespace_0d293.xml -// File: namespace_0d295.xml +// File: namespace_0d299.xml -// File: namespace_0d301.xml - -// File: namespace_0d305.xml +// File: namespace_0d303.xml // File: namespace_0d31.xml -// File: namespace_0d323.xml +// File: namespace_0d321.xml -// File: namespace_0d342.xml +// File: namespace_0d340.xml // File: namespace_0d37.xml @@ -7725,32 +7626,32 @@ C++ includes: ZLimits.h // File: namespacebake.xml -%feature("docstring") bake::createCubicLattice "Lattice3D bake::createCubicLattice(double a) +%feature("docstring") bake::CubicLattice "Lattice3D bake::CubicLattice(double a) Returns a primitive cubic (cP) lattice with edge length a. "; -%feature("docstring") bake::createFCCLattice "Lattice3D bake::createFCCLattice(double a) +%feature("docstring") bake::FCCLattice "Lattice3D bake::FCCLattice(double a) Returns a face-centered cubic (cF) lattice with edge length a. "; -%feature("docstring") bake::createHexagonalLattice "Lattice3D bake::createHexagonalLattice(double a, double c) +%feature("docstring") bake::HexagonalLattice "Lattice3D bake::HexagonalLattice(double a, double c) Returns a primitive hexagonal (hP) lattice with hexagonal edge a and height c. "; -%feature("docstring") bake::createHCPLattice "Lattice3D bake::createHCPLattice(double a, double c) +%feature("docstring") bake::HCPLattice "Lattice3D bake::HCPLattice(double a, double c) TODO: Clarify how this is meant: HCP is not a Bravais lattice. "; -%feature("docstring") bake::createTetragonalLattice "Lattice3D bake::createTetragonalLattice(double a, double c) +%feature("docstring") bake::TetragonalLattice "Lattice3D bake::TetragonalLattice(double a, double c) Returns a primitive tetragonal (tP) lattice with square base edge a and height c. "; -%feature("docstring") bake::createBCTLattice "Lattice3D bake::createBCTLattice(double a, double c) +%feature("docstring") bake::BCTLattice "Lattice3D bake::BCTLattice(double a, double c) Returns a body-centered cubic (cI) lattice with edge length a. TODO: Clarify meaning of c "; @@ -8287,12 +8188,6 @@ Used by the hard sphere and by several soft sphere classes. // File: IInterferenceFunctionStrategy_8h.xml -// File: SSCAHelper_8cpp.xml - - -// File: SSCAHelper_8h.xml - - // File: SSCApproximationStrategy_8cpp.xml diff --git a/auto/Wrap/libBornAgainParam.py b/auto/Wrap/libBornAgainParam.py index eb21700ad62a1840d19f50014b7fa8d5a8a0a743..f5671728a2a6e0b4682340405a6bf243fb8ac97f 100644 --- a/auto/Wrap/libBornAgainParam.py +++ b/auto/Wrap/libBornAgainParam.py @@ -3295,7 +3295,7 @@ class INodeVisitor(object): def visit(self, *args): r""" - visit(INodeVisitor self, BasicLattice const * arg2) + visit(INodeVisitor self, BasicLattice2D const * arg2) visit(INodeVisitor self, Beam const * arg2) visit(INodeVisitor self, ConstantBackground const * arg2) visit(INodeVisitor self, ConvolutionDetectorResolution const * arg2) @@ -3370,7 +3370,7 @@ class INodeVisitor(object): visit(INodeVisitor self, FTDistribution2DGauss const * arg2) visit(INodeVisitor self, FTDistribution2DVoigt const * arg2) visit(INodeVisitor self, GISASSimulation const * arg2) - visit(INodeVisitor self, HexagonalLattice const * arg2) + visit(INodeVisitor self, HexagonalLattice2D const * arg2) visit(INodeVisitor self, IAbstractParticle const * arg2) visit(INodeVisitor self, IClusteredParticles const * arg2) visit(INodeVisitor self, IdentityRotation const * arg2) @@ -3417,8 +3417,8 @@ class INodeVisitor(object): visit(INodeVisitor self, SpecularDetector1D const * arg2) visit(INodeVisitor self, SpecularSimulation const * arg2) visit(INodeVisitor self, SphericalDetector const * arg2) - visit(INodeVisitor self, SquareLattice const * arg2) - virtual void INodeVisitor::visit(const SquareLattice *) + visit(INodeVisitor self, SquareLattice2D const * arg2) + virtual void INodeVisitor::visit(const SquareLattice2D *) """ return _libBornAgainParam.INodeVisitor_visit(self, *args) diff --git a/auto/Wrap/libBornAgainParam_wrap.cpp b/auto/Wrap/libBornAgainParam_wrap.cpp index 29087bfebd50fd9fab8bd1879376f7dafe6d8c05..2d17b834aa6522fe53413359091d2e922a6b6156 100644 --- a/auto/Wrap/libBornAgainParam_wrap.cpp +++ b/auto/Wrap/libBornAgainParam_wrap.cpp @@ -3098,7 +3098,7 @@ namespace Swig { /* -------- TYPES TABLE (BEGIN) -------- */ #define SWIGTYPE_p_Attributes swig_types[0] -#define SWIGTYPE_p_BasicLattice swig_types[1] +#define SWIGTYPE_p_BasicLattice2D swig_types[1] #define SWIGTYPE_p_BasicVector3DT_double_t swig_types[2] #define SWIGTYPE_p_BasicVector3DT_int_t swig_types[3] #define SWIGTYPE_p_BasicVector3DT_std__complexT_double_t_t swig_types[4] @@ -3176,7 +3176,7 @@ namespace Swig { #define SWIGTYPE_p_FormFactorTruncatedSpheroid swig_types[76] #define SWIGTYPE_p_FormFactorWeighted swig_types[77] #define SWIGTYPE_p_GISASSimulation swig_types[78] -#define SWIGTYPE_p_HexagonalLattice swig_types[79] +#define SWIGTYPE_p_HexagonalLattice2D swig_types[79] #define SWIGTYPE_p_IAbstractParticle swig_types[80] #define SWIGTYPE_p_ICloneable swig_types[81] #define SWIGTYPE_p_IClusteredParticles swig_types[82] @@ -3241,7 +3241,7 @@ namespace Swig { #define SWIGTYPE_p_SpecularDetector1D swig_types[141] #define SWIGTYPE_p_SpecularSimulation swig_types[142] #define SWIGTYPE_p_SphericalDetector swig_types[143] -#define SWIGTYPE_p_SquareLattice swig_types[144] +#define SWIGTYPE_p_SquareLattice2D swig_types[144] #define SWIGTYPE_p_allocator_type swig_types[145] #define SWIGTYPE_p_char swig_types[146] #define SWIGTYPE_p_difference_type swig_types[147] @@ -36892,7 +36892,7 @@ fail: SWIGINTERN PyObject *_wrap_INodeVisitor_visit__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; INodeVisitor *arg1 = (INodeVisitor *) 0 ; - BasicLattice *arg2 = (BasicLattice *) 0 ; + BasicLattice2D *arg2 = (BasicLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; @@ -36904,12 +36904,12 @@ SWIGINTERN PyObject *_wrap_INodeVisitor_visit__SWIG_0(PyObject *SWIGUNUSEDPARM(s SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "INodeVisitor_visit" "', argument " "1"" of type '" "INodeVisitor *""'"); } arg1 = reinterpret_cast< INodeVisitor * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_BasicLattice, 0 | 0 ); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_BasicLattice2D, 0 | 0 ); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "INodeVisitor_visit" "', argument " "2"" of type '" "BasicLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "INodeVisitor_visit" "', argument " "2"" of type '" "BasicLattice2D const *""'"); } - arg2 = reinterpret_cast< BasicLattice * >(argp2); - (arg1)->visit((BasicLattice const *)arg2); + arg2 = reinterpret_cast< BasicLattice2D * >(argp2); + (arg1)->visit((BasicLattice2D const *)arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -38992,7 +38992,7 @@ fail: SWIGINTERN PyObject *_wrap_INodeVisitor_visit__SWIG_75(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; INodeVisitor *arg1 = (INodeVisitor *) 0 ; - HexagonalLattice *arg2 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg2 = (HexagonalLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; @@ -39004,12 +39004,12 @@ SWIGINTERN PyObject *_wrap_INodeVisitor_visit__SWIG_75(PyObject *SWIGUNUSEDPARM( SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "INodeVisitor_visit" "', argument " "1"" of type '" "INodeVisitor *""'"); } arg1 = reinterpret_cast< INodeVisitor * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "INodeVisitor_visit" "', argument " "2"" of type '" "HexagonalLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "INodeVisitor_visit" "', argument " "2"" of type '" "HexagonalLattice2D const *""'"); } - arg2 = reinterpret_cast< HexagonalLattice * >(argp2); - (arg1)->visit((HexagonalLattice const *)arg2); + arg2 = reinterpret_cast< HexagonalLattice2D * >(argp2); + (arg1)->visit((HexagonalLattice2D const *)arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -40308,7 +40308,7 @@ fail: SWIGINTERN PyObject *_wrap_INodeVisitor_visit__SWIG_122(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; INodeVisitor *arg1 = (INodeVisitor *) 0 ; - SquareLattice *arg2 = (SquareLattice *) 0 ; + SquareLattice2D *arg2 = (SquareLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; @@ -40320,12 +40320,12 @@ SWIGINTERN PyObject *_wrap_INodeVisitor_visit__SWIG_122(PyObject *SWIGUNUSEDPARM SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "INodeVisitor_visit" "', argument " "1"" of type '" "INodeVisitor *""'"); } arg1 = reinterpret_cast< INodeVisitor * >(argp1); - res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_SquareLattice, 0 | 0 ); + res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_SquareLattice2D, 0 | 0 ); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "INodeVisitor_visit" "', argument " "2"" of type '" "SquareLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "INodeVisitor_visit" "', argument " "2"" of type '" "SquareLattice2D const *""'"); } - arg2 = reinterpret_cast< SquareLattice * >(argp2); - (arg1)->visit((SquareLattice const *)arg2); + arg2 = reinterpret_cast< SquareLattice2D * >(argp2); + (arg1)->visit((SquareLattice2D const *)arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -40348,7 +40348,7 @@ SWIGINTERN PyObject *_wrap_INodeVisitor_visit(PyObject *self, PyObject *args) { _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; - int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_BasicLattice, 0); + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_BasicLattice2D, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_INodeVisitor_visit__SWIG_0(self, argc, argv); @@ -41398,7 +41398,7 @@ SWIGINTERN PyObject *_wrap_INodeVisitor_visit(PyObject *self, PyObject *args) { _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; - int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_HexagonalLattice, 0); + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_HexagonalLattice2D, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_INodeVisitor_visit__SWIG_75(self, argc, argv); @@ -42056,7 +42056,7 @@ SWIGINTERN PyObject *_wrap_INodeVisitor_visit(PyObject *self, PyObject *args) { _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; - int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_SquareLattice, 0); + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_SquareLattice2D, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_INodeVisitor_visit__SWIG_122(self, argc, argv); @@ -42067,7 +42067,7 @@ SWIGINTERN PyObject *_wrap_INodeVisitor_visit(PyObject *self, PyObject *args) { fail: SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'INodeVisitor_visit'.\n" " Possible C/C++ prototypes are:\n" - " INodeVisitor::visit(BasicLattice const *)\n" + " INodeVisitor::visit(BasicLattice2D const *)\n" " INodeVisitor::visit(Beam const *)\n" " INodeVisitor::visit(ConstantBackground const *)\n" " INodeVisitor::visit(ConvolutionDetectorResolution const *)\n" @@ -42142,7 +42142,7 @@ fail: " INodeVisitor::visit(FTDistribution2DGauss const *)\n" " INodeVisitor::visit(FTDistribution2DVoigt const *)\n" " INodeVisitor::visit(GISASSimulation const *)\n" - " INodeVisitor::visit(HexagonalLattice const *)\n" + " INodeVisitor::visit(HexagonalLattice2D const *)\n" " INodeVisitor::visit(IAbstractParticle const *)\n" " INodeVisitor::visit(IClusteredParticles const *)\n" " INodeVisitor::visit(IdentityRotation const *)\n" @@ -42189,7 +42189,7 @@ fail: " INodeVisitor::visit(SpecularDetector1D const *)\n" " INodeVisitor::visit(SpecularSimulation const *)\n" " INodeVisitor::visit(SphericalDetector const *)\n" - " INodeVisitor::visit(SquareLattice const *)\n"); + " INodeVisitor::visit(SquareLattice2D const *)\n"); return 0; } @@ -51147,7 +51147,7 @@ static PyMethodDef SwigMethods[] = { "\n" ""}, { "INodeVisitor_visit", _wrap_INodeVisitor_visit, METH_VARARGS, "\n" - "INodeVisitor_visit(INodeVisitor self, BasicLattice const * arg2)\n" + "INodeVisitor_visit(INodeVisitor self, BasicLattice2D const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, Beam const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, ConstantBackground const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, ConvolutionDetectorResolution const * arg2)\n" @@ -51222,7 +51222,7 @@ static PyMethodDef SwigMethods[] = { "INodeVisitor_visit(INodeVisitor self, FTDistribution2DGauss const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, FTDistribution2DVoigt const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, GISASSimulation const * arg2)\n" - "INodeVisitor_visit(INodeVisitor self, HexagonalLattice const * arg2)\n" + "INodeVisitor_visit(INodeVisitor self, HexagonalLattice2D const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, IAbstractParticle const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, IClusteredParticles const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, IdentityRotation const * arg2)\n" @@ -51269,8 +51269,8 @@ static PyMethodDef SwigMethods[] = { "INodeVisitor_visit(INodeVisitor self, SpecularDetector1D const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, SpecularSimulation const * arg2)\n" "INodeVisitor_visit(INodeVisitor self, SphericalDetector const * arg2)\n" - "INodeVisitor_visit(INodeVisitor self, SquareLattice const * arg2)\n" - "virtual void INodeVisitor::visit(const SquareLattice *)\n" + "INodeVisitor_visit(INodeVisitor self, SquareLattice2D const * arg2)\n" + "virtual void INodeVisitor::visit(const SquareLattice2D *)\n" "\n" ""}, { "INodeVisitor_depth", _wrap_INodeVisitor_depth, METH_O, "\n" @@ -52104,7 +52104,7 @@ static void *_p_DistributionLogNormalTo_p_IDistribution1D(void *x, int *SWIGUNUS return (void *)((IDistribution1D *) ((DistributionLogNormal *) x)); } static swig_type_info _swigt__p_Attributes = {"_p_Attributes", "Attributes *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_BasicLattice = {"_p_BasicLattice", "BasicLattice *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_BasicLattice2D = {"_p_BasicLattice2D", "BasicLattice2D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_BasicVector3DT_double_t = {"_p_BasicVector3DT_double_t", "std::vector< BasicVector3D< double > >::value_type *|kvector_t *|BasicVector3D< double > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_BasicVector3DT_int_t = {"_p_BasicVector3DT_int_t", "ivector_t *|BasicVector3D< int > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_BasicVector3DT_std__complexT_double_t_t = {"_p_BasicVector3DT_std__complexT_double_t_t", "BasicVector3D< std::complex< double > > *|std::vector< BasicVector3D< std::complex< double > > >::value_type *|cvector_t *", 0, 0, (void*)0, 0}; @@ -52182,7 +52182,7 @@ static swig_type_info _swigt__p_FormFactorTruncatedSphere = {"_p_FormFactorTrunc static swig_type_info _swigt__p_FormFactorTruncatedSpheroid = {"_p_FormFactorTruncatedSpheroid", "FormFactorTruncatedSpheroid *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorWeighted = {"_p_FormFactorWeighted", "FormFactorWeighted *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_GISASSimulation = {"_p_GISASSimulation", "GISASSimulation *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_HexagonalLattice = {"_p_HexagonalLattice", "HexagonalLattice *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_HexagonalLattice2D = {"_p_HexagonalLattice2D", "HexagonalLattice2D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IAbstractParticle = {"_p_IAbstractParticle", "IAbstractParticle *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ICloneable = {"_p_ICloneable", "ICloneable *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IClusteredParticles = {"_p_IClusteredParticles", "IClusteredParticles *", 0, 0, (void*)0, 0}; @@ -52247,7 +52247,7 @@ static swig_type_info _swigt__p_RotationZ = {"_p_RotationZ", "RotationZ *", 0, 0 static swig_type_info _swigt__p_SpecularDetector1D = {"_p_SpecularDetector1D", "SpecularDetector1D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SpecularSimulation = {"_p_SpecularSimulation", "SpecularSimulation *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SphericalDetector = {"_p_SphericalDetector", "SphericalDetector *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_SquareLattice = {"_p_SquareLattice", "SquareLattice *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SquareLattice2D = {"_p_SquareLattice2D", "SquareLattice2D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_allocator_type = {"_p_allocator_type", "allocator_type *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, (void*)0, 0}; @@ -52306,7 +52306,7 @@ static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0 static swig_type_info *swig_type_initial[] = { &_swigt__p_Attributes, - &_swigt__p_BasicLattice, + &_swigt__p_BasicLattice2D, &_swigt__p_BasicVector3DT_double_t, &_swigt__p_BasicVector3DT_int_t, &_swigt__p_BasicVector3DT_std__complexT_double_t_t, @@ -52384,7 +52384,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_FormFactorTruncatedSpheroid, &_swigt__p_FormFactorWeighted, &_swigt__p_GISASSimulation, - &_swigt__p_HexagonalLattice, + &_swigt__p_HexagonalLattice2D, &_swigt__p_IAbstractParticle, &_swigt__p_ICloneable, &_swigt__p_IClusteredParticles, @@ -52449,7 +52449,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_SpecularDetector1D, &_swigt__p_SpecularSimulation, &_swigt__p_SphericalDetector, - &_swigt__p_SquareLattice, + &_swigt__p_SquareLattice2D, &_swigt__p_allocator_type, &_swigt__p_char, &_swigt__p_difference_type, @@ -52508,7 +52508,7 @@ static swig_type_info *swig_type_initial[] = { }; static swig_cast_info _swigc__p_Attributes[] = { {&_swigt__p_Attributes, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_BasicLattice[] = { {&_swigt__p_BasicLattice, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_BasicLattice2D[] = { {&_swigt__p_BasicLattice2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_BasicVector3DT_double_t[] = { {&_swigt__p_BasicVector3DT_double_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_BasicVector3DT_int_t[] = { {&_swigt__p_BasicVector3DT_int_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_BasicVector3DT_std__complexT_double_t_t[] = { {&_swigt__p_BasicVector3DT_std__complexT_double_t_t, 0, 0, 0},{0, 0, 0, 0}}; @@ -52586,7 +52586,7 @@ static swig_cast_info _swigc__p_FormFactorTruncatedSphere[] = { {&_swigt__p_For static swig_cast_info _swigc__p_FormFactorTruncatedSpheroid[] = { {&_swigt__p_FormFactorTruncatedSpheroid, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorWeighted[] = { {&_swigt__p_FormFactorWeighted, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_GISASSimulation[] = { {&_swigt__p_GISASSimulation, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_HexagonalLattice[] = { {&_swigt__p_HexagonalLattice, 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_IAbstractParticle[] = { {&_swigt__p_IAbstractParticle, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_RangedDistributionGate, _p_RangedDistributionGateTo_p_ICloneable, 0, 0}, {&_swigt__p_DistributionGate, _p_DistributionGateTo_p_ICloneable, 0, 0}, {&_swigt__p_IDistribution1D, _p_IDistribution1DTo_p_ICloneable, 0, 0}, {&_swigt__p_DistributionTrapezoid, _p_DistributionTrapezoidTo_p_ICloneable, 0, 0}, {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_RangedDistributionGaussian, _p_RangedDistributionGaussianTo_p_ICloneable, 0, 0}, {&_swigt__p_DistributionGaussian, _p_DistributionGaussianTo_p_ICloneable, 0, 0}, {&_swigt__p_ParameterPool, _p_ParameterPoolTo_p_ICloneable, 0, 0}, {&_swigt__p_RangedDistributionCosine, _p_RangedDistributionCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_DistributionCosine, _p_DistributionCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_RangedDistributionLorentz, _p_RangedDistributionLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_DistributionLorentz, _p_DistributionLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_RangedDistributionLogNormal, _p_RangedDistributionLogNormalTo_p_ICloneable, 0, 0}, {&_swigt__p_DistributionLogNormal, _p_DistributionLogNormalTo_p_ICloneable, 0, 0}, {&_swigt__p_RangedDistribution, _p_RangedDistributionTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IClusteredParticles[] = { {&_swigt__p_IClusteredParticles, 0, 0, 0},{0, 0, 0, 0}}; @@ -52651,7 +52651,7 @@ static swig_cast_info _swigc__p_RotationZ[] = { {&_swigt__p_RotationZ, 0, 0, 0} static swig_cast_info _swigc__p_SpecularDetector1D[] = { {&_swigt__p_SpecularDetector1D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SpecularSimulation[] = { {&_swigt__p_SpecularSimulation, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SphericalDetector[] = { {&_swigt__p_SphericalDetector, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_SquareLattice[] = { {&_swigt__p_SquareLattice, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SquareLattice2D[] = { {&_swigt__p_SquareLattice2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_allocator_type[] = { {&_swigt__p_allocator_type, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_difference_type[] = { {&_swigt__p_difference_type, 0, 0, 0},{0, 0, 0, 0}}; @@ -52710,7 +52710,7 @@ static swig_cast_info _swigc__p_value_type[] = { {&_swigt__p_value_type, 0, 0, static swig_cast_info *swig_cast_initial[] = { _swigc__p_Attributes, - _swigc__p_BasicLattice, + _swigc__p_BasicLattice2D, _swigc__p_BasicVector3DT_double_t, _swigc__p_BasicVector3DT_int_t, _swigc__p_BasicVector3DT_std__complexT_double_t_t, @@ -52788,7 +52788,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_FormFactorTruncatedSpheroid, _swigc__p_FormFactorWeighted, _swigc__p_GISASSimulation, - _swigc__p_HexagonalLattice, + _swigc__p_HexagonalLattice2D, _swigc__p_IAbstractParticle, _swigc__p_ICloneable, _swigc__p_IClusteredParticles, @@ -52853,7 +52853,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_SpecularDetector1D, _swigc__p_SpecularSimulation, _swigc__p_SphericalDetector, - _swigc__p_SquareLattice, + _swigc__p_SquareLattice2D, _swigc__p_allocator_type, _swigc__p_char, _swigc__p_difference_type, diff --git a/auto/Wrap/libBornAgainSample.py b/auto/Wrap/libBornAgainSample.py index a2d99c80baa8328bb5576bd3903270acce4682ae..1438c02517ca13ef7e4b68ca56110cd7886d2f0c 100644 --- a/auto/Wrap/libBornAgainSample.py +++ b/auto/Wrap/libBornAgainSample.py @@ -6906,14 +6906,13 @@ class InterferenceFunction2DLattice(IInterferenceFunction): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, *args): + def __init__(self, lattice): r""" - __init__(InterferenceFunction2DLattice self, double length_1, double length_2, double alpha, double xi) -> InterferenceFunction2DLattice __init__(InterferenceFunction2DLattice self, Lattice2D lattice) -> InterferenceFunction2DLattice InterferenceFunction2DLattice::InterferenceFunction2DLattice(const Lattice2D &lattice) """ - _libBornAgainSample.InterferenceFunction2DLattice_swiginit(self, _libBornAgainSample.new_InterferenceFunction2DLattice(*args)) + _libBornAgainSample.InterferenceFunction2DLattice_swiginit(self, _libBornAgainSample.new_InterferenceFunction2DLattice(lattice)) __swig_destroy__ = _libBornAgainSample.delete_InterferenceFunction2DLattice def clone(self): @@ -7016,34 +7015,13 @@ class InterferenceFunction2DParaCrystal(IInterferenceFunction): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, *args): + def __init__(self, lattice, damping_length, domain_size_1, domain_size_2): r""" __init__(InterferenceFunction2DParaCrystal self, Lattice2D lattice, double damping_length, double domain_size_1, double domain_size_2) -> InterferenceFunction2DParaCrystal - __init__(InterferenceFunction2DParaCrystal self, double length_1, double length_2, double alpha, double xi, double damping_length) -> InterferenceFunction2DParaCrystal - InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(double length_1, double length_2, double alpha, double xi, double damping_length) - - Constructor of interference function of two-dimensional paracrystal. - - Parameters: - ----------- - - length_1: - length of first lattice vector in nanometers - - length_2: - length of second lattice vector in nanometers - - alpha: - angle between lattice vectors in radians - - xi: - rotation of lattice with respect to x-axis (beam direction) in radians - - damping_length: - the damping (coherence) length of the paracrystal in nanometers + InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(const Lattice2D &lattice, double damping_length, double domain_size_1, double domain_size_2) """ - _libBornAgainSample.InterferenceFunction2DParaCrystal_swiginit(self, _libBornAgainSample.new_InterferenceFunction2DParaCrystal(*args)) + _libBornAgainSample.InterferenceFunction2DParaCrystal_swiginit(self, _libBornAgainSample.new_InterferenceFunction2DParaCrystal(lattice, damping_length, domain_size_1, domain_size_2)) __swig_destroy__ = _libBornAgainSample.delete_InterferenceFunction2DParaCrystal def clone(self): @@ -7442,28 +7420,18 @@ class InterferenceFunctionFinite2DLattice(IInterferenceFunction): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, *args): + def __init__(self, lattice, N_1, N_2): r""" __init__(InterferenceFunctionFinite2DLattice self, Lattice2D lattice, unsigned int N_1, unsigned int N_2) -> InterferenceFunctionFinite2DLattice - __init__(InterferenceFunctionFinite2DLattice self, double length_1, double length_2, double alpha, double xi, unsigned int N_1, unsigned int N_2) -> InterferenceFunctionFinite2DLattice - InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(double length_1, double length_2, double alpha, double xi, unsigned N_1, unsigned N_2) + InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(const Lattice2D &lattice, unsigned N_1, unsigned N_2) Constructor of two-dimensional finite lattice interference function. Parameters: ----------- - length_1: - length of first lattice vector in nanometers - - length_2: - length of second lattice vector in nanometers - - alpha: - angle between lattice vectors in radians - - xi: - rotation of lattice with respect to x-axis (beam direction) in radians + lattice: + object specifying a 2d lattice structure N_1: number of lattice cells in the first lattice direction @@ -7472,7 +7440,7 @@ class InterferenceFunctionFinite2DLattice(IInterferenceFunction): number of lattice cells in the second lattice direction """ - _libBornAgainSample.InterferenceFunctionFinite2DLattice_swiginit(self, _libBornAgainSample.new_InterferenceFunctionFinite2DLattice(*args)) + _libBornAgainSample.InterferenceFunctionFinite2DLattice_swiginit(self, _libBornAgainSample.new_InterferenceFunctionFinite2DLattice(lattice, N_1, N_2)) __swig_destroy__ = _libBornAgainSample.delete_InterferenceFunctionFinite2DLattice def clone(self): @@ -11461,264 +11429,264 @@ class Lattice2D(libBornAgainBase.ICloneable, libBornAgainParam.INode): # Register Lattice2D in _libBornAgainSample: _libBornAgainSample.Lattice2D_swigregister(Lattice2D) -class BasicLattice(Lattice2D): - r"""Proxy of C++ BasicLattice class.""" +class BasicLattice2D(Lattice2D): + r"""Proxy of C++ BasicLattice2D 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, length1, length2, angle, xi): r""" - __init__(BasicLattice self, double length1, double length2, double angle, double xi) -> BasicLattice - BasicLattice::BasicLattice(double length1, double length2, double angle, double xi) + __init__(BasicLattice2D self, double length1, double length2, double angle, double xi) -> BasicLattice2D + BasicLattice2D::BasicLattice2D(double length1, double length2, double angle, double xi) """ - _libBornAgainSample.BasicLattice_swiginit(self, _libBornAgainSample.new_BasicLattice(length1, length2, angle, xi)) + _libBornAgainSample.BasicLattice2D_swiginit(self, _libBornAgainSample.new_BasicLattice2D(length1, length2, angle, xi)) def clone(self): r""" - clone(BasicLattice self) -> BasicLattice - BasicLattice * BasicLattice::clone() const + clone(BasicLattice2D self) -> BasicLattice2D + BasicLattice2D * BasicLattice2D::clone() const """ - return _libBornAgainSample.BasicLattice_clone(self) + return _libBornAgainSample.BasicLattice2D_clone(self) def accept(self, visitor): r""" - accept(BasicLattice self, INodeVisitor * visitor) - void BasicLattice::accept(INodeVisitor *visitor) const final + accept(BasicLattice2D self, INodeVisitor * visitor) + void BasicLattice2D::accept(INodeVisitor *visitor) const final """ - return _libBornAgainSample.BasicLattice_accept(self, visitor) + return _libBornAgainSample.BasicLattice2D_accept(self, visitor) def length1(self): r""" - length1(BasicLattice self) -> double - virtual double BasicLattice::length1() const + length1(BasicLattice2D self) -> double + virtual double BasicLattice2D::length1() const """ - return _libBornAgainSample.BasicLattice_length1(self) + return _libBornAgainSample.BasicLattice2D_length1(self) def length2(self): r""" - length2(BasicLattice self) -> double - virtual double BasicLattice::length2() const + length2(BasicLattice2D self) -> double + virtual double BasicLattice2D::length2() const """ - return _libBornAgainSample.BasicLattice_length2(self) + return _libBornAgainSample.BasicLattice2D_length2(self) def latticeAngle(self): r""" - latticeAngle(BasicLattice self) -> double - virtual double BasicLattice::latticeAngle() const + latticeAngle(BasicLattice2D self) -> double + virtual double BasicLattice2D::latticeAngle() const """ - return _libBornAgainSample.BasicLattice_latticeAngle(self) + return _libBornAgainSample.BasicLattice2D_latticeAngle(self) def unitCellArea(self): r""" - unitCellArea(BasicLattice self) -> double - double BasicLattice::unitCellArea() const + unitCellArea(BasicLattice2D self) -> double + double BasicLattice2D::unitCellArea() const """ - return _libBornAgainSample.BasicLattice_unitCellArea(self) - __swig_destroy__ = _libBornAgainSample.delete_BasicLattice + return _libBornAgainSample.BasicLattice2D_unitCellArea(self) + __swig_destroy__ = _libBornAgainSample.delete_BasicLattice2D -# Register BasicLattice in _libBornAgainSample: -_libBornAgainSample.BasicLattice_swigregister(BasicLattice) +# Register BasicLattice2D in _libBornAgainSample: +_libBornAgainSample.BasicLattice2D_swigregister(BasicLattice2D) -class SquareLattice(Lattice2D): - r"""Proxy of C++ SquareLattice class.""" +class SquareLattice2D(Lattice2D): + r"""Proxy of C++ SquareLattice2D 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, length, xi=0.0): r""" - __init__(SquareLattice self, double length, double xi=0.0) -> SquareLattice - SquareLattice::SquareLattice(double length, double xi=0.0) + __init__(SquareLattice2D self, double length, double xi=0.0) -> SquareLattice2D + SquareLattice2D::SquareLattice2D(double length, double xi=0.0) """ - _libBornAgainSample.SquareLattice_swiginit(self, _libBornAgainSample.new_SquareLattice(length, xi)) + _libBornAgainSample.SquareLattice2D_swiginit(self, _libBornAgainSample.new_SquareLattice2D(length, xi)) def clone(self): r""" - clone(SquareLattice self) -> SquareLattice - SquareLattice * SquareLattice::clone() const + clone(SquareLattice2D self) -> SquareLattice2D + SquareLattice2D * SquareLattice2D::clone() const """ - return _libBornAgainSample.SquareLattice_clone(self) + return _libBornAgainSample.SquareLattice2D_clone(self) def accept(self, visitor): r""" - accept(SquareLattice self, INodeVisitor * visitor) - void SquareLattice::accept(INodeVisitor *visitor) const final + accept(SquareLattice2D self, INodeVisitor * visitor) + void SquareLattice2D::accept(INodeVisitor *visitor) const final """ - return _libBornAgainSample.SquareLattice_accept(self, visitor) + return _libBornAgainSample.SquareLattice2D_accept(self, visitor) def length1(self): r""" - length1(SquareLattice self) -> double - virtual double SquareLattice::length1() const + length1(SquareLattice2D self) -> double + virtual double SquareLattice2D::length1() const """ - return _libBornAgainSample.SquareLattice_length1(self) + return _libBornAgainSample.SquareLattice2D_length1(self) def length2(self): r""" - length2(SquareLattice self) -> double - virtual double SquareLattice::length2() const + length2(SquareLattice2D self) -> double + virtual double SquareLattice2D::length2() const """ - return _libBornAgainSample.SquareLattice_length2(self) + return _libBornAgainSample.SquareLattice2D_length2(self) def latticeAngle(self): r""" - latticeAngle(SquareLattice self) -> double - double SquareLattice::latticeAngle() const + latticeAngle(SquareLattice2D self) -> double + double SquareLattice2D::latticeAngle() const """ - return _libBornAgainSample.SquareLattice_latticeAngle(self) + return _libBornAgainSample.SquareLattice2D_latticeAngle(self) def unitCellArea(self): r""" - unitCellArea(SquareLattice self) -> double - double SquareLattice::unitCellArea() const + unitCellArea(SquareLattice2D self) -> double + double SquareLattice2D::unitCellArea() const """ - return _libBornAgainSample.SquareLattice_unitCellArea(self) - __swig_destroy__ = _libBornAgainSample.delete_SquareLattice + return _libBornAgainSample.SquareLattice2D_unitCellArea(self) + __swig_destroy__ = _libBornAgainSample.delete_SquareLattice2D -# Register SquareLattice in _libBornAgainSample: -_libBornAgainSample.SquareLattice_swigregister(SquareLattice) +# Register SquareLattice2D in _libBornAgainSample: +_libBornAgainSample.SquareLattice2D_swigregister(SquareLattice2D) -class HexagonalLattice(Lattice2D): - r"""Proxy of C++ HexagonalLattice class.""" +class HexagonalLattice2D(Lattice2D): + r"""Proxy of C++ HexagonalLattice2D 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, length, xi): r""" - __init__(HexagonalLattice self, double length, double xi) -> HexagonalLattice - HexagonalLattice::HexagonalLattice(double length, double xi) + __init__(HexagonalLattice2D self, double length, double xi) -> HexagonalLattice2D + HexagonalLattice2D::HexagonalLattice2D(double length, double xi) """ - _libBornAgainSample.HexagonalLattice_swiginit(self, _libBornAgainSample.new_HexagonalLattice(length, xi)) + _libBornAgainSample.HexagonalLattice2D_swiginit(self, _libBornAgainSample.new_HexagonalLattice2D(length, xi)) def clone(self): r""" - clone(HexagonalLattice self) -> HexagonalLattice - HexagonalLattice * HexagonalLattice::clone() const + clone(HexagonalLattice2D self) -> HexagonalLattice2D + HexagonalLattice2D * HexagonalLattice2D::clone() const """ - return _libBornAgainSample.HexagonalLattice_clone(self) + return _libBornAgainSample.HexagonalLattice2D_clone(self) def accept(self, visitor): r""" - accept(HexagonalLattice self, INodeVisitor * visitor) - void HexagonalLattice::accept(INodeVisitor *visitor) const final + accept(HexagonalLattice2D self, INodeVisitor * visitor) + void HexagonalLattice2D::accept(INodeVisitor *visitor) const final """ - return _libBornAgainSample.HexagonalLattice_accept(self, visitor) + return _libBornAgainSample.HexagonalLattice2D_accept(self, visitor) def length1(self): r""" - length1(HexagonalLattice self) -> double - virtual double HexagonalLattice::length1() const + length1(HexagonalLattice2D self) -> double + virtual double HexagonalLattice2D::length1() const """ - return _libBornAgainSample.HexagonalLattice_length1(self) + return _libBornAgainSample.HexagonalLattice2D_length1(self) def length2(self): r""" - length2(HexagonalLattice self) -> double - virtual double HexagonalLattice::length2() const + length2(HexagonalLattice2D self) -> double + virtual double HexagonalLattice2D::length2() const """ - return _libBornAgainSample.HexagonalLattice_length2(self) + return _libBornAgainSample.HexagonalLattice2D_length2(self) def latticeAngle(self): r""" - latticeAngle(HexagonalLattice self) -> double - double HexagonalLattice::latticeAngle() const + latticeAngle(HexagonalLattice2D self) -> double + double HexagonalLattice2D::latticeAngle() const """ - return _libBornAgainSample.HexagonalLattice_latticeAngle(self) + return _libBornAgainSample.HexagonalLattice2D_latticeAngle(self) def unitCellArea(self): r""" - unitCellArea(HexagonalLattice self) -> double - double HexagonalLattice::unitCellArea() const + unitCellArea(HexagonalLattice2D self) -> double + double HexagonalLattice2D::unitCellArea() const """ - return _libBornAgainSample.HexagonalLattice_unitCellArea(self) - __swig_destroy__ = _libBornAgainSample.delete_HexagonalLattice + return _libBornAgainSample.HexagonalLattice2D_unitCellArea(self) + __swig_destroy__ = _libBornAgainSample.delete_HexagonalLattice2D -# Register HexagonalLattice in _libBornAgainSample: -_libBornAgainSample.HexagonalLattice_swigregister(HexagonalLattice) +# Register HexagonalLattice2D in _libBornAgainSample: +_libBornAgainSample.HexagonalLattice2D_swigregister(HexagonalLattice2D) -def createCubicLattice(a): +def CubicLattice(a): r""" - createCubicLattice(double a) -> Lattice3D - Lattice3D bake::createCubicLattice(double a) + CubicLattice(double a) -> Lattice3D + Lattice3D bake::CubicLattice(double a) Returns a primitive cubic (cP) lattice with edge length a. """ - return _libBornAgainSample.createCubicLattice(a) + return _libBornAgainSample.CubicLattice(a) -def createFCCLattice(a): +def FCCLattice(a): r""" - createFCCLattice(double a) -> Lattice3D - Lattice3D bake::createFCCLattice(double a) + FCCLattice(double a) -> Lattice3D + Lattice3D bake::FCCLattice(double a) Returns a face-centered cubic (cF) lattice with edge length a. """ - return _libBornAgainSample.createFCCLattice(a) + return _libBornAgainSample.FCCLattice(a) -def createHexagonalLattice(a, c): +def HexagonalLattice(a, c): r""" - createHexagonalLattice(double a, double c) -> Lattice3D - Lattice3D bake::createHexagonalLattice(double a, double c) + HexagonalLattice(double a, double c) -> Lattice3D + Lattice3D bake::HexagonalLattice(double a, double c) Returns a primitive hexagonal (hP) lattice with hexagonal edge a and height c. """ - return _libBornAgainSample.createHexagonalLattice(a, c) + return _libBornAgainSample.HexagonalLattice(a, c) -def createHCPLattice(a, c): +def HCPLattice(a, c): r""" - createHCPLattice(double a, double c) -> Lattice3D - Lattice3D bake::createHCPLattice(double a, double c) + HCPLattice(double a, double c) -> Lattice3D + Lattice3D bake::HCPLattice(double a, double c) TODO: Clarify how this is meant: HCP is not a Bravais lattice. """ - return _libBornAgainSample.createHCPLattice(a, c) + return _libBornAgainSample.HCPLattice(a, c) -def createTetragonalLattice(a, c): +def TetragonalLattice(a, c): r""" - createTetragonalLattice(double a, double c) -> Lattice3D - Lattice3D bake::createTetragonalLattice(double a, double c) + TetragonalLattice(double a, double c) -> Lattice3D + Lattice3D bake::TetragonalLattice(double a, double c) Returns a primitive tetragonal (tP) lattice with square base edge a and height c. """ - return _libBornAgainSample.createTetragonalLattice(a, c) + return _libBornAgainSample.TetragonalLattice(a, c) -def createBCTLattice(a, c): +def BCTLattice(a, c): r""" - createBCTLattice(double a, double c) -> Lattice3D - Lattice3D bake::createBCTLattice(double a, double c) + BCTLattice(double a, double c) -> Lattice3D + Lattice3D bake::BCTLattice(double a, double c) Returns a body-centered cubic (cI) lattice with edge length a. TODO: Clarify meaning of c """ - return _libBornAgainSample.createBCTLattice(a, c) + return _libBornAgainSample.BCTLattice(a, c) class ISampleBuilder(libBornAgainParam.IParameterized): r""" diff --git a/auto/Wrap/libBornAgainSample_wrap.cpp b/auto/Wrap/libBornAgainSample_wrap.cpp index 7ee98b2a221e8bca86032db23fa98ee46f5b97b9..7409cb0e87d1244eedb993ba4f220b93e0ca3278 100644 --- a/auto/Wrap/libBornAgainSample_wrap.cpp +++ b/auto/Wrap/libBornAgainSample_wrap.cpp @@ -3097,7 +3097,7 @@ namespace Swig { /* -------- TYPES TABLE (BEGIN) -------- */ -#define SWIGTYPE_p_BasicLattice swig_types[0] +#define SWIGTYPE_p_BasicLattice2D swig_types[0] #define SWIGTYPE_p_BasicVector3DT_double_t swig_types[1] #define SWIGTYPE_p_BasicVector3DT_int_t swig_types[2] #define SWIGTYPE_p_BasicVector3DT_std__complexT_double_t_t swig_types[3] @@ -3158,7 +3158,7 @@ namespace Swig { #define SWIGTYPE_p_FormFactorTruncatedSpheroid swig_types[58] #define SWIGTYPE_p_FormFactorWeighted swig_types[59] #define SWIGTYPE_p_GaussFisherPeakShape swig_types[60] -#define SWIGTYPE_p_HexagonalLattice swig_types[61] +#define SWIGTYPE_p_HexagonalLattice2D swig_types[61] #define SWIGTYPE_p_IAbstractParticle swig_types[62] #define SWIGTYPE_p_ICloneable swig_types[63] #define SWIGTYPE_p_ICosineRipple swig_types[64] @@ -3233,7 +3233,7 @@ namespace Swig { #define SWIGTYPE_p_SimulationOptions swig_types[133] #define SWIGTYPE_p_SlicedParticle swig_types[134] #define SWIGTYPE_p_SlicingEffects swig_types[135] -#define SWIGTYPE_p_SquareLattice swig_types[136] +#define SWIGTYPE_p_SquareLattice2D swig_types[136] #define SWIGTYPE_p_ThreadInfo swig_types[137] #define SWIGTYPE_p_Transform3D swig_types[138] #define SWIGTYPE_p_WavevectorInfo swig_types[139] @@ -52114,59 +52114,16 @@ SWIGINTERN PyObject *InterferenceFunction1DLattice_swiginit(PyObject *SWIGUNUSED return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DLattice__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { - PyObject *resultobj = 0; - double arg1 ; - double arg2 ; - double arg3 ; - double arg4 ; - double val1 ; - int ecode1 = 0 ; - double val2 ; - int ecode2 = 0 ; - double val3 ; - int ecode3 = 0 ; - double val4 ; - int ecode4 = 0 ; - InterferenceFunction2DLattice *result = 0 ; - - if ((nobjs < 4) || (nobjs > 4)) SWIG_fail; - ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); - if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_InterferenceFunction2DLattice" "', argument " "1"" of type '" "double""'"); - } - arg1 = static_cast< double >(val1); - ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_InterferenceFunction2DLattice" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_InterferenceFunction2DLattice" "', argument " "3"" of type '" "double""'"); - } - arg3 = static_cast< double >(val3); - ecode4 = SWIG_AsVal_double(swig_obj[3], &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_InterferenceFunction2DLattice" "', argument " "4"" of type '" "double""'"); - } - arg4 = static_cast< double >(val4); - result = (InterferenceFunction2DLattice *)new InterferenceFunction2DLattice(arg1,arg2,arg3,arg4); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_InterferenceFunction2DLattice, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DLattice__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; Lattice2D *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ; + PyObject *swig_obj[1] ; InterferenceFunction2DLattice *result = 0 ; - if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + if (!args) SWIG_fail; + swig_obj[0] = args; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_Lattice2D, 0 | 0); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_InterferenceFunction2DLattice" "', argument " "1"" of type '" "Lattice2D const &""'"); @@ -52183,60 +52140,6 @@ fail: } -SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DLattice(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[5] = { - 0 - }; - - if (!(argc = SWIG_Python_UnpackTuple(args, "new_InterferenceFunction2DLattice", 0, 4, argv))) SWIG_fail; - --argc; - if (argc == 1) { - int _v; - int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_Lattice2D, SWIG_POINTER_NO_NULL | 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_new_InterferenceFunction2DLattice__SWIG_1(self, argc, argv); - } - } - if (argc == 4) { - int _v; - { - int res = SWIG_AsVal_double(argv[0], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[2], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[3], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_InterferenceFunction2DLattice__SWIG_0(self, argc, argv); - } - } - } - } - } - -fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_InterferenceFunction2DLattice'.\n" - " Possible C/C++ prototypes are:\n" - " InterferenceFunction2DLattice::InterferenceFunction2DLattice(double,double,double,double)\n" - " InterferenceFunction2DLattice::InterferenceFunction2DLattice(Lattice2D const &)\n"); - return 0; -} - - SWIGINTERN PyObject *_wrap_delete_InterferenceFunction2DLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; InterferenceFunction2DLattice *arg1 = (InterferenceFunction2DLattice *) 0 ; @@ -52497,7 +52400,7 @@ SWIGINTERN PyObject *InterferenceFunction2DLattice_swiginit(PyObject *SWIGUNUSED return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DParaCrystal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DParaCrystal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; Lattice2D *arg1 = 0 ; double arg2 ; @@ -52511,9 +52414,10 @@ SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DParaCrystal__SWIG_0(PyObjec int ecode3 = 0 ; double val4 ; int ecode4 = 0 ; + PyObject *swig_obj[4] ; InterferenceFunction2DParaCrystal *result = 0 ; - if ((nobjs < 4) || (nobjs > 4)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "new_InterferenceFunction2DParaCrystal", 4, 4, swig_obj)) SWIG_fail; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_Lattice2D, 0 | 0); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_InterferenceFunction2DParaCrystal" "', argument " "1"" of type '" "Lattice2D const &""'"); @@ -52545,137 +52449,6 @@ fail: } -SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DParaCrystal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { - PyObject *resultobj = 0; - double arg1 ; - double arg2 ; - double arg3 ; - double arg4 ; - double arg5 ; - double val1 ; - int ecode1 = 0 ; - double val2 ; - int ecode2 = 0 ; - double val3 ; - int ecode3 = 0 ; - double val4 ; - int ecode4 = 0 ; - double val5 ; - int ecode5 = 0 ; - InterferenceFunction2DParaCrystal *result = 0 ; - - if ((nobjs < 5) || (nobjs > 5)) SWIG_fail; - ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); - if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_InterferenceFunction2DParaCrystal" "', argument " "1"" of type '" "double""'"); - } - arg1 = static_cast< double >(val1); - ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_InterferenceFunction2DParaCrystal" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_InterferenceFunction2DParaCrystal" "', argument " "3"" of type '" "double""'"); - } - arg3 = static_cast< double >(val3); - ecode4 = SWIG_AsVal_double(swig_obj[3], &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_InterferenceFunction2DParaCrystal" "', argument " "4"" of type '" "double""'"); - } - arg4 = static_cast< double >(val4); - ecode5 = SWIG_AsVal_double(swig_obj[4], &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_InterferenceFunction2DParaCrystal" "', argument " "5"" of type '" "double""'"); - } - arg5 = static_cast< double >(val5); - result = (InterferenceFunction2DParaCrystal *)new InterferenceFunction2DParaCrystal(arg1,arg2,arg3,arg4,arg5); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_InterferenceFunction2DParaCrystal, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_new_InterferenceFunction2DParaCrystal(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[6] = { - 0 - }; - - if (!(argc = SWIG_Python_UnpackTuple(args, "new_InterferenceFunction2DParaCrystal", 0, 5, argv))) SWIG_fail; - --argc; - if (argc == 4) { - int _v; - int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_Lattice2D, SWIG_POINTER_NO_NULL | 0); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_double(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[2], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[3], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_InterferenceFunction2DParaCrystal__SWIG_0(self, argc, argv); - } - } - } - } - } - if (argc == 5) { - int _v; - { - int res = SWIG_AsVal_double(argv[0], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[2], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[3], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[4], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_InterferenceFunction2DParaCrystal__SWIG_1(self, argc, argv); - } - } - } - } - } - } - -fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_InterferenceFunction2DParaCrystal'.\n" - " Possible C/C++ prototypes are:\n" - " InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(Lattice2D const &,double,double,double)\n" - " InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(double,double,double,double,double)\n"); - return 0; -} - - SWIGINTERN PyObject *_wrap_delete_InterferenceFunction2DParaCrystal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; InterferenceFunction2DParaCrystal *arg1 = (InterferenceFunction2DParaCrystal *) 0 ; @@ -53912,7 +53685,7 @@ SWIGINTERN PyObject *InterferenceFunction3DLattice_swiginit(PyObject *SWIGUNUSED return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_InterferenceFunctionFinite2DLattice__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_InterferenceFunctionFinite2DLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; Lattice2D *arg1 = 0 ; unsigned int arg2 ; @@ -53923,9 +53696,10 @@ SWIGINTERN PyObject *_wrap_new_InterferenceFunctionFinite2DLattice__SWIG_0(PyObj int ecode2 = 0 ; unsigned int val3 ; int ecode3 = 0 ; + PyObject *swig_obj[3] ; InterferenceFunctionFinite2DLattice *result = 0 ; - if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "new_InterferenceFunctionFinite2DLattice", 3, 3, swig_obj)) SWIG_fail; res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_Lattice2D, 0 | 0); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_InterferenceFunctionFinite2DLattice" "', argument " "1"" of type '" "Lattice2D const &""'"); @@ -53952,145 +53726,6 @@ fail: } -SWIGINTERN PyObject *_wrap_new_InterferenceFunctionFinite2DLattice__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { - PyObject *resultobj = 0; - double arg1 ; - double arg2 ; - double arg3 ; - double arg4 ; - unsigned int arg5 ; - unsigned int arg6 ; - double val1 ; - int ecode1 = 0 ; - double val2 ; - int ecode2 = 0 ; - double val3 ; - int ecode3 = 0 ; - double val4 ; - int ecode4 = 0 ; - unsigned int val5 ; - int ecode5 = 0 ; - unsigned int val6 ; - int ecode6 = 0 ; - InterferenceFunctionFinite2DLattice *result = 0 ; - - if ((nobjs < 6) || (nobjs > 6)) SWIG_fail; - ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); - if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_InterferenceFunctionFinite2DLattice" "', argument " "1"" of type '" "double""'"); - } - arg1 = static_cast< double >(val1); - ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_InterferenceFunctionFinite2DLattice" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_InterferenceFunctionFinite2DLattice" "', argument " "3"" of type '" "double""'"); - } - arg3 = static_cast< double >(val3); - ecode4 = SWIG_AsVal_double(swig_obj[3], &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_InterferenceFunctionFinite2DLattice" "', argument " "4"" of type '" "double""'"); - } - arg4 = static_cast< double >(val4); - ecode5 = SWIG_AsVal_unsigned_SS_int(swig_obj[4], &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_InterferenceFunctionFinite2DLattice" "', argument " "5"" of type '" "unsigned int""'"); - } - arg5 = static_cast< unsigned int >(val5); - ecode6 = SWIG_AsVal_unsigned_SS_int(swig_obj[5], &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_InterferenceFunctionFinite2DLattice" "', argument " "6"" of type '" "unsigned int""'"); - } - arg6 = static_cast< unsigned int >(val6); - result = (InterferenceFunctionFinite2DLattice *)new InterferenceFunctionFinite2DLattice(arg1,arg2,arg3,arg4,arg5,arg6); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_InterferenceFunctionFinite2DLattice, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_new_InterferenceFunctionFinite2DLattice(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[7] = { - 0 - }; - - if (!(argc = SWIG_Python_UnpackTuple(args, "new_InterferenceFunctionFinite2DLattice", 0, 6, argv))) SWIG_fail; - --argc; - if (argc == 3) { - int _v; - int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_Lattice2D, SWIG_POINTER_NO_NULL | 0); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_InterferenceFunctionFinite2DLattice__SWIG_0(self, argc, argv); - } - } - } - } - if (argc == 6) { - int _v; - { - int res = SWIG_AsVal_double(argv[0], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[2], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_double(argv[3], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_unsigned_SS_int(argv[4], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - { - int res = SWIG_AsVal_unsigned_SS_int(argv[5], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_InterferenceFunctionFinite2DLattice__SWIG_1(self, argc, argv); - } - } - } - } - } - } - } - -fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_InterferenceFunctionFinite2DLattice'.\n" - " Possible C/C++ prototypes are:\n" - " InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(Lattice2D const &,unsigned int,unsigned int)\n" - " InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(double,double,double,double,unsigned int,unsigned int)\n"); - return 0; -} - - SWIGINTERN PyObject *_wrap_delete_InterferenceFunctionFinite2DLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; InterferenceFunctionFinite2DLattice *arg1 = (InterferenceFunctionFinite2DLattice *) 0 ; @@ -68163,7 +67798,7 @@ SWIGINTERN PyObject *Lattice2D_swigregister(PyObject *SWIGUNUSEDPARM(self), PyOb return SWIG_Py_Void(); } -SWIGINTERN PyObject *_wrap_new_BasicLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_BasicLattice2D(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -68178,63 +67813,63 @@ SWIGINTERN PyObject *_wrap_new_BasicLattice(PyObject *SWIGUNUSEDPARM(self), PyOb double val4 ; int ecode4 = 0 ; PyObject *swig_obj[4] ; - BasicLattice *result = 0 ; + BasicLattice2D *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_BasicLattice", 4, 4, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "new_BasicLattice2D", 4, 4, swig_obj)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_BasicLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_BasicLattice2D" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_BasicLattice" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_BasicLattice2D" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); ecode3 = SWIG_AsVal_double(swig_obj[2], &val3); if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_BasicLattice" "', argument " "3"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_BasicLattice2D" "', argument " "3"" of type '" "double""'"); } arg3 = static_cast< double >(val3); ecode4 = SWIG_AsVal_double(swig_obj[3], &val4); if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_BasicLattice" "', argument " "4"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_BasicLattice2D" "', argument " "4"" of type '" "double""'"); } arg4 = static_cast< double >(val4); - result = (BasicLattice *)new BasicLattice(arg1,arg2,arg3,arg4); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_BasicLattice, SWIG_POINTER_NEW | 0 ); + result = (BasicLattice2D *)new BasicLattice2D(arg1,arg2,arg3,arg4); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_BasicLattice2D, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_BasicLattice_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_BasicLattice2D_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - BasicLattice *arg1 = (BasicLattice *) 0 ; + BasicLattice2D *arg1 = (BasicLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - BasicLattice *result = 0 ; + BasicLattice2D *result = 0 ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice_clone" "', argument " "1"" of type '" "BasicLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice2D_clone" "', argument " "1"" of type '" "BasicLattice2D const *""'"); } - arg1 = reinterpret_cast< BasicLattice * >(argp1); - result = (BasicLattice *)((BasicLattice const *)arg1)->clone(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_BasicLattice, 0 | 0 ); + arg1 = reinterpret_cast< BasicLattice2D * >(argp1); + result = (BasicLattice2D *)((BasicLattice2D const *)arg1)->clone(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_BasicLattice2D, 0 | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_BasicLattice_accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_BasicLattice2D_accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - BasicLattice *arg1 = (BasicLattice *) 0 ; + BasicLattice2D *arg1 = (BasicLattice2D *) 0 ; INodeVisitor *arg2 = (INodeVisitor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; @@ -68242,18 +67877,18 @@ SWIGINTERN PyObject *_wrap_BasicLattice_accept(PyObject *SWIGUNUSEDPARM(self), P int res2 = 0 ; PyObject *swig_obj[2] ; - if (!SWIG_Python_UnpackTuple(args, "BasicLattice_accept", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "BasicLattice2D_accept", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice_accept" "', argument " "1"" of type '" "BasicLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice2D_accept" "', argument " "1"" of type '" "BasicLattice2D const *""'"); } - arg1 = reinterpret_cast< BasicLattice * >(argp1); + arg1 = reinterpret_cast< BasicLattice2D * >(argp1); res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_INodeVisitor, 0 | 0 ); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "BasicLattice_accept" "', argument " "2"" of type '" "INodeVisitor *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "BasicLattice2D_accept" "', argument " "2"" of type '" "INodeVisitor *""'"); } arg2 = reinterpret_cast< INodeVisitor * >(argp2); - ((BasicLattice const *)arg1)->accept(arg2); + ((BasicLattice2D const *)arg1)->accept(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -68261,9 +67896,9 @@ fail: } -SWIGINTERN PyObject *_wrap_BasicLattice_length1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_BasicLattice2D_length1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - BasicLattice *arg1 = (BasicLattice *) 0 ; + BasicLattice2D *arg1 = (BasicLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68271,12 +67906,12 @@ SWIGINTERN PyObject *_wrap_BasicLattice_length1(PyObject *SWIGUNUSEDPARM(self), if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice_length1" "', argument " "1"" of type '" "BasicLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice2D_length1" "', argument " "1"" of type '" "BasicLattice2D const *""'"); } - arg1 = reinterpret_cast< BasicLattice * >(argp1); - result = (double)((BasicLattice const *)arg1)->length1(); + arg1 = reinterpret_cast< BasicLattice2D * >(argp1); + result = (double)((BasicLattice2D const *)arg1)->length1(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68284,9 +67919,9 @@ fail: } -SWIGINTERN PyObject *_wrap_BasicLattice_length2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_BasicLattice2D_length2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - BasicLattice *arg1 = (BasicLattice *) 0 ; + BasicLattice2D *arg1 = (BasicLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68294,12 +67929,12 @@ SWIGINTERN PyObject *_wrap_BasicLattice_length2(PyObject *SWIGUNUSEDPARM(self), if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice_length2" "', argument " "1"" of type '" "BasicLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice2D_length2" "', argument " "1"" of type '" "BasicLattice2D const *""'"); } - arg1 = reinterpret_cast< BasicLattice * >(argp1); - result = (double)((BasicLattice const *)arg1)->length2(); + arg1 = reinterpret_cast< BasicLattice2D * >(argp1); + result = (double)((BasicLattice2D const *)arg1)->length2(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68307,9 +67942,9 @@ fail: } -SWIGINTERN PyObject *_wrap_BasicLattice_latticeAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_BasicLattice2D_latticeAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - BasicLattice *arg1 = (BasicLattice *) 0 ; + BasicLattice2D *arg1 = (BasicLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68317,12 +67952,12 @@ SWIGINTERN PyObject *_wrap_BasicLattice_latticeAngle(PyObject *SWIGUNUSEDPARM(se if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice_latticeAngle" "', argument " "1"" of type '" "BasicLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice2D_latticeAngle" "', argument " "1"" of type '" "BasicLattice2D const *""'"); } - arg1 = reinterpret_cast< BasicLattice * >(argp1); - result = (double)((BasicLattice const *)arg1)->latticeAngle(); + arg1 = reinterpret_cast< BasicLattice2D * >(argp1); + result = (double)((BasicLattice2D const *)arg1)->latticeAngle(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68330,9 +67965,9 @@ fail: } -SWIGINTERN PyObject *_wrap_BasicLattice_unitCellArea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_BasicLattice2D_unitCellArea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - BasicLattice *arg1 = (BasicLattice *) 0 ; + BasicLattice2D *arg1 = (BasicLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68340,12 +67975,12 @@ SWIGINTERN PyObject *_wrap_BasicLattice_unitCellArea(PyObject *SWIGUNUSEDPARM(se if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice_unitCellArea" "', argument " "1"" of type '" "BasicLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "BasicLattice2D_unitCellArea" "', argument " "1"" of type '" "BasicLattice2D const *""'"); } - arg1 = reinterpret_cast< BasicLattice * >(argp1); - result = (double)((BasicLattice const *)arg1)->unitCellArea(); + arg1 = reinterpret_cast< BasicLattice2D * >(argp1); + result = (double)((BasicLattice2D const *)arg1)->unitCellArea(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68353,20 +67988,20 @@ fail: } -SWIGINTERN PyObject *_wrap_delete_BasicLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_BasicLattice2D(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - BasicLattice *arg1 = (BasicLattice *) 0 ; + BasicLattice2D *arg1 = (BasicLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_BasicLattice2D, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_BasicLattice" "', argument " "1"" of type '" "BasicLattice *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_BasicLattice2D" "', argument " "1"" of type '" "BasicLattice2D *""'"); } - arg1 = reinterpret_cast< BasicLattice * >(argp1); + arg1 = reinterpret_cast< BasicLattice2D * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; @@ -68375,18 +68010,18 @@ fail: } -SWIGINTERN PyObject *BasicLattice_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *BasicLattice2D_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_BasicLattice, SWIG_NewClientData(obj)); + SWIG_TypeNewClientData(SWIGTYPE_p_BasicLattice2D, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } -SWIGINTERN PyObject *BasicLattice_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *BasicLattice2D_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_SquareLattice__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_SquareLattice2D__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -68394,55 +68029,55 @@ SWIGINTERN PyObject *_wrap_new_SquareLattice__SWIG_0(PyObject *SWIGUNUSEDPARM(se int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - SquareLattice *result = 0 ; + SquareLattice2D *result = 0 ; if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_SquareLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_SquareLattice2D" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_SquareLattice" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_SquareLattice2D" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); - result = (SquareLattice *)new SquareLattice(arg1,arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SquareLattice, SWIG_POINTER_NEW | 0 ); + result = (SquareLattice2D *)new SquareLattice2D(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SquareLattice2D, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_new_SquareLattice__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_SquareLattice2D__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double val1 ; int ecode1 = 0 ; - SquareLattice *result = 0 ; + SquareLattice2D *result = 0 ; 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_SquareLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_SquareLattice2D" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); - result = (SquareLattice *)new SquareLattice(arg1); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SquareLattice, SWIG_POINTER_NEW | 0 ); + result = (SquareLattice2D *)new SquareLattice2D(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SquareLattice2D, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_new_SquareLattice(PyObject *self, PyObject *args) { +SWIGINTERN PyObject *_wrap_new_SquareLattice2D(PyObject *self, PyObject *args) { Py_ssize_t argc; PyObject *argv[3] = { 0 }; - if (!(argc = SWIG_Python_UnpackTuple(args, "new_SquareLattice", 0, 2, argv))) SWIG_fail; + if (!(argc = SWIG_Python_UnpackTuple(args, "new_SquareLattice2D", 0, 2, argv))) SWIG_fail; --argc; if (argc == 1) { int _v; @@ -68451,7 +68086,7 @@ SWIGINTERN PyObject *_wrap_new_SquareLattice(PyObject *self, PyObject *args) { _v = SWIG_CheckState(res); } if (_v) { - return _wrap_new_SquareLattice__SWIG_1(self, argc, argv); + return _wrap_new_SquareLattice2D__SWIG_1(self, argc, argv); } } if (argc == 2) { @@ -68466,46 +68101,46 @@ SWIGINTERN PyObject *_wrap_new_SquareLattice(PyObject *self, PyObject *args) { _v = SWIG_CheckState(res); } if (_v) { - return _wrap_new_SquareLattice__SWIG_0(self, argc, argv); + return _wrap_new_SquareLattice2D__SWIG_0(self, argc, argv); } } } fail: - SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_SquareLattice'.\n" + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_SquareLattice2D'.\n" " Possible C/C++ prototypes are:\n" - " SquareLattice::SquareLattice(double,double)\n" - " SquareLattice::SquareLattice(double)\n"); + " SquareLattice2D::SquareLattice2D(double,double)\n" + " SquareLattice2D::SquareLattice2D(double)\n"); return 0; } -SWIGINTERN PyObject *_wrap_SquareLattice_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_SquareLattice2D_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - SquareLattice *arg1 = (SquareLattice *) 0 ; + SquareLattice2D *arg1 = (SquareLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - SquareLattice *result = 0 ; + SquareLattice2D *result = 0 ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice_clone" "', argument " "1"" of type '" "SquareLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice2D_clone" "', argument " "1"" of type '" "SquareLattice2D const *""'"); } - arg1 = reinterpret_cast< SquareLattice * >(argp1); - result = (SquareLattice *)((SquareLattice const *)arg1)->clone(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SquareLattice, 0 | 0 ); + arg1 = reinterpret_cast< SquareLattice2D * >(argp1); + result = (SquareLattice2D *)((SquareLattice2D const *)arg1)->clone(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SquareLattice2D, 0 | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_SquareLattice_accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_SquareLattice2D_accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - SquareLattice *arg1 = (SquareLattice *) 0 ; + SquareLattice2D *arg1 = (SquareLattice2D *) 0 ; INodeVisitor *arg2 = (INodeVisitor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; @@ -68513,18 +68148,18 @@ SWIGINTERN PyObject *_wrap_SquareLattice_accept(PyObject *SWIGUNUSEDPARM(self), int res2 = 0 ; PyObject *swig_obj[2] ; - if (!SWIG_Python_UnpackTuple(args, "SquareLattice_accept", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "SquareLattice2D_accept", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice_accept" "', argument " "1"" of type '" "SquareLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice2D_accept" "', argument " "1"" of type '" "SquareLattice2D const *""'"); } - arg1 = reinterpret_cast< SquareLattice * >(argp1); + arg1 = reinterpret_cast< SquareLattice2D * >(argp1); res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_INodeVisitor, 0 | 0 ); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SquareLattice_accept" "', argument " "2"" of type '" "INodeVisitor *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SquareLattice2D_accept" "', argument " "2"" of type '" "INodeVisitor *""'"); } arg2 = reinterpret_cast< INodeVisitor * >(argp2); - ((SquareLattice const *)arg1)->accept(arg2); + ((SquareLattice2D const *)arg1)->accept(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -68532,9 +68167,9 @@ fail: } -SWIGINTERN PyObject *_wrap_SquareLattice_length1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_SquareLattice2D_length1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - SquareLattice *arg1 = (SquareLattice *) 0 ; + SquareLattice2D *arg1 = (SquareLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68542,12 +68177,12 @@ SWIGINTERN PyObject *_wrap_SquareLattice_length1(PyObject *SWIGUNUSEDPARM(self), if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice_length1" "', argument " "1"" of type '" "SquareLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice2D_length1" "', argument " "1"" of type '" "SquareLattice2D const *""'"); } - arg1 = reinterpret_cast< SquareLattice * >(argp1); - result = (double)((SquareLattice const *)arg1)->length1(); + arg1 = reinterpret_cast< SquareLattice2D * >(argp1); + result = (double)((SquareLattice2D const *)arg1)->length1(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68555,9 +68190,9 @@ fail: } -SWIGINTERN PyObject *_wrap_SquareLattice_length2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_SquareLattice2D_length2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - SquareLattice *arg1 = (SquareLattice *) 0 ; + SquareLattice2D *arg1 = (SquareLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68565,12 +68200,12 @@ SWIGINTERN PyObject *_wrap_SquareLattice_length2(PyObject *SWIGUNUSEDPARM(self), if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice_length2" "', argument " "1"" of type '" "SquareLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice2D_length2" "', argument " "1"" of type '" "SquareLattice2D const *""'"); } - arg1 = reinterpret_cast< SquareLattice * >(argp1); - result = (double)((SquareLattice const *)arg1)->length2(); + arg1 = reinterpret_cast< SquareLattice2D * >(argp1); + result = (double)((SquareLattice2D const *)arg1)->length2(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68578,9 +68213,9 @@ fail: } -SWIGINTERN PyObject *_wrap_SquareLattice_latticeAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_SquareLattice2D_latticeAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - SquareLattice *arg1 = (SquareLattice *) 0 ; + SquareLattice2D *arg1 = (SquareLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68588,12 +68223,12 @@ SWIGINTERN PyObject *_wrap_SquareLattice_latticeAngle(PyObject *SWIGUNUSEDPARM(s if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice_latticeAngle" "', argument " "1"" of type '" "SquareLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice2D_latticeAngle" "', argument " "1"" of type '" "SquareLattice2D const *""'"); } - arg1 = reinterpret_cast< SquareLattice * >(argp1); - result = (double)((SquareLattice const *)arg1)->latticeAngle(); + arg1 = reinterpret_cast< SquareLattice2D * >(argp1); + result = (double)((SquareLattice2D const *)arg1)->latticeAngle(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68601,9 +68236,9 @@ fail: } -SWIGINTERN PyObject *_wrap_SquareLattice_unitCellArea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_SquareLattice2D_unitCellArea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - SquareLattice *arg1 = (SquareLattice *) 0 ; + SquareLattice2D *arg1 = (SquareLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68611,12 +68246,12 @@ SWIGINTERN PyObject *_wrap_SquareLattice_unitCellArea(PyObject *SWIGUNUSEDPARM(s if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice_unitCellArea" "', argument " "1"" of type '" "SquareLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SquareLattice2D_unitCellArea" "', argument " "1"" of type '" "SquareLattice2D const *""'"); } - arg1 = reinterpret_cast< SquareLattice * >(argp1); - result = (double)((SquareLattice const *)arg1)->unitCellArea(); + arg1 = reinterpret_cast< SquareLattice2D * >(argp1); + result = (double)((SquareLattice2D const *)arg1)->unitCellArea(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68624,20 +68259,20 @@ fail: } -SWIGINTERN PyObject *_wrap_delete_SquareLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_SquareLattice2D(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - SquareLattice *arg1 = (SquareLattice *) 0 ; + SquareLattice2D *arg1 = (SquareLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_SquareLattice2D, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SquareLattice" "', argument " "1"" of type '" "SquareLattice *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SquareLattice2D" "', argument " "1"" of type '" "SquareLattice2D *""'"); } - arg1 = reinterpret_cast< SquareLattice * >(argp1); + arg1 = reinterpret_cast< SquareLattice2D * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; @@ -68646,18 +68281,18 @@ fail: } -SWIGINTERN PyObject *SquareLattice_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *SquareLattice2D_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_SquareLattice, SWIG_NewClientData(obj)); + SWIG_TypeNewClientData(SWIGTYPE_p_SquareLattice2D, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } -SWIGINTERN PyObject *SquareLattice_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *SquareLattice2D_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_HexagonalLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_HexagonalLattice2D(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -68666,53 +68301,53 @@ SWIGINTERN PyObject *_wrap_new_HexagonalLattice(PyObject *SWIGUNUSEDPARM(self), double val2 ; int ecode2 = 0 ; PyObject *swig_obj[2] ; - HexagonalLattice *result = 0 ; + HexagonalLattice2D *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_HexagonalLattice", 2, 2, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "new_HexagonalLattice2D", 2, 2, swig_obj)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_HexagonalLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_HexagonalLattice2D" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_HexagonalLattice" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_HexagonalLattice2D" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); - result = (HexagonalLattice *)new HexagonalLattice(arg1,arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_HexagonalLattice, SWIG_POINTER_NEW | 0 ); + result = (HexagonalLattice2D *)new HexagonalLattice2D(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_HexagonalLattice2D, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_HexagonalLattice_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HexagonalLattice2D_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - HexagonalLattice *arg1 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg1 = (HexagonalLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; - HexagonalLattice *result = 0 ; + HexagonalLattice2D *result = 0 ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice_clone" "', argument " "1"" of type '" "HexagonalLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice2D_clone" "', argument " "1"" of type '" "HexagonalLattice2D const *""'"); } - arg1 = reinterpret_cast< HexagonalLattice * >(argp1); - result = (HexagonalLattice *)((HexagonalLattice const *)arg1)->clone(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + arg1 = reinterpret_cast< HexagonalLattice2D * >(argp1); + result = (HexagonalLattice2D *)((HexagonalLattice2D const *)arg1)->clone(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_HexagonalLattice_accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HexagonalLattice2D_accept(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - HexagonalLattice *arg1 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg1 = (HexagonalLattice2D *) 0 ; INodeVisitor *arg2 = (INodeVisitor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; @@ -68720,18 +68355,18 @@ SWIGINTERN PyObject *_wrap_HexagonalLattice_accept(PyObject *SWIGUNUSEDPARM(self int res2 = 0 ; PyObject *swig_obj[2] ; - if (!SWIG_Python_UnpackTuple(args, "HexagonalLattice_accept", 2, 2, swig_obj)) SWIG_fail; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + if (!SWIG_Python_UnpackTuple(args, "HexagonalLattice2D_accept", 2, 2, swig_obj)) SWIG_fail; + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice_accept" "', argument " "1"" of type '" "HexagonalLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice2D_accept" "', argument " "1"" of type '" "HexagonalLattice2D const *""'"); } - arg1 = reinterpret_cast< HexagonalLattice * >(argp1); + arg1 = reinterpret_cast< HexagonalLattice2D * >(argp1); res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_INodeVisitor, 0 | 0 ); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "HexagonalLattice_accept" "', argument " "2"" of type '" "INodeVisitor *""'"); + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "HexagonalLattice2D_accept" "', argument " "2"" of type '" "INodeVisitor *""'"); } arg2 = reinterpret_cast< INodeVisitor * >(argp2); - ((HexagonalLattice const *)arg1)->accept(arg2); + ((HexagonalLattice2D const *)arg1)->accept(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: @@ -68739,9 +68374,9 @@ fail: } -SWIGINTERN PyObject *_wrap_HexagonalLattice_length1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HexagonalLattice2D_length1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - HexagonalLattice *arg1 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg1 = (HexagonalLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68749,12 +68384,12 @@ SWIGINTERN PyObject *_wrap_HexagonalLattice_length1(PyObject *SWIGUNUSEDPARM(sel if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice_length1" "', argument " "1"" of type '" "HexagonalLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice2D_length1" "', argument " "1"" of type '" "HexagonalLattice2D const *""'"); } - arg1 = reinterpret_cast< HexagonalLattice * >(argp1); - result = (double)((HexagonalLattice const *)arg1)->length1(); + arg1 = reinterpret_cast< HexagonalLattice2D * >(argp1); + result = (double)((HexagonalLattice2D const *)arg1)->length1(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68762,9 +68397,9 @@ fail: } -SWIGINTERN PyObject *_wrap_HexagonalLattice_length2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HexagonalLattice2D_length2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - HexagonalLattice *arg1 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg1 = (HexagonalLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68772,12 +68407,12 @@ SWIGINTERN PyObject *_wrap_HexagonalLattice_length2(PyObject *SWIGUNUSEDPARM(sel if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice_length2" "', argument " "1"" of type '" "HexagonalLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice2D_length2" "', argument " "1"" of type '" "HexagonalLattice2D const *""'"); } - arg1 = reinterpret_cast< HexagonalLattice * >(argp1); - result = (double)((HexagonalLattice const *)arg1)->length2(); + arg1 = reinterpret_cast< HexagonalLattice2D * >(argp1); + result = (double)((HexagonalLattice2D const *)arg1)->length2(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68785,9 +68420,9 @@ fail: } -SWIGINTERN PyObject *_wrap_HexagonalLattice_latticeAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HexagonalLattice2D_latticeAngle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - HexagonalLattice *arg1 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg1 = (HexagonalLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68795,12 +68430,12 @@ SWIGINTERN PyObject *_wrap_HexagonalLattice_latticeAngle(PyObject *SWIGUNUSEDPAR if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice_latticeAngle" "', argument " "1"" of type '" "HexagonalLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice2D_latticeAngle" "', argument " "1"" of type '" "HexagonalLattice2D const *""'"); } - arg1 = reinterpret_cast< HexagonalLattice * >(argp1); - result = (double)((HexagonalLattice const *)arg1)->latticeAngle(); + arg1 = reinterpret_cast< HexagonalLattice2D * >(argp1); + result = (double)((HexagonalLattice2D const *)arg1)->latticeAngle(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68808,9 +68443,9 @@ fail: } -SWIGINTERN PyObject *_wrap_HexagonalLattice_unitCellArea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HexagonalLattice2D_unitCellArea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - HexagonalLattice *arg1 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg1 = (HexagonalLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; @@ -68818,12 +68453,12 @@ SWIGINTERN PyObject *_wrap_HexagonalLattice_unitCellArea(PyObject *SWIGUNUSEDPAR if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice, 0 | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice2D, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice_unitCellArea" "', argument " "1"" of type '" "HexagonalLattice const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "HexagonalLattice2D_unitCellArea" "', argument " "1"" of type '" "HexagonalLattice2D const *""'"); } - arg1 = reinterpret_cast< HexagonalLattice * >(argp1); - result = (double)((HexagonalLattice const *)arg1)->unitCellArea(); + arg1 = reinterpret_cast< HexagonalLattice2D * >(argp1); + result = (double)((HexagonalLattice2D const *)arg1)->unitCellArea(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: @@ -68831,20 +68466,20 @@ fail: } -SWIGINTERN PyObject *_wrap_delete_HexagonalLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_delete_HexagonalLattice2D(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - HexagonalLattice *arg1 = (HexagonalLattice *) 0 ; + HexagonalLattice2D *arg1 = (HexagonalLattice2D *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject *swig_obj[1] ; if (!args) SWIG_fail; swig_obj[0] = args; - res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice, SWIG_POINTER_DISOWN | 0 ); + res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_HexagonalLattice2D, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_HexagonalLattice" "', argument " "1"" of type '" "HexagonalLattice *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_HexagonalLattice2D" "', argument " "1"" of type '" "HexagonalLattice2D *""'"); } - arg1 = reinterpret_cast< HexagonalLattice * >(argp1); + arg1 = reinterpret_cast< HexagonalLattice2D * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; @@ -68853,18 +68488,18 @@ fail: } -SWIGINTERN PyObject *HexagonalLattice_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *HexagonalLattice2D_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_HexagonalLattice, SWIG_NewClientData(obj)); + SWIG_TypeNewClientData(SWIGTYPE_p_HexagonalLattice2D, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } -SWIGINTERN PyObject *HexagonalLattice_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *HexagonalLattice2D_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_createCubicLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_CubicLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double val1 ; @@ -68876,10 +68511,10 @@ SWIGINTERN PyObject *_wrap_createCubicLattice(PyObject *SWIGUNUSEDPARM(self), Py swig_obj[0] = args; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "createCubicLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "CubicLattice" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); - result = bake::createCubicLattice(arg1); + result = bake::CubicLattice(arg1); resultobj = SWIG_NewPointerObj((new Lattice3D(static_cast< const Lattice3D& >(result))), SWIGTYPE_p_Lattice3D, SWIG_POINTER_OWN | 0 ); return resultobj; fail: @@ -68887,7 +68522,7 @@ fail: } -SWIGINTERN PyObject *_wrap_createFCCLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FCCLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double val1 ; @@ -68899,10 +68534,10 @@ SWIGINTERN PyObject *_wrap_createFCCLattice(PyObject *SWIGUNUSEDPARM(self), PyOb swig_obj[0] = args; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "createFCCLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "FCCLattice" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); - result = bake::createFCCLattice(arg1); + result = bake::FCCLattice(arg1); resultobj = SWIG_NewPointerObj((new Lattice3D(static_cast< const Lattice3D& >(result))), SWIGTYPE_p_Lattice3D, SWIG_POINTER_OWN | 0 ); return resultobj; fail: @@ -68910,7 +68545,7 @@ fail: } -SWIGINTERN PyObject *_wrap_createHexagonalLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HexagonalLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -68921,18 +68556,18 @@ SWIGINTERN PyObject *_wrap_createHexagonalLattice(PyObject *SWIGUNUSEDPARM(self) PyObject *swig_obj[2] ; SwigValueWrapper< Lattice3D > result; - if (!SWIG_Python_UnpackTuple(args, "createHexagonalLattice", 2, 2, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "HexagonalLattice", 2, 2, swig_obj)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "createHexagonalLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "HexagonalLattice" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "createHexagonalLattice" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "HexagonalLattice" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); - result = bake::createHexagonalLattice(arg1,arg2); + result = bake::HexagonalLattice(arg1,arg2); resultobj = SWIG_NewPointerObj((new Lattice3D(static_cast< const Lattice3D& >(result))), SWIGTYPE_p_Lattice3D, SWIG_POINTER_OWN | 0 ); return resultobj; fail: @@ -68940,7 +68575,7 @@ fail: } -SWIGINTERN PyObject *_wrap_createHCPLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_HCPLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -68951,18 +68586,18 @@ SWIGINTERN PyObject *_wrap_createHCPLattice(PyObject *SWIGUNUSEDPARM(self), PyOb PyObject *swig_obj[2] ; SwigValueWrapper< Lattice3D > result; - if (!SWIG_Python_UnpackTuple(args, "createHCPLattice", 2, 2, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "HCPLattice", 2, 2, swig_obj)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "createHCPLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "HCPLattice" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "createHCPLattice" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "HCPLattice" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); - result = bake::createHCPLattice(arg1,arg2); + result = bake::HCPLattice(arg1,arg2); resultobj = SWIG_NewPointerObj((new Lattice3D(static_cast< const Lattice3D& >(result))), SWIGTYPE_p_Lattice3D, SWIG_POINTER_OWN | 0 ); return resultobj; fail: @@ -68970,7 +68605,7 @@ fail: } -SWIGINTERN PyObject *_wrap_createTetragonalLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_TetragonalLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -68981,18 +68616,18 @@ SWIGINTERN PyObject *_wrap_createTetragonalLattice(PyObject *SWIGUNUSEDPARM(self PyObject *swig_obj[2] ; SwigValueWrapper< Lattice3D > result; - if (!SWIG_Python_UnpackTuple(args, "createTetragonalLattice", 2, 2, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "TetragonalLattice", 2, 2, swig_obj)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "createTetragonalLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "TetragonalLattice" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "createTetragonalLattice" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TetragonalLattice" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); - result = bake::createTetragonalLattice(arg1,arg2); + result = bake::TetragonalLattice(arg1,arg2); resultobj = SWIG_NewPointerObj((new Lattice3D(static_cast< const Lattice3D& >(result))), SWIGTYPE_p_Lattice3D, SWIG_POINTER_OWN | 0 ); return resultobj; fail: @@ -69000,7 +68635,7 @@ fail: } -SWIGINTERN PyObject *_wrap_createBCTLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_BCTLattice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -69011,18 +68646,18 @@ SWIGINTERN PyObject *_wrap_createBCTLattice(PyObject *SWIGUNUSEDPARM(self), PyOb PyObject *swig_obj[2] ; SwigValueWrapper< Lattice3D > result; - if (!SWIG_Python_UnpackTuple(args, "createBCTLattice", 2, 2, swig_obj)) SWIG_fail; + if (!SWIG_Python_UnpackTuple(args, "BCTLattice", 2, 2, swig_obj)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { - SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "createBCTLattice" "', argument " "1"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "BCTLattice" "', argument " "1"" of type '" "double""'"); } arg1 = static_cast< double >(val1); ecode2 = SWIG_AsVal_double(swig_obj[1], &val2); if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "createBCTLattice" "', argument " "2"" of type '" "double""'"); + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "BCTLattice" "', argument " "2"" of type '" "double""'"); } arg2 = static_cast< double >(val2); - result = bake::createBCTLattice(arg1,arg2); + result = bake::BCTLattice(arg1,arg2); resultobj = SWIG_NewPointerObj((new Lattice3D(static_cast< const Lattice3D& >(result))), SWIGTYPE_p_Lattice3D, SWIG_POINTER_OWN | 0 ); return resultobj; fail: @@ -72919,8 +72554,7 @@ static PyMethodDef SwigMethods[] = { ""}, { "InterferenceFunction1DLattice_swigregister", InterferenceFunction1DLattice_swigregister, METH_O, NULL}, { "InterferenceFunction1DLattice_swiginit", InterferenceFunction1DLattice_swiginit, METH_VARARGS, NULL}, - { "new_InterferenceFunction2DLattice", _wrap_new_InterferenceFunction2DLattice, METH_VARARGS, "\n" - "InterferenceFunction2DLattice(double length_1, double length_2, double alpha, double xi)\n" + { "new_InterferenceFunction2DLattice", _wrap_new_InterferenceFunction2DLattice, METH_O, "\n" "new_InterferenceFunction2DLattice(Lattice2D lattice) -> InterferenceFunction2DLattice\n" "InterferenceFunction2DLattice::InterferenceFunction2DLattice(const Lattice2D &lattice)\n" "\n" @@ -72990,29 +72624,8 @@ static PyMethodDef SwigMethods[] = { { "InterferenceFunction2DLattice_swigregister", InterferenceFunction2DLattice_swigregister, METH_O, NULL}, { "InterferenceFunction2DLattice_swiginit", InterferenceFunction2DLattice_swiginit, METH_VARARGS, NULL}, { "new_InterferenceFunction2DParaCrystal", _wrap_new_InterferenceFunction2DParaCrystal, METH_VARARGS, "\n" - "InterferenceFunction2DParaCrystal(Lattice2D lattice, double damping_length, double domain_size_1, double domain_size_2)\n" - "new_InterferenceFunction2DParaCrystal(double length_1, double length_2, double alpha, double xi, double damping_length) -> InterferenceFunction2DParaCrystal\n" - "InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(double length_1, double length_2, double alpha, double xi, double damping_length)\n" - "\n" - "Constructor of interference function of two-dimensional paracrystal.\n" - "\n" - "Parameters:\n" - "-----------\n" - "\n" - "length_1: \n" - "length of first lattice vector in nanometers\n" - "\n" - "length_2: \n" - "length of second lattice vector in nanometers\n" - "\n" - "alpha: \n" - "angle between lattice vectors in radians\n" - "\n" - "xi: \n" - "rotation of lattice with respect to x-axis (beam direction) in radians\n" - "\n" - "damping_length: \n" - "the damping (coherence) length of the paracrystal in nanometers \n" + "new_InterferenceFunction2DParaCrystal(Lattice2D lattice, double damping_length, double domain_size_1, double domain_size_2) -> InterferenceFunction2DParaCrystal\n" + "InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(const Lattice2D &lattice, double damping_length, double domain_size_1, double domain_size_2)\n" "\n" ""}, { "delete_InterferenceFunction2DParaCrystal", _wrap_delete_InterferenceFunction2DParaCrystal, METH_O, "\n" @@ -73281,26 +72894,16 @@ static PyMethodDef SwigMethods[] = { { "InterferenceFunction3DLattice_swigregister", InterferenceFunction3DLattice_swigregister, METH_O, NULL}, { "InterferenceFunction3DLattice_swiginit", InterferenceFunction3DLattice_swiginit, METH_VARARGS, NULL}, { "new_InterferenceFunctionFinite2DLattice", _wrap_new_InterferenceFunctionFinite2DLattice, METH_VARARGS, "\n" - "InterferenceFunctionFinite2DLattice(Lattice2D lattice, unsigned int N_1, unsigned int N_2)\n" - "new_InterferenceFunctionFinite2DLattice(double length_1, double length_2, double alpha, double xi, unsigned int N_1, unsigned int N_2) -> InterferenceFunctionFinite2DLattice\n" - "InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(double length_1, double length_2, double alpha, double xi, unsigned N_1, unsigned N_2)\n" + "new_InterferenceFunctionFinite2DLattice(Lattice2D lattice, unsigned int N_1, unsigned int N_2) -> InterferenceFunctionFinite2DLattice\n" + "InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(const Lattice2D &lattice, unsigned N_1, unsigned N_2)\n" "\n" "Constructor of two-dimensional finite lattice interference function.\n" "\n" "Parameters:\n" "-----------\n" "\n" - "length_1: \n" - "length of first lattice vector in nanometers\n" - "\n" - "length_2: \n" - "length of second lattice vector in nanometers\n" - "\n" - "alpha: \n" - "angle between lattice vectors in radians\n" - "\n" - "xi: \n" - "rotation of lattice with respect to x-axis (beam direction) in radians\n" + "lattice: \n" + "object specifying a 2d lattice structure\n" "\n" "N_1: \n" "number of lattice cells in the first lattice direction\n" @@ -75559,158 +75162,158 @@ static PyMethodDef SwigMethods[] = { ""}, { "delete_Lattice2D", _wrap_delete_Lattice2D, METH_O, "delete_Lattice2D(Lattice2D self)"}, { "Lattice2D_swigregister", Lattice2D_swigregister, METH_O, NULL}, - { "new_BasicLattice", _wrap_new_BasicLattice, METH_VARARGS, "\n" - "new_BasicLattice(double length1, double length2, double angle, double xi) -> BasicLattice\n" - "BasicLattice::BasicLattice(double length1, double length2, double angle, double xi)\n" + { "new_BasicLattice2D", _wrap_new_BasicLattice2D, METH_VARARGS, "\n" + "new_BasicLattice2D(double length1, double length2, double angle, double xi) -> BasicLattice2D\n" + "BasicLattice2D::BasicLattice2D(double length1, double length2, double angle, double xi)\n" "\n" ""}, - { "BasicLattice_clone", _wrap_BasicLattice_clone, METH_O, "\n" - "BasicLattice_clone(BasicLattice self) -> BasicLattice\n" - "BasicLattice * BasicLattice::clone() const\n" + { "BasicLattice2D_clone", _wrap_BasicLattice2D_clone, METH_O, "\n" + "BasicLattice2D_clone(BasicLattice2D self) -> BasicLattice2D\n" + "BasicLattice2D * BasicLattice2D::clone() const\n" "\n" ""}, - { "BasicLattice_accept", _wrap_BasicLattice_accept, METH_VARARGS, "\n" - "BasicLattice_accept(BasicLattice self, INodeVisitor * visitor)\n" - "void BasicLattice::accept(INodeVisitor *visitor) const final\n" + { "BasicLattice2D_accept", _wrap_BasicLattice2D_accept, METH_VARARGS, "\n" + "BasicLattice2D_accept(BasicLattice2D self, INodeVisitor * visitor)\n" + "void BasicLattice2D::accept(INodeVisitor *visitor) const final\n" "\n" ""}, - { "BasicLattice_length1", _wrap_BasicLattice_length1, METH_O, "\n" - "BasicLattice_length1(BasicLattice self) -> double\n" - "virtual double BasicLattice::length1() const\n" + { "BasicLattice2D_length1", _wrap_BasicLattice2D_length1, METH_O, "\n" + "BasicLattice2D_length1(BasicLattice2D self) -> double\n" + "virtual double BasicLattice2D::length1() const\n" "\n" ""}, - { "BasicLattice_length2", _wrap_BasicLattice_length2, METH_O, "\n" - "BasicLattice_length2(BasicLattice self) -> double\n" - "virtual double BasicLattice::length2() const\n" + { "BasicLattice2D_length2", _wrap_BasicLattice2D_length2, METH_O, "\n" + "BasicLattice2D_length2(BasicLattice2D self) -> double\n" + "virtual double BasicLattice2D::length2() const\n" "\n" ""}, - { "BasicLattice_latticeAngle", _wrap_BasicLattice_latticeAngle, METH_O, "\n" - "BasicLattice_latticeAngle(BasicLattice self) -> double\n" - "virtual double BasicLattice::latticeAngle() const\n" + { "BasicLattice2D_latticeAngle", _wrap_BasicLattice2D_latticeAngle, METH_O, "\n" + "BasicLattice2D_latticeAngle(BasicLattice2D self) -> double\n" + "virtual double BasicLattice2D::latticeAngle() const\n" "\n" ""}, - { "BasicLattice_unitCellArea", _wrap_BasicLattice_unitCellArea, METH_O, "\n" - "BasicLattice_unitCellArea(BasicLattice self) -> double\n" - "double BasicLattice::unitCellArea() const\n" + { "BasicLattice2D_unitCellArea", _wrap_BasicLattice2D_unitCellArea, METH_O, "\n" + "BasicLattice2D_unitCellArea(BasicLattice2D self) -> double\n" + "double BasicLattice2D::unitCellArea() const\n" "\n" ""}, - { "delete_BasicLattice", _wrap_delete_BasicLattice, METH_O, "delete_BasicLattice(BasicLattice self)"}, - { "BasicLattice_swigregister", BasicLattice_swigregister, METH_O, NULL}, - { "BasicLattice_swiginit", BasicLattice_swiginit, METH_VARARGS, NULL}, - { "new_SquareLattice", _wrap_new_SquareLattice, METH_VARARGS, "\n" - "SquareLattice(double length, double xi=0.0)\n" - "SquareLattice::SquareLattice(double length, double xi=0.0)\n" + { "delete_BasicLattice2D", _wrap_delete_BasicLattice2D, METH_O, "delete_BasicLattice2D(BasicLattice2D self)"}, + { "BasicLattice2D_swigregister", BasicLattice2D_swigregister, METH_O, NULL}, + { "BasicLattice2D_swiginit", BasicLattice2D_swiginit, METH_VARARGS, NULL}, + { "new_SquareLattice2D", _wrap_new_SquareLattice2D, METH_VARARGS, "\n" + "SquareLattice2D(double length, double xi=0.0)\n" + "SquareLattice2D::SquareLattice2D(double length, double xi=0.0)\n" "\n" ""}, - { "SquareLattice_clone", _wrap_SquareLattice_clone, METH_O, "\n" - "SquareLattice_clone(SquareLattice self) -> SquareLattice\n" - "SquareLattice * SquareLattice::clone() const\n" + { "SquareLattice2D_clone", _wrap_SquareLattice2D_clone, METH_O, "\n" + "SquareLattice2D_clone(SquareLattice2D self) -> SquareLattice2D\n" + "SquareLattice2D * SquareLattice2D::clone() const\n" "\n" ""}, - { "SquareLattice_accept", _wrap_SquareLattice_accept, METH_VARARGS, "\n" - "SquareLattice_accept(SquareLattice self, INodeVisitor * visitor)\n" - "void SquareLattice::accept(INodeVisitor *visitor) const final\n" + { "SquareLattice2D_accept", _wrap_SquareLattice2D_accept, METH_VARARGS, "\n" + "SquareLattice2D_accept(SquareLattice2D self, INodeVisitor * visitor)\n" + "void SquareLattice2D::accept(INodeVisitor *visitor) const final\n" "\n" ""}, - { "SquareLattice_length1", _wrap_SquareLattice_length1, METH_O, "\n" - "SquareLattice_length1(SquareLattice self) -> double\n" - "virtual double SquareLattice::length1() const\n" + { "SquareLattice2D_length1", _wrap_SquareLattice2D_length1, METH_O, "\n" + "SquareLattice2D_length1(SquareLattice2D self) -> double\n" + "virtual double SquareLattice2D::length1() const\n" "\n" ""}, - { "SquareLattice_length2", _wrap_SquareLattice_length2, METH_O, "\n" - "SquareLattice_length2(SquareLattice self) -> double\n" - "virtual double SquareLattice::length2() const\n" + { "SquareLattice2D_length2", _wrap_SquareLattice2D_length2, METH_O, "\n" + "SquareLattice2D_length2(SquareLattice2D self) -> double\n" + "virtual double SquareLattice2D::length2() const\n" "\n" ""}, - { "SquareLattice_latticeAngle", _wrap_SquareLattice_latticeAngle, METH_O, "\n" - "SquareLattice_latticeAngle(SquareLattice self) -> double\n" - "double SquareLattice::latticeAngle() const\n" + { "SquareLattice2D_latticeAngle", _wrap_SquareLattice2D_latticeAngle, METH_O, "\n" + "SquareLattice2D_latticeAngle(SquareLattice2D self) -> double\n" + "double SquareLattice2D::latticeAngle() const\n" "\n" ""}, - { "SquareLattice_unitCellArea", _wrap_SquareLattice_unitCellArea, METH_O, "\n" - "SquareLattice_unitCellArea(SquareLattice self) -> double\n" - "double SquareLattice::unitCellArea() const\n" + { "SquareLattice2D_unitCellArea", _wrap_SquareLattice2D_unitCellArea, METH_O, "\n" + "SquareLattice2D_unitCellArea(SquareLattice2D self) -> double\n" + "double SquareLattice2D::unitCellArea() const\n" "\n" ""}, - { "delete_SquareLattice", _wrap_delete_SquareLattice, METH_O, "delete_SquareLattice(SquareLattice self)"}, - { "SquareLattice_swigregister", SquareLattice_swigregister, METH_O, NULL}, - { "SquareLattice_swiginit", SquareLattice_swiginit, METH_VARARGS, NULL}, - { "new_HexagonalLattice", _wrap_new_HexagonalLattice, METH_VARARGS, "\n" - "new_HexagonalLattice(double length, double xi) -> HexagonalLattice\n" - "HexagonalLattice::HexagonalLattice(double length, double xi)\n" + { "delete_SquareLattice2D", _wrap_delete_SquareLattice2D, METH_O, "delete_SquareLattice2D(SquareLattice2D self)"}, + { "SquareLattice2D_swigregister", SquareLattice2D_swigregister, METH_O, NULL}, + { "SquareLattice2D_swiginit", SquareLattice2D_swiginit, METH_VARARGS, NULL}, + { "new_HexagonalLattice2D", _wrap_new_HexagonalLattice2D, METH_VARARGS, "\n" + "new_HexagonalLattice2D(double length, double xi) -> HexagonalLattice2D\n" + "HexagonalLattice2D::HexagonalLattice2D(double length, double xi)\n" "\n" ""}, - { "HexagonalLattice_clone", _wrap_HexagonalLattice_clone, METH_O, "\n" - "HexagonalLattice_clone(HexagonalLattice self) -> HexagonalLattice\n" - "HexagonalLattice * HexagonalLattice::clone() const\n" + { "HexagonalLattice2D_clone", _wrap_HexagonalLattice2D_clone, METH_O, "\n" + "HexagonalLattice2D_clone(HexagonalLattice2D self) -> HexagonalLattice2D\n" + "HexagonalLattice2D * HexagonalLattice2D::clone() const\n" "\n" ""}, - { "HexagonalLattice_accept", _wrap_HexagonalLattice_accept, METH_VARARGS, "\n" - "HexagonalLattice_accept(HexagonalLattice self, INodeVisitor * visitor)\n" - "void HexagonalLattice::accept(INodeVisitor *visitor) const final\n" + { "HexagonalLattice2D_accept", _wrap_HexagonalLattice2D_accept, METH_VARARGS, "\n" + "HexagonalLattice2D_accept(HexagonalLattice2D self, INodeVisitor * visitor)\n" + "void HexagonalLattice2D::accept(INodeVisitor *visitor) const final\n" "\n" ""}, - { "HexagonalLattice_length1", _wrap_HexagonalLattice_length1, METH_O, "\n" - "HexagonalLattice_length1(HexagonalLattice self) -> double\n" - "virtual double HexagonalLattice::length1() const\n" + { "HexagonalLattice2D_length1", _wrap_HexagonalLattice2D_length1, METH_O, "\n" + "HexagonalLattice2D_length1(HexagonalLattice2D self) -> double\n" + "virtual double HexagonalLattice2D::length1() const\n" "\n" ""}, - { "HexagonalLattice_length2", _wrap_HexagonalLattice_length2, METH_O, "\n" - "HexagonalLattice_length2(HexagonalLattice self) -> double\n" - "virtual double HexagonalLattice::length2() const\n" + { "HexagonalLattice2D_length2", _wrap_HexagonalLattice2D_length2, METH_O, "\n" + "HexagonalLattice2D_length2(HexagonalLattice2D self) -> double\n" + "virtual double HexagonalLattice2D::length2() const\n" "\n" ""}, - { "HexagonalLattice_latticeAngle", _wrap_HexagonalLattice_latticeAngle, METH_O, "\n" - "HexagonalLattice_latticeAngle(HexagonalLattice self) -> double\n" - "double HexagonalLattice::latticeAngle() const\n" + { "HexagonalLattice2D_latticeAngle", _wrap_HexagonalLattice2D_latticeAngle, METH_O, "\n" + "HexagonalLattice2D_latticeAngle(HexagonalLattice2D self) -> double\n" + "double HexagonalLattice2D::latticeAngle() const\n" "\n" ""}, - { "HexagonalLattice_unitCellArea", _wrap_HexagonalLattice_unitCellArea, METH_O, "\n" - "HexagonalLattice_unitCellArea(HexagonalLattice self) -> double\n" - "double HexagonalLattice::unitCellArea() const\n" + { "HexagonalLattice2D_unitCellArea", _wrap_HexagonalLattice2D_unitCellArea, METH_O, "\n" + "HexagonalLattice2D_unitCellArea(HexagonalLattice2D self) -> double\n" + "double HexagonalLattice2D::unitCellArea() const\n" "\n" ""}, - { "delete_HexagonalLattice", _wrap_delete_HexagonalLattice, METH_O, "delete_HexagonalLattice(HexagonalLattice self)"}, - { "HexagonalLattice_swigregister", HexagonalLattice_swigregister, METH_O, NULL}, - { "HexagonalLattice_swiginit", HexagonalLattice_swiginit, METH_VARARGS, NULL}, - { "createCubicLattice", _wrap_createCubicLattice, METH_O, "\n" - "createCubicLattice(double a) -> Lattice3D\n" - "Lattice3D bake::createCubicLattice(double a)\n" + { "delete_HexagonalLattice2D", _wrap_delete_HexagonalLattice2D, METH_O, "delete_HexagonalLattice2D(HexagonalLattice2D self)"}, + { "HexagonalLattice2D_swigregister", HexagonalLattice2D_swigregister, METH_O, NULL}, + { "HexagonalLattice2D_swiginit", HexagonalLattice2D_swiginit, METH_VARARGS, NULL}, + { "CubicLattice", _wrap_CubicLattice, METH_O, "\n" + "CubicLattice(double a) -> Lattice3D\n" + "Lattice3D bake::CubicLattice(double a)\n" "\n" "Returns a primitive cubic (cP) lattice with edge length a. \n" "\n" ""}, - { "createFCCLattice", _wrap_createFCCLattice, METH_O, "\n" - "createFCCLattice(double a) -> Lattice3D\n" - "Lattice3D bake::createFCCLattice(double a)\n" + { "FCCLattice", _wrap_FCCLattice, METH_O, "\n" + "FCCLattice(double a) -> Lattice3D\n" + "Lattice3D bake::FCCLattice(double a)\n" "\n" "Returns a face-centered cubic (cF) lattice with edge length a. \n" "\n" ""}, - { "createHexagonalLattice", _wrap_createHexagonalLattice, METH_VARARGS, "\n" - "createHexagonalLattice(double a, double c) -> Lattice3D\n" - "Lattice3D bake::createHexagonalLattice(double a, double c)\n" + { "HexagonalLattice", _wrap_HexagonalLattice, METH_VARARGS, "\n" + "HexagonalLattice(double a, double c) -> Lattice3D\n" + "Lattice3D bake::HexagonalLattice(double a, double c)\n" "\n" "Returns a primitive hexagonal (hP) lattice with hexagonal edge a and height c. \n" "\n" ""}, - { "createHCPLattice", _wrap_createHCPLattice, METH_VARARGS, "\n" - "createHCPLattice(double a, double c) -> Lattice3D\n" - "Lattice3D bake::createHCPLattice(double a, double c)\n" + { "HCPLattice", _wrap_HCPLattice, METH_VARARGS, "\n" + "HCPLattice(double a, double c) -> Lattice3D\n" + "Lattice3D bake::HCPLattice(double a, double c)\n" "\n" "TODO: Clarify how this is meant: HCP is not a Bravais lattice. \n" "\n" ""}, - { "createTetragonalLattice", _wrap_createTetragonalLattice, METH_VARARGS, "\n" - "createTetragonalLattice(double a, double c) -> Lattice3D\n" - "Lattice3D bake::createTetragonalLattice(double a, double c)\n" + { "TetragonalLattice", _wrap_TetragonalLattice, METH_VARARGS, "\n" + "TetragonalLattice(double a, double c) -> Lattice3D\n" + "Lattice3D bake::TetragonalLattice(double a, double c)\n" "\n" "Returns a primitive tetragonal (tP) lattice with square base edge a and height c. \n" "\n" ""}, - { "createBCTLattice", _wrap_createBCTLattice, METH_VARARGS, "\n" - "createBCTLattice(double a, double c) -> Lattice3D\n" - "Lattice3D bake::createBCTLattice(double a, double c)\n" + { "BCTLattice", _wrap_BCTLattice, METH_VARARGS, "\n" + "BCTLattice(double a, double c) -> Lattice3D\n" + "Lattice3D bake::BCTLattice(double a, double c)\n" "\n" "Returns a body-centered cubic (cI) lattice with edge length a. TODO: Clarify meaning of c \n" "\n" @@ -76134,6 +75737,15 @@ static void *_p_ParticleTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemo static void *_p_Lattice2DTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IParameterized *) (INode *) ((Lattice2D *) x)); } +static void *_p_BasicLattice2DTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IParameterized *) (INode *)(Lattice2D *) ((BasicLattice2D *) x)); +} +static void *_p_SquareLattice2DTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IParameterized *) (INode *)(Lattice2D *) ((SquareLattice2D *) x)); +} +static void *_p_HexagonalLattice2DTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IParameterized *) (INode *)(Lattice2D *) ((HexagonalLattice2D *) x)); +} static void *_p_IFTDecayFunction1DTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IParameterized *) (INode *) ((IFTDecayFunction1D *) x)); } @@ -76281,15 +75893,6 @@ static void *_p_FormFactorLongBoxLorentzTo_p_IParameterized(void *x, int *SWIGUN static void *_p_FormFactorSawtoothRippleLorentzTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IParameterized *) (INode *)(ISample *)(IFormFactor *)(IFormFactorBorn *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); } -static void *_p_BasicLatticeTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IParameterized *) (INode *)(Lattice2D *) ((BasicLattice *) x)); -} -static void *_p_SquareLatticeTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IParameterized *) (INode *)(Lattice2D *) ((SquareLattice *) x)); -} -static void *_p_HexagonalLatticeTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((IParameterized *) (INode *)(Lattice2D *) ((HexagonalLattice *) x)); -} static void *_p_FTDistribution1DTriangleTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IParameterized *) (INode *)(IFTDistribution1D *) ((FTDistribution1DTriangle *) x)); } @@ -76299,14 +75902,14 @@ static void *_p_FTDecayFunction1DTriangleTo_p_IParameterized(void *x, int *SWIGU static void *_p_RotationEulerTo_p_IParameterized(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IParameterized *) (INode *)(IRotation *) ((RotationEuler *) x)); } -static void *_p_BasicLatticeTo_p_Lattice2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((Lattice2D *) ((BasicLattice *) x)); +static void *_p_BasicLattice2DTo_p_Lattice2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((Lattice2D *) ((BasicLattice2D *) x)); } -static void *_p_SquareLatticeTo_p_Lattice2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((Lattice2D *) ((SquareLattice *) x)); +static void *_p_SquareLattice2DTo_p_Lattice2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((Lattice2D *) ((SquareLattice2D *) x)); } -static void *_p_HexagonalLatticeTo_p_Lattice2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((Lattice2D *) ((HexagonalLattice *) x)); +static void *_p_HexagonalLattice2DTo_p_Lattice2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((Lattice2D *) ((HexagonalLattice2D *) x)); } static void *_p_ParticleCompositionTo_p_IParticle(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IParticle *) ((ParticleComposition *) x)); @@ -76518,6 +76121,15 @@ static void *_p_ParticleTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) static void *_p_Lattice2DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((Lattice2D *) x)); } +static void *_p_BasicLattice2DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ICloneable *) (Lattice2D *) ((BasicLattice2D *) x)); +} +static void *_p_SquareLattice2DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ICloneable *) (Lattice2D *) ((SquareLattice2D *) x)); +} +static void *_p_HexagonalLattice2DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((ICloneable *) (Lattice2D *) ((HexagonalLattice2D *) x)); +} static void *_p_IFTDecayFunction1DTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) ((IFTDecayFunction1D *) x)); } @@ -76665,15 +76277,6 @@ static void *_p_FormFactorLongBoxLorentzTo_p_ICloneable(void *x, int *SWIGUNUSED static void *_p_FormFactorSawtoothRippleLorentzTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (ISample *)(IFormFactor *)(IFormFactorBorn *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); } -static void *_p_BasicLatticeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (Lattice2D *) ((BasicLattice *) x)); -} -static void *_p_SquareLatticeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (Lattice2D *) ((SquareLattice *) x)); -} -static void *_p_HexagonalLatticeTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((ICloneable *) (Lattice2D *) ((HexagonalLattice *) x)); -} static void *_p_FTDistribution1DTriangleTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IFTDistribution1D *) ((FTDistribution1DTriangle *) x)); } @@ -76884,6 +76487,15 @@ static void *_p_ParticleTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { static void *_p_Lattice2DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) ((Lattice2D *) x)); } +static void *_p_BasicLattice2DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((INode *) (Lattice2D *) ((BasicLattice2D *) x)); +} +static void *_p_SquareLattice2DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((INode *) (Lattice2D *) ((SquareLattice2D *) x)); +} +static void *_p_HexagonalLattice2DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((INode *) (Lattice2D *) ((HexagonalLattice2D *) x)); +} static void *_p_IFTDecayFunction1DTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) ((IFTDecayFunction1D *) x)); } @@ -77031,15 +76643,6 @@ static void *_p_FormFactorLongBoxLorentzTo_p_INode(void *x, int *SWIGUNUSEDPARM( static void *_p_FormFactorSawtoothRippleLorentzTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (ISample *)(IFormFactor *)(IFormFactorBorn *)(IProfileRipple *)(ISawtoothRipple *) ((FormFactorSawtoothRippleLorentz *) x)); } -static void *_p_BasicLatticeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (Lattice2D *) ((BasicLattice *) x)); -} -static void *_p_SquareLatticeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (Lattice2D *) ((SquareLattice *) x)); -} -static void *_p_HexagonalLatticeTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { - return (void *)((INode *) (Lattice2D *) ((HexagonalLattice *) x)); -} static void *_p_FTDecayFunction1DTriangleTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFTDecayFunction1D *) ((FTDecayFunction1DTriangle *) x)); } @@ -77481,7 +77084,7 @@ static void *_p_FTDistribution2DGateTo_p_IFTDistribution2D(void *x, int *SWIGUNU static void *_p_FTDistribution2DConeTo_p_IFTDistribution2D(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((IFTDistribution2D *) ((FTDistribution2DCone *) x)); } -static swig_type_info _swigt__p_BasicLattice = {"_p_BasicLattice", "BasicLattice *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_BasicLattice2D = {"_p_BasicLattice2D", "BasicLattice2D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_BasicVector3DT_double_t = {"_p_BasicVector3DT_double_t", "std::vector< BasicVector3D< double > >::value_type *|kvector_t *|BasicVector3D< double > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_BasicVector3DT_int_t = {"_p_BasicVector3DT_int_t", "ivector_t *|BasicVector3D< int > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_BasicVector3DT_std__complexT_double_t_t = {"_p_BasicVector3DT_std__complexT_double_t_t", "BasicVector3D< std::complex< double > > *|std::vector< BasicVector3D< std::complex< double > > >::value_type *|cvector_t *", 0, 0, (void*)0, 0}; @@ -77542,7 +77145,7 @@ static swig_type_info _swigt__p_FormFactorTruncatedSphere = {"_p_FormFactorTrunc static swig_type_info _swigt__p_FormFactorTruncatedSpheroid = {"_p_FormFactorTruncatedSpheroid", "FormFactorTruncatedSpheroid *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FormFactorWeighted = {"_p_FormFactorWeighted", "FormFactorWeighted *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_GaussFisherPeakShape = {"_p_GaussFisherPeakShape", "GaussFisherPeakShape *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_HexagonalLattice = {"_p_HexagonalLattice", "HexagonalLattice *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_HexagonalLattice2D = {"_p_HexagonalLattice2D", "HexagonalLattice2D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IAbstractParticle = {"_p_IAbstractParticle", "IAbstractParticle *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ICloneable = {"_p_ICloneable", "ICloneable *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ICosineRipple = {"_p_ICosineRipple", "ICosineRipple *", 0, 0, (void*)0, 0}; @@ -77617,7 +77220,7 @@ static swig_type_info _swigt__p_SimpleSelectionRule = {"_p_SimpleSelectionRule", static swig_type_info _swigt__p_SimulationOptions = {"_p_SimulationOptions", "SimulationOptions *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SlicedParticle = {"_p_SlicedParticle", "SlicedParticle *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SlicingEffects = {"_p_SlicingEffects", "SlicingEffects *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_SquareLattice = {"_p_SquareLattice", "SquareLattice *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_SquareLattice2D = {"_p_SquareLattice2D", "SquareLattice2D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ThreadInfo = {"_p_ThreadInfo", "ThreadInfo *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Transform3D = {"_p_Transform3D", "Transform3D *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_WavevectorInfo = {"_p_WavevectorInfo", "WavevectorInfo *", 0, 0, (void*)0, 0}; @@ -77680,7 +77283,7 @@ static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0, 0, (void*)0, 0}; static swig_type_info *swig_type_initial[] = { - &_swigt__p_BasicLattice, + &_swigt__p_BasicLattice2D, &_swigt__p_BasicVector3DT_double_t, &_swigt__p_BasicVector3DT_int_t, &_swigt__p_BasicVector3DT_std__complexT_double_t_t, @@ -77741,7 +77344,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_FormFactorTruncatedSpheroid, &_swigt__p_FormFactorWeighted, &_swigt__p_GaussFisherPeakShape, - &_swigt__p_HexagonalLattice, + &_swigt__p_HexagonalLattice2D, &_swigt__p_IAbstractParticle, &_swigt__p_ICloneable, &_swigt__p_ICosineRipple, @@ -77816,7 +77419,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_SimulationOptions, &_swigt__p_SlicedParticle, &_swigt__p_SlicingEffects, - &_swigt__p_SquareLattice, + &_swigt__p_SquareLattice2D, &_swigt__p_ThreadInfo, &_swigt__p_Transform3D, &_swigt__p_WavevectorInfo, @@ -77879,7 +77482,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_value_type, }; -static swig_cast_info _swigc__p_BasicLattice[] = { {&_swigt__p_BasicLattice, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_BasicLattice2D[] = { {&_swigt__p_BasicLattice2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_BasicVector3DT_double_t[] = { {&_swigt__p_BasicVector3DT_double_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_BasicVector3DT_int_t[] = { {&_swigt__p_BasicVector3DT_int_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_BasicVector3DT_std__complexT_double_t_t[] = { {&_swigt__p_BasicVector3DT_std__complexT_double_t_t, 0, 0, 0},{0, 0, 0, 0}}; @@ -77940,9 +77543,9 @@ static swig_cast_info _swigc__p_FormFactorTruncatedSphere[] = { {&_swigt__p_For static swig_cast_info _swigc__p_FormFactorTruncatedSpheroid[] = { {&_swigt__p_FormFactorTruncatedSpheroid, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FormFactorWeighted[] = { {&_swigt__p_FormFactorWeighted, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_GaussFisherPeakShape[] = { {&_swigt__p_GaussFisherPeakShape, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_HexagonalLattice[] = { {&_swigt__p_HexagonalLattice, 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_IAbstractParticle[] = { {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_IAbstractParticle, 0, 0}, {&_swigt__p_ParticleDistribution, _p_ParticleDistributionTo_p_IAbstractParticle, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_IAbstractParticle, 0, 0}, {&_swigt__p_IAbstractParticle, 0, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_IAbstractParticle, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_IAbstractParticle, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_IAbstractParticle, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleDistribution, _p_ParticleDistributionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_ICloneable, 0, 0}, {&_swigt__p_ISample, _p_ISampleTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorBorn, _p_IFormFactorBornTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_ICloneable, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_ICloneable, 0, 0}, {&_swigt__p_ParameterPool, _p_ParameterPoolTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorDot, _p_FormFactorDotTo_p_ICloneable, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ICloneable, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_BasicLattice, _p_BasicLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_SquareLattice, _p_SquareLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_HexagonalLattice, _p_HexagonalLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_ICloneable[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_ICloneable, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleDistribution, _p_ParticleDistributionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_ICloneable, 0, 0}, {&_swigt__p_ISample, _p_ISampleTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorBorn, _p_IFormFactorBornTo_p_ICloneable, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_ICloneable, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_ICloneable, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_ICloneable, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_ICloneable, 0, 0}, {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_ICloneable, 0, 0}, {&_swigt__p_ParameterPool, _p_ParameterPoolTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_ICloneable, 0, 0}, {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorDot, _p_FormFactorDotTo_p_ICloneable, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_ICloneable, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_ICloneable, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_ICloneable, 0, 0}, {&_swigt__p_ICloneable, 0, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_ICloneable, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ICosineRipple[] = { {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_ICosineRipple, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_ICosineRipple, 0, 0}, {&_swigt__p_ICosineRipple, 0, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_ICosineRipple, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFTDecayFunction1D[] = { {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_IFTDecayFunction1D, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_IFTDecayFunction1D, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_IFTDecayFunction1D, 0, 0}, {&_swigt__p_IFTDecayFunction1D, 0, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_IFTDecayFunction1D, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFTDecayFunction2D[] = { {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_IFTDecayFunction2D, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_IFTDecayFunction2D, 0, 0}, {&_swigt__p_IFTDecayFunction2D, 0, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_IFTDecayFunction2D, 0, 0},{0, 0, 0, 0}}; @@ -77955,9 +77558,9 @@ static swig_cast_info _swigc__p_IFormFactorDecorator[] = { {&_swigt__p_IFormFac static swig_cast_info _swigc__p_IFormFactorPolyhedron[] = { {&_swigt__p_IFormFactorPolyhedron, 0, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IFormFactorPolyhedron, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IFormFactorPolyhedron, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IFormFactorPrism[] = { {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IFormFactorPrism, 0, 0}, {&_swigt__p_IFormFactorPrism, 0, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IFormFactorPrism, 0, 0}, {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IFormFactorPrism, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IInterferenceFunction[] = { {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_IInterferenceFunction, 0, 0, 0}, {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_IInterferenceFunction, 0, 0}, {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_IInterferenceFunction, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_INode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_INode, 0, 0}, {&_swigt__p_ParticleDistribution, _p_ParticleDistributionTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_INode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_INode, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_INode, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_INode, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_INode, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_INode, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_INode, 0, 0}, {&_swigt__p_ISample, _p_ISampleTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_INode, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_INode, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorBorn, _p_IFormFactorBornTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_INode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_INode, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_INode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_INode, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_INode, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_INode, 0, 0}, {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_INode, 0, 0}, {&_swigt__p_FormFactorDot, _p_FormFactorDotTo_p_INode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_INode, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_INode, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_INode, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_INode, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_BasicLattice, _p_BasicLatticeTo_p_INode, 0, 0}, {&_swigt__p_SquareLattice, _p_SquareLatticeTo_p_INode, 0, 0}, {&_swigt__p_HexagonalLattice, _p_HexagonalLatticeTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_INode, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_INode, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_INode, 0, 0}, {&_swigt__p_ParticleDistribution, _p_ParticleDistributionTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_INode, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_INode, 0, 0}, {&_swigt__p_INode, 0, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_INode, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_INode, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_INode, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_INode, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_INode, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_INode, 0, 0}, {&_swigt__p_ISample, _p_ISampleTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_INode, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_INode, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_INode, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_INode, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_INode, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_INode, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_INode, 0, 0}, {&_swigt__p_IFormFactorBorn, _p_IFormFactorBornTo_p_INode, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_INode, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_INode, 0, 0}, {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_INode, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_INode, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_INode, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_INode, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_INode, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_INode, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_INode, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_INode, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_INode, 0, 0}, {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_INode, 0, 0}, {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_INode, 0, 0}, {&_swigt__p_FormFactorDot, _p_FormFactorDotTo_p_INode, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_INode, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_INode, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_INode, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_INode, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_INode, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_INode, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_INode, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_INode, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_INode, 0, 0}, {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_INode, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_INode, 0, 0}, {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_INode, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_INode, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_INode, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_INodeVisitor[] = { {&_swigt__p_INodeVisitor, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_IParameterized[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IParameterized, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_IParameterized, 0, 0}, {&_swigt__p_ParameterDistribution, _p_ParameterDistributionTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleDistribution, _p_ParticleDistributionTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IParameterized, 0, 0}, {&_swigt__p_INode, _p_INodeTo_p_IParameterized, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_IParameterized, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_IParameterized, 0, 0}, {&_swigt__p_ISample, _p_ISampleTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_IParameterized, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorBorn, _p_IFormFactorBornTo_p_IParameterized, 0, 0}, {&_swigt__p_ISampleBuilder, _p_ISampleBuilderTo_p_IParameterized, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_IParameterized, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_IParameterized, 0, 0}, {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_IParameterized, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_IParameterized, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_IParameterized, 0, 0}, {&_swigt__p_IParameterized, 0, 0, 0}, {&_swigt__p_FormFactorDot, _p_FormFactorDotTo_p_IParameterized, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_IParameterized, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_BasicLattice, _p_BasicLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_SquareLattice, _p_SquareLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_HexagonalLattice, _p_HexagonalLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_IParameterized, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_IParameterized[] = { {&_swigt__p_FormFactorBox, _p_FormFactorBoxTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSphereGaussianRadius, _p_FormFactorSphereGaussianRadiusTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSphereLogNormalRadius, _p_FormFactorSphereLogNormalRadiusTo_p_IParameterized, 0, 0}, {&_swigt__p_MultiLayer, _p_MultiLayerTo_p_IParameterized, 0, 0}, {&_swigt__p_ParameterDistribution, _p_ParameterDistributionTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleDistribution, _p_ParticleDistributionTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DGauss, _p_FTDecayFunction1DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DGauss, _p_FTDistribution1DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionNone, _p_InterferenceFunctionNoneTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleLayout, _p_ParticleLayoutTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorHemiEllipsoid, _p_FormFactorHemiEllipsoidTo_p_IParameterized, 0, 0}, {&_swigt__p_INode, _p_INodeTo_p_IParameterized, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_IPeakShape, _p_IPeakShapeTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorPrism3, _p_FormFactorPrism3To_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorPolyhedron, _p_IFormFactorPolyhedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCuboctahedron, _p_FormFactorCuboctahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorDodecahedron, _p_FormFactorDodecahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorIcosahedron, _p_FormFactorIcosahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTetrahedron, _p_FormFactorTetrahedronTo_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorPrism, _p_IFormFactorPrismTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorPrism6, _p_FormFactorPrism6To_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DCone, _p_FTDistribution2DConeTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_IParameterized, 0, 0}, {&_swigt__p_IProfileRectangularRipple, _p_IProfileRectangularRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_ISawtoothRipple, _p_ISawtoothRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTruncatedSphere, _p_FormFactorTruncatedSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorFullSphere, _p_FormFactorFullSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactor, _p_IFormFactorTo_p_IParameterized, 0, 0}, {&_swigt__p_ISample, _p_ISampleTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorLongBoxGauss, _p_FormFactorLongBoxGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionHardDisk, _p_InterferenceFunctionHardDiskTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DGate, _p_FTDistribution2DGateTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DVoigt, _p_FTDecayFunction1DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DVoigt, _p_FTDistribution1DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_IRotation, _p_IRotationTo_p_IParameterized, 0, 0}, {&_swigt__p_IdentityRotation, _p_IdentityRotationTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTruncatedSpheroid, _p_FormFactorTruncatedSpheroidTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorFullSpheroid, _p_FormFactorFullSpheroidTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationX, _p_RotationXTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCantellatedCube, _p_FormFactorCantellatedCubeTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorTruncatedCube, _p_FormFactorTruncatedCubeTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationY, _p_RotationYTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction2DGauss, _p_FTDecayFunction2DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DGauss, _p_FTDistribution2DGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationZ, _p_RotationZTo_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorBorn, _p_IFormFactorBornTo_p_IParameterized, 0, 0}, {&_swigt__p_ISampleBuilder, _p_ISampleBuilderTo_p_IParameterized, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_IParameterized, 0, 0}, {&_swigt__p_IParticle, _p_IParticleTo_p_IParameterized, 0, 0}, {&_swigt__p_IAbstractParticle, _p_IAbstractParticleTo_p_IParameterized, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_IParameterized, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_IParameterized, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_IParameterized, 0, 0}, {&_swigt__p_Lattice2D, _p_Lattice2DTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDistribution1D, _p_IFTDistribution1DTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDecayFunction1D, _p_IFTDecayFunction1DTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCosineRippleBox, _p_FormFactorCosineRippleBoxTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleBox, _p_FormFactorSawtoothRippleBoxTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCone, _p_FormFactorConeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionTwin, _p_InterferenceFunctionTwinTo_p_IParameterized, 0, 0}, {&_swigt__p_Layer, _p_LayerTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorAnisoPyramid, _p_FormFactorAnisoPyramidTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorPyramid, _p_FormFactorPyramidTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorEllipsoidalCylinder, _p_FormFactorEllipsoidalCylinderTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCylinder, _p_FormFactorCylinderTo_p_IParameterized, 0, 0}, {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DCosine, _p_FTDistribution1DCosineTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DGate, _p_FTDistribution1DGateTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCosineRippleGauss, _p_FormFactorCosineRippleGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleGauss, _p_FormFactorSawtoothRippleGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction2DVoigt, _p_FTDecayFunction2DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DVoigt, _p_FTDistribution2DVoigtTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DCauchy, _p_FTDistribution1DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DCauchy, _p_FTDecayFunction1DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution2DCauchy, _p_FTDistribution2DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction2DCauchy, _p_FTDecayFunction2DCauchyTo_p_IParameterized, 0, 0}, {&_swigt__p_IInterferenceFunction, _p_IInterferenceFunctionTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCone6, _p_FormFactorCone6To_p_IParameterized, 0, 0}, {&_swigt__p_IFormFactorDecorator, _p_IFormFactorDecoratorTo_p_IParameterized, 0, 0}, {&_swigt__p_IParameterized, 0, 0, 0}, {&_swigt__p_FormFactorDot, _p_FormFactorDotTo_p_IParameterized, 0, 0}, {&_swigt__p_LayerRoughness, _p_LayerRoughnessTo_p_IParameterized, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCrystal, _p_FormFactorCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_ICosineRipple, _p_ICosineRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_IProfileRipple, _p_IProfileRippleTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction2DParaCrystal, _p_InterferenceFunction2DParaCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionRadialParaCrystal, _p_InterferenceFunctionRadialParaCrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_Crystal, _p_CrystalTo_p_IParameterized, 0, 0}, {&_swigt__p_Lattice3D, _p_Lattice3DTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorHollowSphere, _p_FormFactorHollowSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorGaussSphere, _p_FormFactorGaussSphereTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDistribution2D, _p_IFTDistribution2DTo_p_IParameterized, 0, 0}, {&_swigt__p_IFTDecayFunction2D, _p_IFTDecayFunction2DTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorWeighted, _p_FormFactorWeightedTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorLongBoxLorentz, _p_FormFactorLongBoxLorentzTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorCosineRippleLorentz, _p_FormFactorCosineRippleLorentzTo_p_IParameterized, 0, 0}, {&_swigt__p_FormFactorSawtoothRippleLorentz, _p_FormFactorSawtoothRippleLorentzTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction2DLattice, _p_InterferenceFunction2DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction1DLattice, _p_InterferenceFunction1DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction2DSuperLattice, _p_InterferenceFunction2DSuperLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunction3DLattice, _p_InterferenceFunction3DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionFinite2DLattice, _p_InterferenceFunctionFinite2DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_InterferenceFunctionFinite3DLattice, _p_InterferenceFunctionFinite3DLatticeTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDistribution1DTriangle, _p_FTDistribution1DTriangleTo_p_IParameterized, 0, 0}, {&_swigt__p_FTDecayFunction1DTriangle, _p_FTDecayFunction1DTriangleTo_p_IParameterized, 0, 0}, {&_swigt__p_RotationEuler, _p_RotationEulerTo_p_IParameterized, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IParticle[] = { {&_swigt__p_ParticleComposition, _p_ParticleCompositionTo_p_IParticle, 0, 0}, {&_swigt__p_MesoCrystal, _p_MesoCrystalTo_p_IParticle, 0, 0}, {&_swigt__p_IParticle, 0, 0, 0}, {&_swigt__p_Particle, _p_ParticleTo_p_IParticle, 0, 0}, {&_swigt__p_ParticleCoreShell, _p_ParticleCoreShellTo_p_IParticle, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IPeakShape[] = { {&_swigt__p_IPeakShape, 0, 0, 0}, {&_swigt__p_IsotropicGaussPeakShape, _p_IsotropicGaussPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_IsotropicLorentzPeakShape, _p_IsotropicLorentzPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_GaussFisherPeakShape, _p_GaussFisherPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_LorentzFisherPeakShape, _p_LorentzFisherPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_MisesFisherGaussPeakShape, _p_MisesFisherGaussPeakShapeTo_p_IPeakShape, 0, 0}, {&_swigt__p_MisesGaussPeakShape, _p_MisesGaussPeakShapeTo_p_IPeakShape, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IProfileRectangularRipple[] = { {&_swigt__p_IProfileRectangularRipple, 0, 0, 0},{0, 0, 0, 0}}; @@ -77981,7 +77584,7 @@ static swig_cast_info _swigc__p_InterferenceFunctionRadialParaCrystal[] = { {&_ static swig_cast_info _swigc__p_InterferenceFunctionTwin[] = { {&_swigt__p_InterferenceFunctionTwin, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IsotropicGaussPeakShape[] = { {&_swigt__p_IsotropicGaussPeakShape, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IsotropicLorentzPeakShape[] = { {&_swigt__p_IsotropicLorentzPeakShape, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_Lattice2D[] = { {&_swigt__p_Lattice2D, 0, 0, 0}, {&_swigt__p_BasicLattice, _p_BasicLatticeTo_p_Lattice2D, 0, 0}, {&_swigt__p_SquareLattice, _p_SquareLatticeTo_p_Lattice2D, 0, 0}, {&_swigt__p_HexagonalLattice, _p_HexagonalLatticeTo_p_Lattice2D, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_Lattice2D[] = { {&_swigt__p_Lattice2D, 0, 0, 0}, {&_swigt__p_BasicLattice2D, _p_BasicLattice2DTo_p_Lattice2D, 0, 0}, {&_swigt__p_SquareLattice2D, _p_SquareLattice2DTo_p_Lattice2D, 0, 0}, {&_swigt__p_HexagonalLattice2D, _p_HexagonalLattice2DTo_p_Lattice2D, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Lattice2D__ReciprocalBases[] = { {&_swigt__p_Lattice2D__ReciprocalBases, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Lattice3D[] = { {&_swigt__p_Lattice3D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Layer[] = { {&_swigt__p_Layer, 0, 0, 0},{0, 0, 0, 0}}; @@ -78015,7 +77618,7 @@ static swig_cast_info _swigc__p_SimpleSelectionRule[] = { {&_swigt__p_SimpleSel static swig_cast_info _swigc__p_SimulationOptions[] = { {&_swigt__p_SimulationOptions, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SlicedParticle[] = { {&_swigt__p_SlicedParticle, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SlicingEffects[] = { {&_swigt__p_SlicingEffects, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_SquareLattice[] = { {&_swigt__p_SquareLattice, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_SquareLattice2D[] = { {&_swigt__p_SquareLattice2D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ThreadInfo[] = { {&_swigt__p_ThreadInfo, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Transform3D[] = { {&_swigt__p_Transform3D, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_WavevectorInfo[] = { {&_swigt__p_WavevectorInfo, 0, 0, 0},{0, 0, 0, 0}}; @@ -78078,7 +77681,7 @@ static swig_cast_info _swigc__p_unsigned_short[] = { {&_swigt__p_unsigned_short static swig_cast_info _swigc__p_value_type[] = { {&_swigt__p_value_type, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info *swig_cast_initial[] = { - _swigc__p_BasicLattice, + _swigc__p_BasicLattice2D, _swigc__p_BasicVector3DT_double_t, _swigc__p_BasicVector3DT_int_t, _swigc__p_BasicVector3DT_std__complexT_double_t_t, @@ -78139,7 +77742,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_FormFactorTruncatedSpheroid, _swigc__p_FormFactorWeighted, _swigc__p_GaussFisherPeakShape, - _swigc__p_HexagonalLattice, + _swigc__p_HexagonalLattice2D, _swigc__p_IAbstractParticle, _swigc__p_ICloneable, _swigc__p_ICosineRipple, @@ -78214,7 +77817,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_SimulationOptions, _swigc__p_SlicedParticle, _swigc__p_SlicingEffects, - _swigc__p_SquareLattice, + _swigc__p_SquareLattice2D, _swigc__p_ThreadInfo, _swigc__p_Transform3D, _swigc__p_WavevectorInfo,