From ca0f8cf6a687023bab9c34687d74ca640635d2f5 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Sat, 28 Nov 2020 21:41:54 +0100 Subject: [PATCH] SampleToPython: Doxy com, rename fct and var and auxiliary class --- ...leLabelHandler.cpp => ModelKeyHandler.cpp} | 20 +- ...SampleLabelHandler.h => ModelKeyHandler.h} | 14 +- Core/Export/SampleToPython.cpp | 36 +-- Core/Export/SampleToPython.h | 4 +- auto/Wrap/doxygenCore.i | 127 +++------ auto/Wrap/libBornAgainDevice_wrap.cpp | 249 +++++++++++------- 6 files changed, 222 insertions(+), 228 deletions(-) rename Core/Export/{SampleLabelHandler.cpp => ModelKeyHandler.cpp} (60%) rename Core/Export/{SampleLabelHandler.h => ModelKeyHandler.h} (74%) diff --git a/Core/Export/SampleLabelHandler.cpp b/Core/Export/ModelKeyHandler.cpp similarity index 60% rename from Core/Export/SampleLabelHandler.cpp rename to Core/Export/ModelKeyHandler.cpp index d467bafab19..df118776a01 100644 --- a/Core/Export/SampleLabelHandler.cpp +++ b/Core/Export/ModelKeyHandler.cpp @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit scattering at grazing incidence // -//! @file Core/Export/SampleLabelHandler.cpp -//! @brief Implement class SampleLabelHandler. +//! @file Core/Export/ModelKeyHandler.cpp +//! @brief Implement class ModelKeyHandler. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,25 +12,25 @@ // // ************************************************************************************************ -#include "Core/Export/SampleLabelHandler.h" +#include "Core/Export/ModelKeyHandler.h" #include <algorithm> #include <set> #include <stdexcept> -void SampleLabelHandler::insertKeyedObject(const std::string& key, const IModel* s) { - m_objects[key].emplace_back(s); +void ModelKeyHandler::insertModel(const std::string& tag, const IModel* s) { + m_objects[tag].emplace_back(s); } -std::string SampleLabelHandler::obj2key(const IModel* s) const { +std::string ModelKeyHandler::obj2key(const IModel* s) const { for (auto it: m_objects) { const std::vector<const IModel*>& v = it.second; const auto vpos = std::find(v.begin(), v.end(), s); if (vpos == std::end(v)) continue; - const std::string& key = it.first; + const std::string& tag = it.first; if (v.size() == 1) - return key; - return key + "_" + std::to_string(vpos - v.begin() + 1); + return tag; + return tag + "_" + std::to_string(vpos - v.begin() + 1); } - throw std::runtime_error("BUG: object not found in SampleLabelHandler"); + throw std::runtime_error("BUG: object not found in ModelKeyHandler"); } diff --git a/Core/Export/SampleLabelHandler.h b/Core/Export/ModelKeyHandler.h similarity index 74% rename from Core/Export/SampleLabelHandler.h rename to Core/Export/ModelKeyHandler.h index 1b74143d3b9..7e640c792b4 100644 --- a/Core/Export/SampleLabelHandler.h +++ b/Core/Export/ModelKeyHandler.h @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit scattering at grazing incidence // -//! @file Core/Export/SampleLabelHandler.h -//! @brief Defines classes LabelMap and SampleLabelHandler. +//! @file Core/Export/ModelKeyHandler.h +//! @brief Defines classes LabelMap and ModelKeyHandler. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -21,14 +21,12 @@ class IModel; -//! The handler which construct labels for sample variables during python script generation. +//! Stores IModel instances, associates them with given tag, and provides unique keys. //! @ingroup tools_internal -class SampleLabelHandler { +class ModelKeyHandler { public: - SampleLabelHandler() {} - - void insertKeyedObject(const std::string& key, const IModel* s); + void insertModel(const std::string& tag, const IModel* s); template <class T> std::vector<const T*> objectsOfType() const; std::string obj2key(const IModel* s) const; @@ -38,7 +36,7 @@ private: }; -template <class T> std::vector<const T*> SampleLabelHandler::objectsOfType() const { +template <class T> std::vector<const T*> ModelKeyHandler::objectsOfType() const { std::vector<const T*> ret; for (auto it: m_objects) for (const IModel* s : it.second) diff --git a/Core/Export/SampleToPython.cpp b/Core/Export/SampleToPython.cpp index 7c7de1fe4ba..6b5d8237a11 100644 --- a/Core/Export/SampleToPython.cpp +++ b/Core/Export/SampleToPython.cpp @@ -18,7 +18,7 @@ #include "Core/Export/INodeUtils.h" #include "Core/Export/PyFmt.h" #include "Core/Export/PyFmt2.h" -#include "Core/Export/SampleLabelHandler.h" +#include "Core/Export/ModelKeyHandler.h" #include "Param/Varia/ParameterUtils.h" #include "Sample/Aggregate/InterferenceFunctions.h" #include "Sample/Aggregate/ParticleLayout.h" @@ -101,39 +101,39 @@ std::string SampleToPython::generateSampleCode(const MultiLayer& multilayer) { } void SampleToPython::initLabels(const MultiLayer& multilayer) { - m_objs.reset(new SampleLabelHandler()); + m_objs.reset(new ModelKeyHandler()); - m_objs->insertKeyedObject("sample", &multilayer); + m_objs->insertModel("sample", &multilayer); for (const auto* x : multilayer.containedMaterials()) - m_objs->insertKeyedObject("mat_"+x->getName(), x); + m_objs->insertModel("mat_"+x->getName(), x); for (const auto* x : INodeUtils::AllDescendantsOfType<Layer>(multilayer)) - m_objs->insertKeyedObject("layer", x); + m_objs->insertModel("layer", x); for (const auto* x : INodeUtils::AllDescendantsOfType<LayerRoughness>(multilayer)) - m_objs->insertKeyedObject("roughness", x); + m_objs->insertModel("roughness", x); for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleLayout>(multilayer)) - m_objs->insertKeyedObject("layout", x); + m_objs->insertModel("layout", x); for (const auto* x : INodeUtils::AllDescendantsOfType<IFormFactor>(multilayer)) - m_objs->insertKeyedObject("ff", x); + m_objs->insertModel("ff", x); for (const auto* x : INodeUtils::AllDescendantsOfType<IInterferenceFunction>(multilayer)) - m_objs->insertKeyedObject("iff", x); + m_objs->insertModel("iff", x); for (const auto* x : INodeUtils::AllDescendantsOfType<Particle>(multilayer)) - m_objs->insertKeyedObject("particle", x); + m_objs->insertModel("particle", x); for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleComposition>(multilayer)) - m_objs->insertKeyedObject("particle", x); + m_objs->insertModel("particle", x); for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleCoreShell>(multilayer)) - m_objs->insertKeyedObject("particle", x); + m_objs->insertModel("particle", x); for (const auto* x : INodeUtils::AllDescendantsOfType<MesoCrystal>(multilayer)) - m_objs->insertKeyedObject("particle", x); + m_objs->insertModel("particle", x); for (const auto* x : INodeUtils::AllDescendantsOfType<ParticleDistribution>(multilayer)) - m_objs->insertKeyedObject("particle_distrib", x); + m_objs->insertModel("particle_distrib", x); for (const auto* x : INodeUtils::AllDescendantsOfType<Lattice2D>(multilayer)) - m_objs->insertKeyedObject("lattice", x); + m_objs->insertModel("lattice", x); for (const auto* x : INodeUtils::AllDescendantsOfType<Lattice3D>(multilayer)) - m_objs->insertKeyedObject("lattice", x); + m_objs->insertModel("lattice", x); for (const auto* x : INodeUtils::AllDescendantsOfType<Crystal>(multilayer)) - m_objs->insertKeyedObject("crystal", x); + m_objs->insertModel("crystal", x); for (const auto* x : INodeUtils::AllDescendantsOfType<IRotation>(multilayer)) - m_objs->insertKeyedObject("rotation", x); + m_objs->insertModel("rotation", x); } SampleToPython::SampleToPython() = default; diff --git a/Core/Export/SampleToPython.h b/Core/Export/SampleToPython.h index 6a9b1aedafe..d7d5b820cc2 100644 --- a/Core/Export/SampleToPython.h +++ b/Core/Export/SampleToPython.h @@ -20,7 +20,7 @@ class IParticle; class MultiLayer; -class SampleLabelHandler; +class ModelKeyHandler; //! Generates Python code snippet from domain (C++) objects representing sample construction. @@ -51,7 +51,7 @@ private: std::string defineRoughnesses() const; std::string defineMultiLayers() const; - std::unique_ptr<SampleLabelHandler> m_objs; + std::unique_ptr<ModelKeyHandler> m_objs; }; #endif // BORNAGAIN_CORE_EXPORT_SAMPLETOPYTHON_H diff --git a/auto/Wrap/doxygenCore.i b/auto/Wrap/doxygenCore.i index c6abf5110b2..0de88ef8917 100644 --- a/auto/Wrap/doxygenCore.i +++ b/auto/Wrap/doxygenCore.i @@ -1200,6 +1200,24 @@ user-defined weighting factors. Used linearly, no matter which norm is chosen. "; +// File: classModelKeyHandler.xml +%feature("docstring") ModelKeyHandler " + +Stores IModel instances, associates them with given tag, and provides unique keys. + +C++ includes: ModelKeyHandler.h +"; + +%feature("docstring") ModelKeyHandler::insertModel "void ModelKeyHandler::insertModel(const std::string &tag, const IModel *s) +"; + +%feature("docstring") ModelKeyHandler::objectsOfType "std::vector< const T * > ModelKeyHandler::objectsOfType() const +"; + +%feature("docstring") ModelKeyHandler::obj2key "std::string ModelKeyHandler::obj2key(const IModel *s) const +"; + + // File: classMPISimulation.xml %feature("docstring") MPISimulation ""; @@ -1343,57 +1361,6 @@ Returns the total number of the intensity values in the simulation result. "; -// File: classOrderedMap.xml -%feature("docstring") OrderedMap " - -Ordered map which saves the order of insertion. - -C++ includes: OrderedMap.h -"; - -%feature("docstring") OrderedMap::OrderedMap "OrderedMap< Key, Object >::OrderedMap() -"; - -%feature("docstring") OrderedMap::~OrderedMap "virtual OrderedMap< Key, Object >::~OrderedMap() -"; - -%feature("docstring") OrderedMap::clear "void OrderedMap< Key, Object >::clear() -"; - -%feature("docstring") OrderedMap::begin "const_iterator OrderedMap< Key, Object >::begin() const -"; - -%feature("docstring") OrderedMap::end "const_iterator OrderedMap< Key, Object >::end() const -"; - -%feature("docstring") OrderedMap::begin "iterator OrderedMap< Key, Object >::begin() -"; - -%feature("docstring") OrderedMap::end "iterator OrderedMap< Key, Object >::end() -"; - -%feature("docstring") OrderedMap::size "size_t OrderedMap< Key, Object >::size() const -"; - -%feature("docstring") OrderedMap::empty "bool OrderedMap< Key, Object >::empty() const -"; - -%feature("docstring") OrderedMap::insert "void OrderedMap< Key, Object >::insert(const Key &key, const Object &object) -"; - -%feature("docstring") OrderedMap::find "iterator OrderedMap< Key, Object >::find(const Key &key) -"; - -%feature("docstring") OrderedMap::find "const_iterator OrderedMap< Key, Object >::find(const Key &key) const -"; - -%feature("docstring") OrderedMap::erase "size_t OrderedMap< Key, Object >::erase(const Key &key) -"; - -%feature("docstring") OrderedMap::value "const Object& OrderedMap< Key, Object >::value(const Key &key) const -"; - - // File: classOutputData.xml %feature("docstring") OutputData ""; @@ -1742,27 +1709,6 @@ boolean, defines if data uncertainties should be taken into account "; -// File: classSampleLabelHandler.xml -%feature("docstring") SampleLabelHandler " - -The handler which construct labels for sample variables during python script generation. - -C++ includes: SampleLabelHandler.h -"; - -%feature("docstring") SampleLabelHandler::SampleLabelHandler "SampleLabelHandler::SampleLabelHandler() -"; - -%feature("docstring") SampleLabelHandler::insertKeyedObject "void SampleLabelHandler::insertKeyedObject(const std::string &key, const IModel *s) -"; - -%feature("docstring") SampleLabelHandler::objectsOfType "std::vector< const T * > SampleLabelHandler::objectsOfType() const -"; - -%feature("docstring") SampleLabelHandler::obj2key "std::string SampleLabelHandler::obj2key(const IModel *s) const -"; - - // File: classSampleToPython.xml %feature("docstring") SampleToPython " @@ -2176,43 +2122,43 @@ Returns default units to convert to. // File: namespace_0d19.xml -// File: namespace_0d39.xml +// File: namespace_0d38.xml -// File: namespace_0d41.xml +// File: namespace_0d40.xml -// File: namespace_0d46.xml +// File: namespace_0d45.xml -// File: namespace_0d55.xml +// File: namespace_0d54.xml -// File: namespace_0d57.xml +// File: namespace_0d56.xml -// File: namespace_0d61.xml +// File: namespace_0d60.xml -// File: namespace_0d63.xml +// File: namespace_0d62.xml -// File: namespace_0d68.xml +// File: namespace_0d67.xml -// File: namespace_0d70.xml +// File: namespace_0d69.xml -// File: namespace_0d74.xml +// File: namespace_0d73.xml -// File: namespace_0d84.xml +// File: namespace_0d83.xml -// File: namespace_0d86.xml +// File: namespace_0d85.xml -// File: namespace_0d92.xml +// File: namespace_0d91.xml // File: namespaceExportToPython.xml @@ -2659,7 +2605,10 @@ Helper factory function to use in GISASSimulation. Depending on the type of det // File: INodeUtils_8h.xml -// File: OrderedMap_8h.xml +// File: ModelKeyHandler_8cpp.xml + + +// File: ModelKeyHandler_8h.xml // File: PyFmt_8cpp.xml @@ -2680,12 +2629,6 @@ Helper factory function to use in GISASSimulation. Depending on the type of det // File: PyFmtLimits_8h.xml -// File: SampleLabelHandler_8cpp.xml - - -// File: SampleLabelHandler_8h.xml - - // File: SampleToPython_8cpp.xml diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp index 2eaf9ae9429..12b39e06e5f 100644 --- a/auto/Wrap/libBornAgainDevice_wrap.cpp +++ b/auto/Wrap/libBornAgainDevice_wrap.cpp @@ -3122,102 +3122,103 @@ namespace Swig { #define SWIGTYPE_p_IFootprintFactor swig_types[22] #define SWIGTYPE_p_IHistogram swig_types[23] #define SWIGTYPE_p_IIntensityFunction swig_types[24] -#define SWIGTYPE_p_INode swig_types[25] -#define SWIGTYPE_p_INodeVisitor swig_types[26] -#define SWIGTYPE_p_IParameterized swig_types[27] -#define SWIGTYPE_p_IPixel swig_types[28] -#define SWIGTYPE_p_IRangedDistribution swig_types[29] -#define SWIGTYPE_p_IResolutionFunction2D swig_types[30] -#define SWIGTYPE_p_IShape2D swig_types[31] -#define SWIGTYPE_p_IUnitConverter swig_types[32] -#define SWIGTYPE_p_IVarianceFunction swig_types[33] -#define SWIGTYPE_p_Instrument swig_types[34] -#define SWIGTYPE_p_IntensityDataIOFactory swig_types[35] -#define SWIGTYPE_p_IntensityFunctionLog swig_types[36] -#define SWIGTYPE_p_IntensityFunctionSqrt swig_types[37] -#define SWIGTYPE_p_IsGISAXSDetector swig_types[38] -#define SWIGTYPE_p_Line swig_types[39] -#define SWIGTYPE_p_OutputDataIteratorT_double_OutputDataT_double_t_t swig_types[40] -#define SWIGTYPE_p_OutputDataIteratorT_double_const_OutputDataT_double_t_const_t swig_types[41] -#define SWIGTYPE_p_OutputDataT_CumulativeValue_t swig_types[42] -#define SWIGTYPE_p_OutputDataT_bool_t swig_types[43] -#define SWIGTYPE_p_OutputDataT_double_t swig_types[44] -#define SWIGTYPE_p_ParameterDistribution swig_types[45] -#define SWIGTYPE_p_ParameterPool swig_types[46] -#define SWIGTYPE_p_Polygon swig_types[47] -#define SWIGTYPE_p_PolygonPrivate swig_types[48] -#define SWIGTYPE_p_Rectangle swig_types[49] -#define SWIGTYPE_p_RectangularDetector swig_types[50] -#define SWIGTYPE_p_RectangularPixel swig_types[51] -#define SWIGTYPE_p_RegionOfInterest swig_types[52] -#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[53] -#define SWIGTYPE_p_ScanResolution swig_types[54] -#define SWIGTYPE_p_SimulationResult swig_types[55] -#define SWIGTYPE_p_SphericalDetector swig_types[56] -#define SWIGTYPE_p_VarianceConstantFunction swig_types[57] -#define SWIGTYPE_p_VarianceSimFunction swig_types[58] -#define SWIGTYPE_p_VerticalLine swig_types[59] -#define SWIGTYPE_p_allocator_type swig_types[60] -#define SWIGTYPE_p_bool swig_types[61] -#define SWIGTYPE_p_char swig_types[62] -#define SWIGTYPE_p_const_iterator swig_types[63] -#define SWIGTYPE_p_corr_matrix_t swig_types[64] -#define SWIGTYPE_p_difference_type swig_types[65] -#define SWIGTYPE_p_double swig_types[66] -#define SWIGTYPE_p_first_type swig_types[67] -#define SWIGTYPE_p_int swig_types[68] -#define SWIGTYPE_p_iterator swig_types[69] -#define SWIGTYPE_p_key_type swig_types[70] -#define SWIGTYPE_p_long_long swig_types[71] -#define SWIGTYPE_p_mapped_type swig_types[72] -#define SWIGTYPE_p_p_PyObject swig_types[73] -#define SWIGTYPE_p_parameters_t swig_types[74] -#define SWIGTYPE_p_second_type swig_types[75] -#define SWIGTYPE_p_short swig_types[76] -#define SWIGTYPE_p_signed_char swig_types[77] -#define SWIGTYPE_p_size_type swig_types[78] -#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t swig_types[79] -#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t swig_types[80] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[81] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[82] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[83] -#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[84] -#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[85] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[86] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[87] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[88] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[89] -#define SWIGTYPE_p_std__complexT_double_t swig_types[90] -#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[91] -#define SWIGTYPE_p_std__invalid_argument swig_types[92] -#define SWIGTYPE_p_std__lessT_std__string_t swig_types[93] -#define SWIGTYPE_p_std__mapT_Axes__Units_char_const_p_std__lessT_Axes__Units_t_std__allocatorT_std__pairT_Axes__Units_const_char_const_p_t_t_t swig_types[94] -#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[95] -#define SWIGTYPE_p_std__pairT_double_double_t swig_types[96] -#define SWIGTYPE_p_std__vectorT_Axes__Units_std__allocatorT_Axes__Units_t_t swig_types[97] -#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[98] -#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[99] -#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[100] -#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[101] -#define SWIGTYPE_p_std__vectorT_SimulationElement_std__allocatorT_SimulationElement_t_t swig_types[102] -#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[103] -#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[104] -#define SWIGTYPE_p_std__vectorT_size_t_std__allocatorT_size_t_t_t swig_types[105] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[106] -#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[107] -#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[108] -#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[109] -#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[110] -#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[111] -#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[112] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[113] -#define SWIGTYPE_p_unsigned_char swig_types[114] -#define SWIGTYPE_p_unsigned_int swig_types[115] -#define SWIGTYPE_p_unsigned_long_long swig_types[116] -#define SWIGTYPE_p_unsigned_short swig_types[117] -#define SWIGTYPE_p_value_type swig_types[118] -static swig_type_info *swig_types[120]; -static swig_module_info swig_module = {swig_types, 119, 0, 0, 0, 0}; +#define SWIGTYPE_p_IModel swig_types[25] +#define SWIGTYPE_p_INode swig_types[26] +#define SWIGTYPE_p_INodeVisitor swig_types[27] +#define SWIGTYPE_p_IParameterized swig_types[28] +#define SWIGTYPE_p_IPixel swig_types[29] +#define SWIGTYPE_p_IRangedDistribution swig_types[30] +#define SWIGTYPE_p_IResolutionFunction2D swig_types[31] +#define SWIGTYPE_p_IShape2D swig_types[32] +#define SWIGTYPE_p_IUnitConverter swig_types[33] +#define SWIGTYPE_p_IVarianceFunction swig_types[34] +#define SWIGTYPE_p_Instrument swig_types[35] +#define SWIGTYPE_p_IntensityDataIOFactory swig_types[36] +#define SWIGTYPE_p_IntensityFunctionLog swig_types[37] +#define SWIGTYPE_p_IntensityFunctionSqrt swig_types[38] +#define SWIGTYPE_p_IsGISAXSDetector swig_types[39] +#define SWIGTYPE_p_Line swig_types[40] +#define SWIGTYPE_p_OutputDataIteratorT_double_OutputDataT_double_t_t swig_types[41] +#define SWIGTYPE_p_OutputDataIteratorT_double_const_OutputDataT_double_t_const_t swig_types[42] +#define SWIGTYPE_p_OutputDataT_CumulativeValue_t swig_types[43] +#define SWIGTYPE_p_OutputDataT_bool_t swig_types[44] +#define SWIGTYPE_p_OutputDataT_double_t swig_types[45] +#define SWIGTYPE_p_ParameterDistribution swig_types[46] +#define SWIGTYPE_p_ParameterPool swig_types[47] +#define SWIGTYPE_p_Polygon swig_types[48] +#define SWIGTYPE_p_PolygonPrivate swig_types[49] +#define SWIGTYPE_p_Rectangle swig_types[50] +#define SWIGTYPE_p_RectangularDetector swig_types[51] +#define SWIGTYPE_p_RectangularPixel swig_types[52] +#define SWIGTYPE_p_RegionOfInterest swig_types[53] +#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[54] +#define SWIGTYPE_p_ScanResolution swig_types[55] +#define SWIGTYPE_p_SimulationResult swig_types[56] +#define SWIGTYPE_p_SphericalDetector swig_types[57] +#define SWIGTYPE_p_VarianceConstantFunction swig_types[58] +#define SWIGTYPE_p_VarianceSimFunction swig_types[59] +#define SWIGTYPE_p_VerticalLine swig_types[60] +#define SWIGTYPE_p_allocator_type swig_types[61] +#define SWIGTYPE_p_bool swig_types[62] +#define SWIGTYPE_p_char swig_types[63] +#define SWIGTYPE_p_const_iterator swig_types[64] +#define SWIGTYPE_p_corr_matrix_t swig_types[65] +#define SWIGTYPE_p_difference_type swig_types[66] +#define SWIGTYPE_p_double swig_types[67] +#define SWIGTYPE_p_first_type swig_types[68] +#define SWIGTYPE_p_int swig_types[69] +#define SWIGTYPE_p_iterator swig_types[70] +#define SWIGTYPE_p_key_type swig_types[71] +#define SWIGTYPE_p_long_long swig_types[72] +#define SWIGTYPE_p_mapped_type swig_types[73] +#define SWIGTYPE_p_p_PyObject swig_types[74] +#define SWIGTYPE_p_parameters_t swig_types[75] +#define SWIGTYPE_p_second_type swig_types[76] +#define SWIGTYPE_p_short swig_types[77] +#define SWIGTYPE_p_signed_char swig_types[78] +#define SWIGTYPE_p_size_type swig_types[79] +#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t swig_types[80] +#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t swig_types[81] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[82] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[83] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[84] +#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[85] +#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[86] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[87] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[88] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[89] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[90] +#define SWIGTYPE_p_std__complexT_double_t swig_types[91] +#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[92] +#define SWIGTYPE_p_std__invalid_argument swig_types[93] +#define SWIGTYPE_p_std__lessT_std__string_t swig_types[94] +#define SWIGTYPE_p_std__mapT_Axes__Units_char_const_p_std__lessT_Axes__Units_t_std__allocatorT_std__pairT_Axes__Units_const_char_const_p_t_t_t swig_types[95] +#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[96] +#define SWIGTYPE_p_std__pairT_double_double_t swig_types[97] +#define SWIGTYPE_p_std__vectorT_Axes__Units_std__allocatorT_Axes__Units_t_t swig_types[98] +#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[99] +#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[100] +#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[101] +#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[102] +#define SWIGTYPE_p_std__vectorT_SimulationElement_std__allocatorT_SimulationElement_t_t swig_types[103] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[104] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[105] +#define SWIGTYPE_p_std__vectorT_size_t_std__allocatorT_size_t_t_t swig_types[106] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[107] +#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[108] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[109] +#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[110] +#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[111] +#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[112] +#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[113] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[114] +#define SWIGTYPE_p_unsigned_char swig_types[115] +#define SWIGTYPE_p_unsigned_int swig_types[116] +#define SWIGTYPE_p_unsigned_long_long swig_types[117] +#define SWIGTYPE_p_unsigned_short swig_types[118] +#define SWIGTYPE_p_value_type swig_types[119] +static swig_type_info *swig_types[121]; +static swig_module_info swig_module = {swig_types, 120, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -48868,6 +48869,54 @@ static void *_p_IResolutionFunction2DTo_p_ICloneable(void *x, int *SWIGUNUSEDPAR static void *_p_LineTo_p_ICloneable(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((ICloneable *) (IShape2D *) ((Line *) x)); } +static void *_p_FootprintGaussTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *)(IFootprintFactor *) ((FootprintGauss *) x)); +} +static void *_p_IDetectorResolutionTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *) ((IDetectorResolution *) x)); +} +static void *_p_IDetector2DTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *)(IDetector *) ((IDetector2D *) x)); +} +static void *_p_INodeTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *) ((INode *) x)); +} +static void *_p_ResolutionFunction2DGaussianTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *)(IResolutionFunction2D *) ((ResolutionFunction2DGaussian *) x)); +} +static void *_p_IFootprintFactorTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *) ((IFootprintFactor *) x)); +} +static void *_p_InstrumentTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *) ((Instrument *) x)); +} +static void *_p_BeamTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *) ((Beam *) x)); +} +static void *_p_RectangularDetectorTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *)(IDetector *)(IDetector2D *) ((RectangularDetector *) x)); +} +static void *_p_IDetectorTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *) ((IDetector *) x)); +} +static void *_p_SphericalDetectorTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *)(IDetector *)(IDetector2D *) ((SphericalDetector *) x)); +} +static void *_p_IsGISAXSDetectorTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *)(IDetector *)(IDetector2D *)(SphericalDetector *) ((IsGISAXSDetector *) x)); +} +static void *_p_ParameterDistributionTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *) ((ParameterDistribution *) x)); +} +static void *_p_FootprintSquareTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *)(IFootprintFactor *) ((FootprintSquare *) x)); +} +static void *_p_IParameterizedTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) ((IParameterized *) x)); +} +static void *_p_IResolutionFunction2DTo_p_IModel(void *x, int *SWIGUNUSEDPARM(newmemory)) { + return (void *)((IModel *) (IParameterized *)(INode *) ((IResolutionFunction2D *) x)); +} static void *_p_FootprintSquareTo_p_INode(void *x, int *SWIGUNUSEDPARM(newmemory)) { return (void *)((INode *) (IFootprintFactor *) ((FootprintSquare *) x)); } @@ -48996,10 +49045,11 @@ static swig_type_info _swigt__p_IDetectorResolution = {"_p_IDetectorResolution", static swig_type_info _swigt__p_IFootprintFactor = {"_p_IFootprintFactor", "IFootprintFactor *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IHistogram = {"_p_IHistogram", "IHistogram *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IIntensityFunction = {"_p_IIntensityFunction", "IIntensityFunction *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_IModel = {"_p_IModel", "IModel *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_ParameterDistribution = {"_p_ParameterDistribution", 0, 0, 0, 0, 0}; static swig_type_info _swigt__p_INode = {"_p_INode", "INode *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_INodeVisitor = {"_p_INodeVisitor", "INodeVisitor *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IParameterized = {"_p_IParameterized", "IParameterized *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_ParameterDistribution = {"_p_ParameterDistribution", 0, 0, 0, 0, 0}; static swig_type_info _swigt__p_IPixel = {"_p_IPixel", "IPixel *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IRangedDistribution = {"_p_IRangedDistribution", "IRangedDistribution *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IResolutionFunction2D = {"_p_IResolutionFunction2D", "IResolutionFunction2D *", 0, 0, (void*)0, 0}; @@ -49116,6 +49166,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_IFootprintFactor, &_swigt__p_IHistogram, &_swigt__p_IIntensityFunction, + &_swigt__p_IModel, &_swigt__p_INode, &_swigt__p_INodeVisitor, &_swigt__p_IParameterized, @@ -49238,9 +49289,10 @@ static swig_cast_info _swigc__p_IDetectorResolution[] = { {&_swigt__p_IDetector static swig_cast_info _swigc__p_IFootprintFactor[] = { {&_swigt__p_FootprintSquare, _p_FootprintSquareTo_p_IFootprintFactor, 0, 0}, {&_swigt__p_IFootprintFactor, 0, 0, 0}, {&_swigt__p_FootprintGauss, _p_FootprintGaussTo_p_IFootprintFactor, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IHistogram[] = { {&_swigt__p_IHistogram, 0, 0, 0}, {&_swigt__p_Histogram2D, _p_Histogram2DTo_p_IHistogram, 0, 0}, {&_swigt__p_Histogram1D, _p_Histogram1DTo_p_IHistogram, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IIntensityFunction[] = { {&_swigt__p_IntensityFunctionSqrt, _p_IntensityFunctionSqrtTo_p_IIntensityFunction, 0, 0}, {&_swigt__p_IIntensityFunction, 0, 0, 0}, {&_swigt__p_IntensityFunctionLog, _p_IntensityFunctionLogTo_p_IIntensityFunction, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_ParameterDistribution[] = {{&_swigt__p_ParameterDistribution, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_IModel[] = { {&_swigt__p_Beam, _p_BeamTo_p_IModel, 0, 0}, {&_swigt__p_FootprintGauss, _p_FootprintGaussTo_p_IModel, 0, 0}, {&_swigt__p_IModel, 0, 0, 0}, {&_swigt__p_IDetectorResolution, _p_IDetectorResolutionTo_p_IModel, 0, 0}, {&_swigt__p_IDetector2D, _p_IDetector2DTo_p_IModel, 0, 0}, {&_swigt__p_ResolutionFunction2DGaussian, _p_ResolutionFunction2DGaussianTo_p_IModel, 0, 0}, {&_swigt__p_IFootprintFactor, _p_IFootprintFactorTo_p_IModel, 0, 0}, {&_swigt__p_Instrument, _p_InstrumentTo_p_IModel, 0, 0}, {&_swigt__p_IDetector, _p_IDetectorTo_p_IModel, 0, 0}, {&_swigt__p_IsGISAXSDetector, _p_IsGISAXSDetectorTo_p_IModel, 0, 0}, {&_swigt__p_SphericalDetector, _p_SphericalDetectorTo_p_IModel, 0, 0}, {&_swigt__p_RectangularDetector, _p_RectangularDetectorTo_p_IModel, 0, 0}, {&_swigt__p_ParameterDistribution, _p_ParameterDistributionTo_p_IModel, 0, 0}, {&_swigt__p_FootprintSquare, _p_FootprintSquareTo_p_IModel, 0, 0}, {&_swigt__p_INode, _p_INodeTo_p_IModel, 0, 0}, {&_swigt__p_IResolutionFunction2D, _p_IResolutionFunction2DTo_p_IModel, 0, 0}, {&_swigt__p_IParameterized, _p_IParameterizedTo_p_IModel, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_INode[] = { {&_swigt__p_Beam, _p_BeamTo_p_INode, 0, 0}, {&_swigt__p_FootprintGauss, _p_FootprintGaussTo_p_INode, 0, 0}, {&_swigt__p_IDetectorResolution, _p_IDetectorResolutionTo_p_INode, 0, 0}, {&_swigt__p_IDetector2D, _p_IDetector2DTo_p_INode, 0, 0}, {&_swigt__p_ResolutionFunction2DGaussian, _p_ResolutionFunction2DGaussianTo_p_INode, 0, 0}, {&_swigt__p_IFootprintFactor, _p_IFootprintFactorTo_p_INode, 0, 0}, {&_swigt__p_Instrument, _p_InstrumentTo_p_INode, 0, 0}, {&_swigt__p_IDetector, _p_IDetectorTo_p_INode, 0, 0}, {&_swigt__p_IsGISAXSDetector, _p_IsGISAXSDetectorTo_p_INode, 0, 0}, {&_swigt__p_SphericalDetector, _p_SphericalDetectorTo_p_INode, 0, 0}, {&_swigt__p_RectangularDetector, _p_RectangularDetectorTo_p_INode, 0, 0}, {&_swigt__p_FootprintSquare, _p_FootprintSquareTo_p_INode, 0, 0}, {&_swigt__p_IResolutionFunction2D, _p_IResolutionFunction2DTo_p_INode, 0, 0}, {&_swigt__p_INode, 0, 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_ParameterDistribution[] = {{&_swigt__p_ParameterDistribution, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IParameterized[] = { {&_swigt__p_Beam, _p_BeamTo_p_IParameterized, 0, 0}, {&_swigt__p_FootprintGauss, _p_FootprintGaussTo_p_IParameterized, 0, 0}, {&_swigt__p_IDetectorResolution, _p_IDetectorResolutionTo_p_IParameterized, 0, 0}, {&_swigt__p_IDetector2D, _p_IDetector2DTo_p_IParameterized, 0, 0}, {&_swigt__p_ResolutionFunction2DGaussian, _p_ResolutionFunction2DGaussianTo_p_IParameterized, 0, 0}, {&_swigt__p_IFootprintFactor, _p_IFootprintFactorTo_p_IParameterized, 0, 0}, {&_swigt__p_Instrument, _p_InstrumentTo_p_IParameterized, 0, 0}, {&_swigt__p_IDetector, _p_IDetectorTo_p_IParameterized, 0, 0}, {&_swigt__p_IsGISAXSDetector, _p_IsGISAXSDetectorTo_p_IParameterized, 0, 0}, {&_swigt__p_SphericalDetector, _p_SphericalDetectorTo_p_IParameterized, 0, 0}, {&_swigt__p_RectangularDetector, _p_RectangularDetectorTo_p_IParameterized, 0, 0}, {&_swigt__p_ParameterDistribution, _p_ParameterDistributionTo_p_IParameterized, 0, 0}, {&_swigt__p_FootprintSquare, _p_FootprintSquareTo_p_IParameterized, 0, 0}, {&_swigt__p_IParameterized, 0, 0, 0}, {&_swigt__p_INode, _p_INodeTo_p_IParameterized, 0, 0}, {&_swigt__p_IResolutionFunction2D, _p_IResolutionFunction2DTo_p_IParameterized, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IPixel[] = { {&_swigt__p_IPixel, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IRangedDistribution[] = { {&_swigt__p_IRangedDistribution, 0, 0, 0},{0, 0, 0, 0}}; @@ -49358,6 +49410,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_IFootprintFactor, _swigc__p_IHistogram, _swigc__p_IIntensityFunction, + _swigc__p_IModel, _swigc__p_INode, _swigc__p_INodeVisitor, _swigc__p_IParameterized, -- GitLab