From c656f00ef6bd64a93ff27955f5467f6619bc2f05 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Thu, 13 Aug 2020 21:21:16 +0200 Subject: [PATCH] Most FormFactor classes now delegating parameter registration to INode. <code> import edtools, re, sys nodeList = '''\ FormFactorAnisoPyramid ./Core/HardParticle/FormFactorAnisoPyramid FormFactorBox ./Core/HardParticle/FormFactorBox FormFactorCantellatedCube ./Core/HardParticle/FormFactorCantellatedCube FormFactorCone6 ./Core/HardParticle/FormFactorCone6 FormFactorCone ./Core/HardParticle/FormFactorCone FormFactorCuboctahedron ./Core/HardParticle/FormFactorCuboctahedron FormFactorCylinder ./Core/HardParticle/FormFactorCylinder FormFactorDodecahedron ./Core/HardParticle/FormFactorDodecahedron FormFactorDot ./Core/HardParticle/FormFactorDot FormFactorEllipsoidalCylinder ./Core/HardParticle/FormFactorEllipsoidalCylinder FormFactorFullSphere ./Core/HardParticle/FormFactorFullSphere FormFactorFullSpheroid ./Core/HardParticle/FormFactorFullSpheroid FormFactorHollowSphere ./Core/HardParticle/FormFactorHollowSphere FormFactorGaussSphere ./Core/SoftParticle/FormFactorGauss FormFactorHemiEllipsoid ./Core/HardParticle/FormFactorHemiEllipsoid FormFactorIcosahedron ./Core/HardParticle/FormFactorIcosahedron FormFactorLongBoxGauss ./Core/HardParticle/FormFactorLongBoxGauss FormFactorLongBoxLorentz ./Core/HardParticle/FormFactorLongBoxLorentz FormFactorPrism3 ./Core/HardParticle/FormFactorPrism3 FormFactorPrism6 ./Core/HardParticle/FormFactorPrism6 FormFactorPyramid ./Core/HardParticle/FormFactorPyramid FormFactorSphereGaussianRadius ./Core/SoftParticle/FormFactorSphereGaussianRadius FormFactorSphereLogNormalRadius ./Core/SoftParticle/FormFactorSphereLogNormalRadius FormFactorTetrahedron ./Core/HardParticle/FormFactorTetrahedron FormFactorTriangle ./Core/HardParticle/FormFactorTriangle FormFactorTruncatedCube ./Core/HardParticle/FormFactorTruncatedCube FormFactorTruncatedSphere ./Core/HardParticle/FormFactorTruncatedSphere FormFactorTruncatedSpheroid ./Core/HardParticle/FormFactorTruncatedSpheroid ''' def get_and_check_ctor_args(t, vars): avars = [] if t!="": args = re.split(',\s+', t) for a in args: mm = re.search(r'double (\w+)( = \S+?)?', a) if not mm: raise Exception("Unexpected argument '%s' in constructor" % a) avars.append(mm.group(1)) ndiff = len(avars) - len(vars) if ndiff<0: raise Exception("Not enough constructor args") for i in range(len(vars)): if avars[ndiff+i] != vars[i]: raise Exception("Argument '%s' does not match variable '%s'" % (avars[ndiff+i], vars[i])) return avars def refactor_class(node, fnbase): fnc = fnbase+".cpp" fnh = fnbase+".h" with open(fnh, 'r') as f: th = f.read() with open(fnc, 'r') as f: tc = f.read() # class declaration -> find base class m = re.search(r'\nclass (BA_CORE_API_ )?%s\s+(final\s+)?:\s+public\s+(\w+)' % node, th) if not m: raise Exception(node+": base class not found") baseClass = m.group(3) print("\n"+fnbase+": "+node+" < "+baseClass) # find constructor implementation ctors = [] for m in re.finditer(r'^%s::%s(.*?^){(.*?)^}' % (node, node), tc, re.M | re.DOTALL): inits = m.group(1) if re.search(node, inits): continue # it's a delegating c'tor, ignorable for our purpose ctors.append(m.group(2)) if len(ctors)==0: raise Exception("Constructor for "+node+" not found in "+fnc) if len(ctors)>1: raise Exception("Several constructors for "+node+" found in "+fnc) blocks = re.split(r';', ctors[0]) names = [] vars = [] units = [] minis = [] maxis = [] cname = '"NamelessClass"' for cmd in blocks: m = re.search(r'setName\((".*?")\)', cmd) if m: cname = m.group(1) continue for cmd in blocks: m = re.search(r'registerParameter(.*)', cmd) if not m: continue txt = m.group(1) m = re.match(r'\((".*?"), &m_(\w+)\)(\.setUnit\((".*?")\))?(\.set\w+\(.*?\))?$', txt) if not m: print(node, "-->nonstandard args-->", txt) continue names.append(m.group(1)) vars.append(m.group(2)) units.append(m.group(4) or '""') if not m.group(5): minis.append("-INF") maxis.append("+INF") else: limits = m.group(5) if re.match(r'\.set(Nonnegative|Postive)', limits): minis.append("0") maxis.append("+INF") else: mm = re.match(r'.setLimited\((.*?),\s+(.*?)\)', limits) minis.append(mm.group(1)) maxis.append(mm.group(2)) print(node, " ", cname, names, vars, units, minis, maxis) def ed_h(fn, t): ti = t # add P-based c'tor pattern = r'(\n %s\(' % node pattern += r'((double\s+\w+)?' pattern += r'(,\s+double\s+\w+)*)' pattern += r'(,\s+bool position_at_center = false)?' pattern += r'(,\s+size_t n_samples)?' pattern += r'\);\n)' m = re.search(pattern, t, re.S) if not m: raise Exception("Constructor not matched") ctor = m.group(1) avars = get_and_check_ctor_args(m.group(2), vars) arg_pac = edtools.found_or_empty(r', bool position_at_center = false', ctor) arg_nsa = "" if re.search(r', size_t n_samples', ctor): arg_nsa = ', size_t n_samples = 0' outpat = r'\n %s(const std::vector<double> P%s%s);\1' % (node, arg_pac, arg_nsa) t = re.sub(pattern, outpat, t, 0, re.S) # declare references; for var in vars: t = re.sub(r'(\n )(double)( m_%s;)' % var, r'\1const \2&\3', t) return t edtools.ed_file(ed_h, fnh) def ed_c(fn, t): # add P-based c'tor pattern = r'\n%s::%s\(' % (node, node) pattern += r'((.*?)' pattern += r'((,\s+bool position_at_center)?' pattern += r'(,\s+size_t n_samples)?))' pattern += r'\)(.*?)\n({.*?\n})' m = re.search(pattern, t, re.S) if not m: print(pattern) raise Exception("c'tor not found in cpp file") allargs = m.group(1) avars = get_and_check_ctor_args(m.group(2), vars) optargs = m.group(3) have_pac = (m.group(4) is not None) have_nsa = m.group(5) is not None block = m.group(7) for i in range(len(vars)): block = re.sub(r'.*registerPar.*\n', '', block) block = re.sub(r'.*setName\(.*\n', '', block) # new c'tor with old implementation block outpat = r'\n%s::%s(const std::vector<double> P' % (node, node) if have_pac: outpat += r', bool position_at_center' if have_nsa: outpat += r', size_t n_samples' outpat += r')\n : %s({%s, %s, {' % (baseClass, cname, '"class_tooltip"') outpat += ', '.join([r'{%s, %s, %s, %s, %s, 0}' % (names[i], units[i], '"para_tooltip"', minis[i], maxis[i]) for i in range(len(names))]) outpat += r'}}, P)\n' for i in range(len(vars)): outpat += r' , m_%s(m_P[%i])\n' % (vars[i], i) if have_pac: outpat += r' , m_position_at_center(position_at_center)\n' if have_nsa: outpat += r' , m_n_samples(n_samples)\n' outpat += edtools.text2re(block) # old c'tor refers to new c'tor outpat += r'\n\n%s::%s(' % (node, node) outpat += r'%s)\n : %s(std::vector<double>{%s}' % (allargs, node, ', '.join(avars)) if have_pac: outpat += r', position_at_center' if have_nsa: outpat += r', n_samples' outpat += r')\n{}\n' t = re.sub(pattern, outpat, t, 0, re.S) if not re.search(r'registerPar', t): t = re.sub(r'#include "Core/Parametrization/ParameterPool.h"\n', '', t) t = re.sub(r'#include "Core/Parametrization/RealParameter.h"\n', '', t) return t edtools.ed_file(ed_c, fnc) nsuccess = 0 nfailure = 0 nodeEntries = re.split(r'\n', nodeList.rstrip()) for entry in nodeEntries: node, fnbase = re.split(' ', entry) try: refactor_class(node, fnbase) print("SUCCESS "+node) nsuccess += 1 except Exception as e: print("FAILURE "+node+": "+str(e)) nfailure += 1 print("%i/%i class conversions failed" % (nfailure, nsuccess+nfailure)) </code> --- Core/HardParticle/FormFactorAnisoPyramid.cpp | 22 +- Core/HardParticle/FormFactorAnisoPyramid.h | 9 +- Core/HardParticle/FormFactorBox.cpp | 20 +- Core/HardParticle/FormFactorBox.h | 7 +- .../FormFactorCantellatedCube.cpp | 18 +- Core/HardParticle/FormFactorCantellatedCube.h | 5 +- Core/HardParticle/FormFactorCone.cpp | 20 +- Core/HardParticle/FormFactorCone.h | 7 +- Core/HardParticle/FormFactorCone6.cpp | 20 +- Core/HardParticle/FormFactorCone6.h | 7 +- Core/HardParticle/FormFactorCuboctahedron.cpp | 23 +- Core/HardParticle/FormFactorCuboctahedron.h | 9 +- Core/HardParticle/FormFactorCylinder.cpp | 18 +- Core/HardParticle/FormFactorCylinder.h | 5 +- Core/HardParticle/FormFactorDodecahedron.cpp | 13 +- Core/HardParticle/FormFactorDodecahedron.h | 3 +- Core/HardParticle/FormFactorDot.cpp | 9 +- Core/HardParticle/FormFactorDot.h | 3 +- .../FormFactorEllipsoidalCylinder.cpp | 20 +- .../FormFactorEllipsoidalCylinder.h | 7 +- Core/HardParticle/FormFactorFullSphere.cpp | 14 +- Core/HardParticle/FormFactorFullSphere.h | 3 +- Core/HardParticle/FormFactorFullSpheroid.cpp | 18 +- Core/HardParticle/FormFactorFullSpheroid.h | 5 +- Core/HardParticle/FormFactorHemiEllipsoid.cpp | 20 +- Core/HardParticle/FormFactorHemiEllipsoid.h | 7 +- Core/HardParticle/FormFactorHollowSphere.cpp | 18 +- Core/HardParticle/FormFactorHollowSphere.h | 5 +- Core/HardParticle/FormFactorIcosahedron.cpp | 13 +- Core/HardParticle/FormFactorIcosahedron.h | 3 +- Core/HardParticle/FormFactorLongBoxGauss.cpp | 20 +- Core/HardParticle/FormFactorLongBoxGauss.h | 7 +- .../HardParticle/FormFactorLongBoxLorentz.cpp | 20 +- Core/HardParticle/FormFactorLongBoxLorentz.h | 7 +- Core/HardParticle/FormFactorPrism3.cpp | 18 +- Core/HardParticle/FormFactorPrism3.h | 5 +- Core/HardParticle/FormFactorPrism6.cpp | 18 +- Core/HardParticle/FormFactorPrism6.h | 5 +- Core/HardParticle/FormFactorPyramid.cpp | 20 +- Core/HardParticle/FormFactorPyramid.h | 7 +- Core/HardParticle/FormFactorTetrahedron.cpp | 20 +- Core/HardParticle/FormFactorTetrahedron.h | 7 +- Core/HardParticle/FormFactorTriangle.cpp | 13 +- Core/HardParticle/FormFactorTriangle.h | 3 +- Core/HardParticle/FormFactorTruncatedCube.cpp | 18 +- Core/HardParticle/FormFactorTruncatedCube.h | 5 +- .../FormFactorTruncatedSphere.cpp | 20 +- Core/HardParticle/FormFactorTruncatedSphere.h | 7 +- .../FormFactorTruncatedSpheroid.cpp | 24 +- .../FormFactorTruncatedSpheroid.h | 9 +- Core/SoftParticle/FormFactorGauss.cpp | 15 +- Core/SoftParticle/FormFactorGauss.h | 3 +- .../FormFactorSphereGaussianRadius.cpp | 18 +- .../FormFactorSphereGaussianRadius.h | 5 +- .../FormFactorSphereLogNormalRadius.cpp | 19 +- .../FormFactorSphereLogNormalRadius.h | 5 +- auto/Wrap/libBornAgainCore.py | 141 +- auto/Wrap/libBornAgainCore_wrap.cpp | 2105 ++++++++++++++++- 58 files changed, 2511 insertions(+), 404 deletions(-) diff --git a/Core/HardParticle/FormFactorAnisoPyramid.cpp b/Core/HardParticle/FormFactorAnisoPyramid.cpp index 4f47062504a..4b034cf3385 100644 --- a/Core/HardParticle/FormFactorAnisoPyramid.cpp +++ b/Core/HardParticle/FormFactorAnisoPyramid.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorAnisoPyramid.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Tools/MathFunctions.h" const PolyhedralTopology FormFactorAnisoPyramid::topology = {{{{3, 2, 1, 0}, true}, @@ -31,16 +30,23 @@ const PolyhedralTopology FormFactorAnisoPyramid::topology = {{{{3, 2, 1, 0}, tru //! @param width: width of the rectangular base in nm //! @param height: height of pyramid in nm //! @param alpha: dihedral angle in radians between base and facet +FormFactorAnisoPyramid::FormFactorAnisoPyramid(const std::vector<double> P) + : FormFactorPolyhedron({"AnisoPyramid", + "class_tooltip", + {{"Length", "nm", "para_tooltip", 0, +INF, 0}, + {"Width", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}}, + P), + m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2]), m_alpha(m_P[3]) +{ + onChange(); +} + FormFactorAnisoPyramid::FormFactorAnisoPyramid(double length, double width, double height, double alpha) - : FormFactorPolyhedron(), m_length(length), m_width(width), m_height(height), m_alpha(alpha) + : FormFactorAnisoPyramid(std::vector<double>{length, width, height, alpha}) { - setName("AnisoPyramid"); - registerParameter("Length", &m_length).setUnit("nm").setNonnegative(); - registerParameter("Width", &m_width).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("Alpha", &m_alpha).setUnit("rad").setLimited(0., M_PI_2); - onChange(); } IFormFactor* FormFactorAnisoPyramid::sliceFormFactor(ZLimits limits, const IRotation& rot, diff --git a/Core/HardParticle/FormFactorAnisoPyramid.h b/Core/HardParticle/FormFactorAnisoPyramid.h index 5684a97bad5..ae85f38501d 100644 --- a/Core/HardParticle/FormFactorAnisoPyramid.h +++ b/Core/HardParticle/FormFactorAnisoPyramid.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorAnisoPyramid : public FormFactorPolyhedron { public: + FormFactorAnisoPyramid(const std::vector<double> P); FormFactorAnisoPyramid(double length, double width, double height, double alpha); FormFactorAnisoPyramid* clone() const override final @@ -45,10 +46,10 @@ protected: private: static const PolyhedralTopology topology; - double m_length; - double m_width; - double m_height; - double m_alpha; + const double& m_length; + const double& m_width; + const double& m_height; + const double& m_alpha; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORANISOPYRAMID_H diff --git a/Core/HardParticle/FormFactorBox.cpp b/Core/HardParticle/FormFactorBox.cpp index 219b4953b0a..64bc064a844 100644 --- a/Core/HardParticle/FormFactorBox.cpp +++ b/Core/HardParticle/FormFactorBox.cpp @@ -13,23 +13,29 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorBox.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Tools/MathFunctions.h" //! Constructor of a rectangular cuboid. //! @param length: length of the base in nanometers //! @param width: width of the base in nanometers //! @param height: height of the box in nanometers -FormFactorBox::FormFactorBox(double length, double width, double height) - : m_length(length), m_width(width), m_height(height) +FormFactorBox::FormFactorBox(const std::vector<double> P) + : FormFactorPolygonalPrism({"Box", + "class_tooltip", + {{"Length", "nm", "para_tooltip", 0, +INF, 0}, + {"Width", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2]) { - setName("Box"); - registerParameter("Length", &m_length).setUnit("nm").setNonnegative(); - registerParameter("Width", &m_width).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorBox::FormFactorBox(double length, double width, double height) + : FormFactorBox(std::vector<double>{length, width, height}) +{ +} + complex_t FormFactorBox::evaluate_for_q(cvector_t q) const { complex_t qzHdiv2 = m_height / 2 * q.z(); diff --git a/Core/HardParticle/FormFactorBox.h b/Core/HardParticle/FormFactorBox.h index f3689c207f7..99af81279b9 100644 --- a/Core/HardParticle/FormFactorBox.h +++ b/Core/HardParticle/FormFactorBox.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorBox : public FormFactorPolygonalPrism { public: + FormFactorBox(const std::vector<double> P); FormFactorBox(double length, double width, double height); FormFactorBox* clone() const override final @@ -47,9 +48,9 @@ protected: double height() const final { return m_height; } private: - double m_length; - double m_width; - double m_height; + const double& m_length; + const double& m_width; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORBOX_H diff --git a/Core/HardParticle/FormFactorCantellatedCube.cpp b/Core/HardParticle/FormFactorCantellatedCube.cpp index 319e8f82d63..bf88c253ed5 100644 --- a/Core/HardParticle/FormFactorCantellatedCube.cpp +++ b/Core/HardParticle/FormFactorCantellatedCube.cpp @@ -14,7 +14,6 @@ #include "Core/HardParticle/FormFactorCantellatedCube.h" #include "Core/Basics/Exceptions.h" -#include "Core/Parametrization/RealParameter.h" const PolyhedralTopology FormFactorCantellatedCube::topology = { { @@ -50,15 +49,22 @@ const PolyhedralTopology FormFactorCantellatedCube::topology = { //! Constructor of a truncated cube. //! @param length: length of the full cube's edge in nanometers //! @param removed_length: removed length from each edge of the cube in nanometers -FormFactorCantellatedCube::FormFactorCantellatedCube(double length, double removed_length) - : FormFactorPolyhedron(), m_length(length), m_removed_length(removed_length) +FormFactorCantellatedCube::FormFactorCantellatedCube(const std::vector<double> P) + : FormFactorPolyhedron({"CantellatedCube", + "class_tooltip", + {{"Length", "nm", "para_tooltip", 0, +INF, 0}, + {"RemovedLength", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_length(m_P[0]), m_removed_length(m_P[1]) { - setName("CantellatedCube"); - registerParameter("Length", &m_length).setUnit("nm").setNonnegative(); - registerParameter("RemovedLength", &m_removed_length).setUnit("nm").setNonnegative(); onChange(); } +FormFactorCantellatedCube::FormFactorCantellatedCube(double length, double removed_length) + : FormFactorCantellatedCube(std::vector<double>{length, removed_length}) +{ +} + void FormFactorCantellatedCube::onChange() { if (m_removed_length > 0.5 * m_length) { diff --git a/Core/HardParticle/FormFactorCantellatedCube.h b/Core/HardParticle/FormFactorCantellatedCube.h index 17c6731a7bf..0737e7992d0 100644 --- a/Core/HardParticle/FormFactorCantellatedCube.h +++ b/Core/HardParticle/FormFactorCantellatedCube.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorCantellatedCube : public FormFactorPolyhedron { public: + FormFactorCantellatedCube(const std::vector<double> P); FormFactorCantellatedCube(double length, double removed_length); FormFactorCantellatedCube* clone() const override final @@ -39,8 +40,8 @@ protected: private: static const PolyhedralTopology topology; - double m_length; - double m_removed_length; + const double& m_length; + const double& m_removed_length; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORCANTELLATEDCUBE_H diff --git a/Core/HardParticle/FormFactorCone.cpp b/Core/HardParticle/FormFactorCone.cpp index 8616fa9fa09..3959d13a924 100644 --- a/Core/HardParticle/FormFactorCone.cpp +++ b/Core/HardParticle/FormFactorCone.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorCone.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/DoubleEllipse.h" #include "Core/Tools/MathFunctions.h" #include <limits> @@ -24,10 +23,15 @@ //! @param radius: radius of the base in nanometers //! @param height: height of the cone in nanometers //! @param alpha: angle between the base and the side surface in radians -FormFactorCone::FormFactorCone(double radius, double height, double alpha) - : m_radius(radius), m_height(height), m_alpha(alpha) +FormFactorCone::FormFactorCone(const std::vector<double> P) + : IFormFactorBorn({"Cone", + "class_tooltip", + {{"Radius", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}}, + P), + m_radius(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2]) { - setName("Cone"); m_cot_alpha = MathFunctions::cot(m_alpha); if (!std::isfinite(m_cot_alpha) || m_cot_alpha < 0) throw Exceptions::OutOfBoundsException("pyramid angle alpha out of bounds"); @@ -40,12 +44,14 @@ FormFactorCone::FormFactorCone(double radius, double height, double alpha) ostr << "Check for 'height <= radius*tan(alpha)' failed."; throw Exceptions::ClassInitializationException(ostr.str()); } - registerParameter("Radius", &m_radius).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("Alpha", &m_alpha).setUnit("rad").setLimited(0., M_PI_2); onChange(); } +FormFactorCone::FormFactorCone(double radius, double height, double alpha) + : FormFactorCone(std::vector<double>{radius, height, alpha}) +{ +} + //! Integrand for complex form factor. complex_t FormFactorCone::Integrand(double Z) const { diff --git a/Core/HardParticle/FormFactorCone.h b/Core/HardParticle/FormFactorCone.h index b11065dd52e..73913a44030 100644 --- a/Core/HardParticle/FormFactorCone.h +++ b/Core/HardParticle/FormFactorCone.h @@ -24,6 +24,7 @@ class BA_CORE_API_ FormFactorCone : public IFormFactorBorn { public: + FormFactorCone(const std::vector<double> P); FormFactorCone(double radius, double height, double alpha); FormFactorCone* clone() const override final @@ -49,9 +50,9 @@ protected: private: complex_t Integrand(double Z) const; - double m_radius; - double m_height; - double m_alpha; + const double& m_radius; + const double& m_height; + const double& m_alpha; double m_cot_alpha; mutable cvector_t m_q; mutable ComplexIntegrator m_integrator; diff --git a/Core/HardParticle/FormFactorCone6.cpp b/Core/HardParticle/FormFactorCone6.cpp index 89f53229dc6..aeb1c022622 100644 --- a/Core/HardParticle/FormFactorCone6.cpp +++ b/Core/HardParticle/FormFactorCone6.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorCone6.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Tools/MathFunctions.h" const PolyhedralTopology FormFactorCone6::topology = {{{{5, 4, 3, 2, 1, 0}, true}, @@ -32,16 +31,23 @@ const PolyhedralTopology FormFactorCone6::topology = {{{{5, 4, 3, 2, 1, 0}, true //! @param base_edge: Edge of the regular hexagonal base in nanometers //! @param height: height of a truncated pyramid in nanometers //! @param alpha: dihedral angle in radians between base and facet -FormFactorCone6::FormFactorCone6(double base_edge, double height, double alpha) - : FormFactorPolyhedron(), m_base_edge(base_edge), m_height(height), m_alpha(alpha) +FormFactorCone6::FormFactorCone6(const std::vector<double> P) + : FormFactorPolyhedron({"Cone6", + "class_tooltip", + {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}}, + P), + m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2]) { - setName("Cone6"); - registerParameter("BaseEdge", &m_base_edge).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("Alpha", &m_alpha).setUnit("rad").setLimited(0., M_PI_2); onChange(); } +FormFactorCone6::FormFactorCone6(double base_edge, double height, double alpha) + : FormFactorCone6(std::vector<double>{base_edge, height, alpha}) +{ +} + IFormFactor* FormFactorCone6::sliceFormFactor(ZLimits limits, const IRotation& rot, kvector_t translation) const { diff --git a/Core/HardParticle/FormFactorCone6.h b/Core/HardParticle/FormFactorCone6.h index 9e47288f5e9..ae9918c5e61 100644 --- a/Core/HardParticle/FormFactorCone6.h +++ b/Core/HardParticle/FormFactorCone6.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorCone6 : public FormFactorPolyhedron { public: + FormFactorCone6(const std::vector<double> P); FormFactorCone6(double base_edge, double height, double alpha); FormFactorCone6* clone() const override final @@ -43,9 +44,9 @@ protected: private: static const PolyhedralTopology topology; - double m_base_edge; - double m_height; - double m_alpha; + const double& m_base_edge; + const double& m_height; + const double& m_alpha; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORCONE6_H diff --git a/Core/HardParticle/FormFactorCuboctahedron.cpp b/Core/HardParticle/FormFactorCuboctahedron.cpp index 16d86b4e186..59e941aacd8 100644 --- a/Core/HardParticle/FormFactorCuboctahedron.cpp +++ b/Core/HardParticle/FormFactorCuboctahedron.cpp @@ -16,7 +16,6 @@ #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" #include "Core/HardParticle/FormFactorPyramid.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Tools/MathFunctions.h" const PolyhedralTopology FormFactorCuboctahedron::topology = {{{{3, 2, 1, 0}, true}, @@ -37,17 +36,23 @@ const PolyhedralTopology FormFactorCuboctahedron::topology = {{{{3, 2, 1, 0}, tr //! @param height: height of the lower pyramid in nanometers //! @param height_ratio: ratio of heights of top to bottom pyramids //! @param alpha: dihedral angle in radians between base and facet +FormFactorCuboctahedron::FormFactorCuboctahedron(const std::vector<double> P) + : FormFactorPolyhedron({"Cuboctahedron", + "class_tooltip", + {{"Length", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"HeightRatio", "nm", "para_tooltip", 0, +INF, 0}, + {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}}, + P), + m_length(m_P[0]), m_height(m_P[1]), m_height_ratio(m_P[2]), m_alpha(m_P[3]) +{ + onChange(); +} + FormFactorCuboctahedron::FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha) - : FormFactorPolyhedron(), m_length(length), m_height(height), m_height_ratio(height_ratio), - m_alpha(alpha) + : FormFactorCuboctahedron(std::vector<double>{length, height, height_ratio, alpha}) { - setName("Cuboctahedron"); - registerParameter("Length", &m_length).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("HeightRatio", &m_height_ratio).setUnit("nm").setNonnegative(); - registerParameter("Alpha", &m_alpha).setUnit("rad").setLimited(0., M_PI_2); - onChange(); } IFormFactor* FormFactorCuboctahedron::sliceFormFactor(ZLimits limits, const IRotation& rot, diff --git a/Core/HardParticle/FormFactorCuboctahedron.h b/Core/HardParticle/FormFactorCuboctahedron.h index cdc59c649cd..02da5d79440 100644 --- a/Core/HardParticle/FormFactorCuboctahedron.h +++ b/Core/HardParticle/FormFactorCuboctahedron.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorCuboctahedron : public FormFactorPolyhedron { public: + FormFactorCuboctahedron(const std::vector<double> P); FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha); FormFactorCuboctahedron* clone() const override final @@ -45,10 +46,10 @@ protected: private: static const PolyhedralTopology topology; - double m_length; - double m_height; - double m_height_ratio; - double m_alpha; + const double& m_length; + const double& m_height; + const double& m_height_ratio; + const double& m_alpha; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORCUBOCTAHEDRON_H diff --git a/Core/HardParticle/FormFactorCylinder.cpp b/Core/HardParticle/FormFactorCylinder.cpp index a4a4117acd8..b9a55789176 100644 --- a/Core/HardParticle/FormFactorCylinder.cpp +++ b/Core/HardParticle/FormFactorCylinder.cpp @@ -14,22 +14,28 @@ #include "Core/HardParticle/FormFactorCylinder.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/DoubleEllipse.h" #include "Core/Tools/MathFunctions.h" //! Constructor of a cylinder with a circular base. //! @param radius: radius of the circular base in nanometers //! @param height: height of the cylinder in nanometers -FormFactorCylinder::FormFactorCylinder(double radius, double height) - : m_radius(radius), m_height(height) +FormFactorCylinder::FormFactorCylinder(const std::vector<double> P) + : IFormFactorBorn({"Cylinder", + "class_tooltip", + {{"Radius", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_radius(m_P[0]), m_height(m_P[1]) { - setName("Cylinder"); - registerParameter("Radius", &m_radius).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorCylinder::FormFactorCylinder(double radius, double height) + : FormFactorCylinder(std::vector<double>{radius, height}) +{ +} + complex_t FormFactorCylinder::evaluate_for_q(cvector_t q) const { double R = m_radius; diff --git a/Core/HardParticle/FormFactorCylinder.h b/Core/HardParticle/FormFactorCylinder.h index 0715d29c6c2..d1d07f5b110 100644 --- a/Core/HardParticle/FormFactorCylinder.h +++ b/Core/HardParticle/FormFactorCylinder.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorCylinder : public IFormFactorBorn { public: + FormFactorCylinder(const std::vector<double> P); FormFactorCylinder(double radius, double height); FormFactorCylinder* clone() const override final @@ -45,8 +46,8 @@ protected: void onChange() override final; private: - double m_radius; - double m_height; + const double& m_radius; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORCYLINDER_H diff --git a/Core/HardParticle/FormFactorDodecahedron.cpp b/Core/HardParticle/FormFactorDodecahedron.cpp index f52f3d13eb4..cdd2e323e00 100644 --- a/Core/HardParticle/FormFactorDodecahedron.cpp +++ b/Core/HardParticle/FormFactorDodecahedron.cpp @@ -13,7 +13,6 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorDodecahedron.h" -#include "Core/Parametrization/RealParameter.h" const PolyhedralTopology FormFactorDodecahedron::topology = {{// bottom: {{0, 4, 3, 2, 1}, false}, @@ -35,13 +34,19 @@ const PolyhedralTopology FormFactorDodecahedron::topology = {{// bottom: //! Constructor of a dodecahedron. //! @param edge: length of the edge in nanometers -FormFactorDodecahedron::FormFactorDodecahedron(double edge) : FormFactorPolyhedron(), m_edge(edge) +FormFactorDodecahedron::FormFactorDodecahedron(const std::vector<double> P) + : FormFactorPolyhedron( + {"Dodecahedron", "class_tooltip", {{"Edge", "nm", "para_tooltip", 0, +INF, 0}}}, P), + m_edge(m_P[0]) { - setName("Dodecahedron"); - registerParameter("Edge", &m_edge).setUnit("nm").setNonnegative(); onChange(); } +FormFactorDodecahedron::FormFactorDodecahedron(double edge) + : FormFactorDodecahedron(std::vector<double>{edge}) +{ +} + void FormFactorDodecahedron::onChange() { double a = m_edge; diff --git a/Core/HardParticle/FormFactorDodecahedron.h b/Core/HardParticle/FormFactorDodecahedron.h index 4514bceb105..aca1951bbb4 100644 --- a/Core/HardParticle/FormFactorDodecahedron.h +++ b/Core/HardParticle/FormFactorDodecahedron.h @@ -25,6 +25,7 @@ class BA_CORE_API_ FormFactorDodecahedron : public FormFactorPolyhedron public: //! @brief Constructs a regular dodecahedron //! @param edge length + FormFactorDodecahedron(const std::vector<double> P); FormFactorDodecahedron(double edge); FormFactorDodecahedron* clone() const override final @@ -40,7 +41,7 @@ protected: private: static const PolyhedralTopology topology; - double m_edge; + const double& m_edge; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORDODECAHEDRON_H diff --git a/Core/HardParticle/FormFactorDot.cpp b/Core/HardParticle/FormFactorDot.cpp index 6a262be85d7..eeb1a40a34b 100644 --- a/Core/HardParticle/FormFactorDot.cpp +++ b/Core/HardParticle/FormFactorDot.cpp @@ -13,17 +13,18 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorDot.h" -#include "Core/Parametrization/RealParameter.h" //! Constructor. //! @param rscat: radius of a sphere with same forward scattering power, in nanometers -FormFactorDot::FormFactorDot(double radius) : m_radius(radius) +FormFactorDot::FormFactorDot(const std::vector<double> P) + : IFormFactorBorn({"Dot", "class_tooltip", {{"Radius", "nm", "para_tooltip", 0, +INF, 0}}}, P), + m_radius(m_P[0]) { - setName("Dot"); - registerParameter("Radius", &m_radius).setUnit("nm").setNonnegative(); onChange(); } +FormFactorDot::FormFactorDot(double radius) : FormFactorDot(std::vector<double>{radius}) {} + complex_t FormFactorDot::evaluate_for_q(cvector_t) const { return 4 * M_PI / 3 * pow(m_radius, 3); diff --git a/Core/HardParticle/FormFactorDot.h b/Core/HardParticle/FormFactorDot.h index 828c2532ed9..99f16ec1060 100644 --- a/Core/HardParticle/FormFactorDot.h +++ b/Core/HardParticle/FormFactorDot.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorDot : public IFormFactorBorn { public: + FormFactorDot(const std::vector<double> P); FormFactorDot(double radius); FormFactorDot* clone() const override final { return new FormFactorDot(m_radius); } @@ -41,7 +42,7 @@ protected: bool canSliceAnalytically(const IRotation&) const override final { return false; } private: - double m_radius; + const double& m_radius; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORDOT_H diff --git a/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp b/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp index b74cd93288e..93bcbd70e54 100644 --- a/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp +++ b/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp @@ -14,7 +14,6 @@ #include "Core/HardParticle/FormFactorEllipsoidalCylinder.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/DoubleEllipse.h" #include "Core/Tools/MathFunctions.h" @@ -22,15 +21,22 @@ //! @param radius_x: radius of the ellipse base in the x-direction, in nanometers //! @param radius_y: radius of the ellipse base in the y-direction, in nanometers //! @param height: height of the ellipsoidal cylinder in nanometers +FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(const std::vector<double> P) + : IFormFactorBorn({"EllipsoidalCylinder", + "class_tooltip", + {{"RadiusX", "nm", "para_tooltip", 0, +INF, 0}, + {"RadiusY", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_radius_x(m_P[0]), m_radius_y(m_P[1]), m_height(m_P[2]) +{ + onChange(); +} + FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(double radius_x, double radius_y, double height) - : m_radius_x(radius_x), m_radius_y(radius_y), m_height(height) + : FormFactorEllipsoidalCylinder(std::vector<double>{radius_x, radius_y, height}) { - setName("EllipsoidalCylinder"); - registerParameter("RadiusX", &m_radius_x).setUnit("nm").setNonnegative(); - registerParameter("RadiusY", &m_radius_y).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - onChange(); } double FormFactorEllipsoidalCylinder::radialExtension() const diff --git a/Core/HardParticle/FormFactorEllipsoidalCylinder.h b/Core/HardParticle/FormFactorEllipsoidalCylinder.h index ef2686fe7ac..910a2027077 100644 --- a/Core/HardParticle/FormFactorEllipsoidalCylinder.h +++ b/Core/HardParticle/FormFactorEllipsoidalCylinder.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorEllipsoidalCylinder : public IFormFactorBorn { public: + FormFactorEllipsoidalCylinder(const std::vector<double> P); FormFactorEllipsoidalCylinder(double radius_x, double radius_y, double height); FormFactorEllipsoidalCylinder* clone() const override final @@ -46,9 +47,9 @@ protected: void onChange() override final; private: - double m_radius_x; - double m_radius_y; - double m_height; + const double& m_radius_x; + const double& m_radius_y; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORELLIPSOIDALCYLINDER_H diff --git a/Core/HardParticle/FormFactorFullSphere.cpp b/Core/HardParticle/FormFactorFullSphere.cpp index 9d0a731646f..4f584f548f3 100644 --- a/Core/HardParticle/FormFactorFullSphere.cpp +++ b/Core/HardParticle/FormFactorFullSphere.cpp @@ -15,21 +15,25 @@ #include "Core/HardParticle/FormFactorFullSphere.h" #include "Core/Basics/MathConstants.h" #include "Core/HardParticle/FormFactorTruncatedSphere.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Particle/FormFactorWeighted.h" #include "Core/Scattering/Rotations.h" #include "Core/Vector/SomeFormFactors.h" //! Constructor of a full sphere. //! @param radius: radius of the sphere in nanometers -FormFactorFullSphere::FormFactorFullSphere(double radius, bool position_at_center) - : m_radius(radius), m_position_at_center(position_at_center) +FormFactorFullSphere::FormFactorFullSphere(const std::vector<double> P, bool position_at_center) + : IFormFactorBorn( + {"FullSphere", "class_tooltip", {{"Radius", "nm", "para_tooltip", 0, +INF, 0}}}, P), + m_radius(m_P[0]), m_position_at_center(position_at_center) { - setName("FullSphere"); - registerParameter("Radius", &m_radius).setUnit("nm").setNonnegative(); onChange(); } +FormFactorFullSphere::FormFactorFullSphere(double radius, bool position_at_center) + : FormFactorFullSphere(std::vector<double>{radius}, position_at_center) +{ +} + double FormFactorFullSphere::bottomZ(const IRotation& rotation) const { if (m_position_at_center) diff --git a/Core/HardParticle/FormFactorFullSphere.h b/Core/HardParticle/FormFactorFullSphere.h index b8fc57b2aa9..eced2bd2f9f 100644 --- a/Core/HardParticle/FormFactorFullSphere.h +++ b/Core/HardParticle/FormFactorFullSphere.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorFullSphere : public IFormFactorBorn { public: + FormFactorFullSphere(const std::vector<double> P, bool position_at_center = false); FormFactorFullSphere(double radius, bool position_at_center = false); FormFactorFullSphere* clone() const override final @@ -50,7 +51,7 @@ protected: void onChange() override final; private: - double m_radius; + const double& m_radius; bool m_position_at_center; }; diff --git a/Core/HardParticle/FormFactorFullSpheroid.cpp b/Core/HardParticle/FormFactorFullSpheroid.cpp index 97e7b9f1f6d..6a189c842bd 100644 --- a/Core/HardParticle/FormFactorFullSpheroid.cpp +++ b/Core/HardParticle/FormFactorFullSpheroid.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorFullSpheroid.h" #include "Core/Basics/MathConstants.h" #include "Core/HardParticle/FormFactorTruncatedSpheroid.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/TruncatedEllipsoid.h" #include "Core/Tools/MathFunctions.h" #include <limits> @@ -23,15 +22,22 @@ //! Constructor of full spheroid. //! @param radius: radius of the circular cross section in nanometers //! @param height: height of the full spheroid in nanometers -FormFactorFullSpheroid::FormFactorFullSpheroid(double radius, double height) - : m_radius(radius), m_height(height) +FormFactorFullSpheroid::FormFactorFullSpheroid(const std::vector<double> P) + : IFormFactorBorn({"FullSpheroid", + "class_tooltip", + {{"Radius", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_radius(m_P[0]), m_height(m_P[1]) { - setName("FullSpheroid"); - registerParameter("Radius", &m_radius).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorFullSpheroid::FormFactorFullSpheroid(double radius, double height) + : FormFactorFullSpheroid(std::vector<double>{radius, height}) +{ +} + complex_t FormFactorFullSpheroid::evaluate_for_q(cvector_t q) const { double h = m_height / 2; diff --git a/Core/HardParticle/FormFactorFullSpheroid.h b/Core/HardParticle/FormFactorFullSpheroid.h index 3aaa87f1c51..18afd0b5ffa 100644 --- a/Core/HardParticle/FormFactorFullSpheroid.h +++ b/Core/HardParticle/FormFactorFullSpheroid.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorFullSpheroid : public IFormFactorBorn { public: + FormFactorFullSpheroid(const std::vector<double> P); FormFactorFullSpheroid(double radius, double height); FormFactorFullSpheroid* clone() const override final @@ -45,8 +46,8 @@ protected: void onChange() override final; private: - double m_radius; - double m_height; + const double& m_radius; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORFULLSPHEROID_H diff --git a/Core/HardParticle/FormFactorHemiEllipsoid.cpp b/Core/HardParticle/FormFactorHemiEllipsoid.cpp index d486dc99de1..49875b55019 100644 --- a/Core/HardParticle/FormFactorHemiEllipsoid.cpp +++ b/Core/HardParticle/FormFactorHemiEllipsoid.cpp @@ -14,7 +14,6 @@ #include "Core/HardParticle/FormFactorHemiEllipsoid.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/TruncatedEllipsoid.h" #include "Core/Tools/MathFunctions.h" #include <limits> @@ -23,16 +22,23 @@ //! @param radius_x: radius of the ellipse base in the x-direction, in nanometers //! @param radius_y: radius of the ellipse base in the y-direction, in nanometers //! @param height: height of the hemi ellipsoid in nanometers -FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(double radius_x, double radius_y, double height) - : m_radius_x(radius_x), m_radius_y(radius_y), m_height(height) +FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(const std::vector<double> P) + : IFormFactorBorn({"HemiEllipsoid", + "class_tooltip", + {{"RadiusX", "nm", "para_tooltip", 0, +INF, 0}, + {"RadiusY", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_radius_x(m_P[0]), m_radius_y(m_P[1]), m_height(m_P[2]) { - setName("HemiEllipsoid"); - registerParameter("RadiusX", &m_radius_x).setUnit("nm").setNonnegative(); - registerParameter("RadiusY", &m_radius_y).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(double radius_x, double radius_y, double height) + : FormFactorHemiEllipsoid(std::vector<double>{radius_x, radius_y, height}) +{ +} + double FormFactorHemiEllipsoid::radialExtension() const { return (m_radius_x + m_radius_y) / 2.0; diff --git a/Core/HardParticle/FormFactorHemiEllipsoid.h b/Core/HardParticle/FormFactorHemiEllipsoid.h index 4ba53c9f4d7..e3fdaef86a8 100644 --- a/Core/HardParticle/FormFactorHemiEllipsoid.h +++ b/Core/HardParticle/FormFactorHemiEllipsoid.h @@ -25,6 +25,7 @@ class BA_CORE_API_ FormFactorHemiEllipsoid : public IFormFactorBorn { public: + FormFactorHemiEllipsoid(const std::vector<double> P); FormFactorHemiEllipsoid(double radius_x, double radius_y, double height); virtual ~FormFactorHemiEllipsoid() {} @@ -48,9 +49,9 @@ protected: private: complex_t Integrand(double Z) const; - double m_radius_x; - double m_radius_y; - double m_height; + const double& m_radius_x; + const double& m_radius_y; + const double& m_height; mutable cvector_t m_q; mutable ComplexIntegrator m_integrator; }; diff --git a/Core/HardParticle/FormFactorHollowSphere.cpp b/Core/HardParticle/FormFactorHollowSphere.cpp index 2ceb443c9ec..0ecb1c8c14b 100644 --- a/Core/HardParticle/FormFactorHollowSphere.cpp +++ b/Core/HardParticle/FormFactorHollowSphere.cpp @@ -15,23 +15,29 @@ #include "Core/HardParticle/FormFactorHollowSphere.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/TruncatedEllipsoid.h" #include <limits> -FormFactorHollowSphere::FormFactorHollowSphere(double mean, double full_width) - : m_mean(mean), m_full_width(full_width) +FormFactorHollowSphere::FormFactorHollowSphere(const std::vector<double> P) + : IFormFactorBorn({"FormFactorHollowSphere", + "class_tooltip", + {{"MeanRadius", "nm", "para_tooltip", 0, +INF, 0}, + {"FullWidth", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_mean(m_P[0]), m_full_width(m_P[1]) { if (!checkParameters()) throw Exceptions::ClassInitializationException( "FormFactorHollowSphere::FormFactorHollowSphere:" " mean radius must be bigger than the half width"); - setName("FormFactorHollowSphere"); - registerParameter("MeanRadius", &m_mean).setUnit("nm").setNonnegative(); - registerParameter("FullWidth", &m_full_width).setUnit("nm").setNonnegative(); onChange(); } +FormFactorHollowSphere::FormFactorHollowSphere(double mean, double full_width) + : FormFactorHollowSphere(std::vector<double>{mean, full_width}) +{ +} + complex_t FormFactorHollowSphere::evaluate_for_q(cvector_t q) const { double R = m_mean; diff --git a/Core/HardParticle/FormFactorHollowSphere.h b/Core/HardParticle/FormFactorHollowSphere.h index 74d042cdfbe..d08ceb7f05f 100644 --- a/Core/HardParticle/FormFactorHollowSphere.h +++ b/Core/HardParticle/FormFactorHollowSphere.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorHollowSphere : public IFormFactorBorn { public: + FormFactorHollowSphere(const std::vector<double> P); FormFactorHollowSphere(double mean, double full_width); FormFactorHollowSphere* clone() const override final @@ -40,8 +41,8 @@ protected: private: bool checkParameters() const; - double m_mean; //!< This is the mean radius - double m_full_width; //!< This is the full width of the radius distribution + const double& m_mean; //!< This is the mean radius + const double& m_full_width; //!< This is the full width of the radius distribution }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORHOLLOWSPHERE_H diff --git a/Core/HardParticle/FormFactorIcosahedron.cpp b/Core/HardParticle/FormFactorIcosahedron.cpp index 0924286442e..1055d6facb4 100644 --- a/Core/HardParticle/FormFactorIcosahedron.cpp +++ b/Core/HardParticle/FormFactorIcosahedron.cpp @@ -13,7 +13,6 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorIcosahedron.h" -#include "Core/Parametrization/RealParameter.h" const PolyhedralTopology FormFactorIcosahedron::topology = {{// bottom: {{0, 2, 1}, false}, @@ -45,13 +44,19 @@ const PolyhedralTopology FormFactorIcosahedron::topology = {{// bottom: //! Constructor of a icosahedron. //! @param edge: length of the edge in nanometers -FormFactorIcosahedron::FormFactorIcosahedron(double edge) : FormFactorPolyhedron(), m_edge(edge) +FormFactorIcosahedron::FormFactorIcosahedron(const std::vector<double> P) + : FormFactorPolyhedron( + {"Icosahedron", "class_tooltip", {{"Edge", "nm", "para_tooltip", 0, +INF, 0}}}, P), + m_edge(m_P[0]) { - setName("Icosahedron"); - registerParameter("Edge", &m_edge).setUnit("nm").setNonnegative(); onChange(); } +FormFactorIcosahedron::FormFactorIcosahedron(double edge) + : FormFactorIcosahedron(std::vector<double>{edge}) +{ +} + void FormFactorIcosahedron::onChange() { double a = m_edge; diff --git a/Core/HardParticle/FormFactorIcosahedron.h b/Core/HardParticle/FormFactorIcosahedron.h index 0b2a1eb1016..700ef15004c 100644 --- a/Core/HardParticle/FormFactorIcosahedron.h +++ b/Core/HardParticle/FormFactorIcosahedron.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorIcosahedron : public FormFactorPolyhedron { public: + FormFactorIcosahedron(const std::vector<double> P); FormFactorIcosahedron(double edge); FormFactorIcosahedron* clone() const override final @@ -38,7 +39,7 @@ protected: private: static const PolyhedralTopology topology; - double m_edge; + const double& m_edge; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORICOSAHEDRON_H diff --git a/Core/HardParticle/FormFactorLongBoxGauss.cpp b/Core/HardParticle/FormFactorLongBoxGauss.cpp index fdb9a45d9bd..ff9156a6ce5 100644 --- a/Core/HardParticle/FormFactorLongBoxGauss.cpp +++ b/Core/HardParticle/FormFactorLongBoxGauss.cpp @@ -13,20 +13,26 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorLongBoxGauss.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/Box.h" #include "Core/Tools/MathFunctions.h" -FormFactorLongBoxGauss::FormFactorLongBoxGauss(double length, double width, double height) - : m_length(length), m_width(width), m_height(height) +FormFactorLongBoxGauss::FormFactorLongBoxGauss(const std::vector<double> P) + : IFormFactorBorn({"FormFactorLongBoxGauss", + "class_tooltip", + {{"Length", "nm", "para_tooltip", 0, +INF, 0}, + {"Width", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2]) { - setName("FormFactorLongBoxGauss"); - registerParameter("Length", &m_length).setUnit("nm").setNonnegative(); - registerParameter("Width", &m_width).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorLongBoxGauss::FormFactorLongBoxGauss(double length, double width, double height) + : FormFactorLongBoxGauss(std::vector<double>{length, width, height}) +{ +} + complex_t FormFactorLongBoxGauss::evaluate_for_q(cvector_t q) const { complex_t qxL2 = std::pow(m_length * q.x(), 2) / 2.0; diff --git a/Core/HardParticle/FormFactorLongBoxGauss.h b/Core/HardParticle/FormFactorLongBoxGauss.h index 4563904e737..a1e74f842a2 100644 --- a/Core/HardParticle/FormFactorLongBoxGauss.h +++ b/Core/HardParticle/FormFactorLongBoxGauss.h @@ -27,6 +27,7 @@ public: //! @param length of Box's base //! @param width of Box's base //! @param height of Box + FormFactorLongBoxGauss(const std::vector<double> P); FormFactorLongBoxGauss(double length, double width, double height); FormFactorLongBoxGauss* clone() const override final @@ -49,9 +50,9 @@ protected: void onChange() override final; private: - double m_length; - double m_width; - double m_height; + const double& m_length; + const double& m_width; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORLONGBOXGAUSS_H diff --git a/Core/HardParticle/FormFactorLongBoxLorentz.cpp b/Core/HardParticle/FormFactorLongBoxLorentz.cpp index d241e7a2ef4..637fce0db51 100644 --- a/Core/HardParticle/FormFactorLongBoxLorentz.cpp +++ b/Core/HardParticle/FormFactorLongBoxLorentz.cpp @@ -13,20 +13,26 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorLongBoxLorentz.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/Box.h" #include "Core/Tools/MathFunctions.h" -FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(double length, double width, double height) - : m_length(length), m_width(width), m_height(height) +FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(const std::vector<double> P) + : IFormFactorBorn({"FormFactorLongBoxLorentz", + "class_tooltip", + {{"Length", "nm", "para_tooltip", 0, +INF, 0}, + {"Width", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2]) { - setName("FormFactorLongBoxLorentz"); - registerParameter("Length", &m_length).setUnit("nm").setNonnegative(); - registerParameter("Width", &m_width).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(double length, double width, double height) + : FormFactorLongBoxLorentz(std::vector<double>{length, width, height}) +{ +} + complex_t FormFactorLongBoxLorentz::evaluate_for_q(cvector_t q) const { complex_t qxL2 = 2.5 * std::pow(m_length * q.x(), 2); diff --git a/Core/HardParticle/FormFactorLongBoxLorentz.h b/Core/HardParticle/FormFactorLongBoxLorentz.h index 8dd811bec65..b36a799eed5 100644 --- a/Core/HardParticle/FormFactorLongBoxLorentz.h +++ b/Core/HardParticle/FormFactorLongBoxLorentz.h @@ -27,6 +27,7 @@ public: //! @param length of Box's base //! @param width of Box's base //! @param height of Box + FormFactorLongBoxLorentz(const std::vector<double> P); FormFactorLongBoxLorentz(double length, double width, double height); FormFactorLongBoxLorentz* clone() const override final @@ -50,9 +51,9 @@ protected: void onChange() override final; private: - double m_length; - double m_width; - double m_height; + const double& m_length; + const double& m_width; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORLONGBOXLORENTZ_H diff --git a/Core/HardParticle/FormFactorPrism3.cpp b/Core/HardParticle/FormFactorPrism3.cpp index 706af8009d1..87460604614 100644 --- a/Core/HardParticle/FormFactorPrism3.cpp +++ b/Core/HardParticle/FormFactorPrism3.cpp @@ -13,21 +13,27 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorPrism3.h" -#include "Core/Parametrization/RealParameter.h" #include <iostream> //! Constructor of a prism with an equilaterial triangle base. //! @param base_edge: length of the base edge in nanometers //! @param height: height in nanometers -FormFactorPrism3::FormFactorPrism3(double base_edge, double height) - : m_base_edge(base_edge), m_height(height) +FormFactorPrism3::FormFactorPrism3(const std::vector<double> P) + : FormFactorPolygonalPrism({"Prism3", + "class_tooltip", + {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_base_edge(m_P[0]), m_height(m_P[1]) { - setName("Prism3"); - registerParameter("BaseEdge", &m_base_edge).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorPrism3::FormFactorPrism3(double base_edge, double height) + : FormFactorPrism3(std::vector<double>{base_edge, height}) +{ +} + IFormFactor* FormFactorPrism3::sliceFormFactor(ZLimits limits, const IRotation& rot, kvector_t translation) const { diff --git a/Core/HardParticle/FormFactorPrism3.h b/Core/HardParticle/FormFactorPrism3.h index e986f667b0d..15a8841f187 100644 --- a/Core/HardParticle/FormFactorPrism3.h +++ b/Core/HardParticle/FormFactorPrism3.h @@ -22,6 +22,7 @@ class BA_CORE_API_ FormFactorPrism3 : public FormFactorPolygonalPrism { public: + FormFactorPrism3(const std::vector<double> P); FormFactorPrism3(double base_edge, double height); FormFactorPrism3* clone() const override final @@ -40,8 +41,8 @@ protected: double height() const final { return m_height; } private: - double m_base_edge; - double m_height; + const double& m_base_edge; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORPRISM3_H diff --git a/Core/HardParticle/FormFactorPrism6.cpp b/Core/HardParticle/FormFactorPrism6.cpp index 4d090bd1801..ff5be1148ee 100644 --- a/Core/HardParticle/FormFactorPrism6.cpp +++ b/Core/HardParticle/FormFactorPrism6.cpp @@ -13,20 +13,26 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorPrism6.h" -#include "Core/Parametrization/RealParameter.h" //! Constructor of a prism with a regular hexagonal base. //! @param base_edge: length of the hexagonal base in nanometers //! @param height: height in nanometers -FormFactorPrism6::FormFactorPrism6(double base_edge, double height) - : m_base_edge(base_edge), m_height(height) +FormFactorPrism6::FormFactorPrism6(const std::vector<double> P) + : FormFactorPolygonalPrism({"Prism6", + "class_tooltip", + {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_base_edge(m_P[0]), m_height(m_P[1]) { - setName("Prism6"); - registerParameter("BaseEdge", &m_base_edge).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); onChange(); } +FormFactorPrism6::FormFactorPrism6(double base_edge, double height) + : FormFactorPrism6(std::vector<double>{base_edge, height}) +{ +} + IFormFactor* FormFactorPrism6::sliceFormFactor(ZLimits limits, const IRotation& rot, kvector_t translation) const { diff --git a/Core/HardParticle/FormFactorPrism6.h b/Core/HardParticle/FormFactorPrism6.h index 111d07fae21..414669bf6d9 100644 --- a/Core/HardParticle/FormFactorPrism6.h +++ b/Core/HardParticle/FormFactorPrism6.h @@ -22,6 +22,7 @@ class BA_CORE_API_ FormFactorPrism6 : public FormFactorPolygonalPrism { public: + FormFactorPrism6(const std::vector<double> P); FormFactorPrism6(double base_edge, double height); FormFactorPrism6* clone() const override final @@ -40,8 +41,8 @@ protected: double height() const final { return m_height; } private: - double m_base_edge; - double m_height; + const double& m_base_edge; + const double& m_height; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORPRISM6_H diff --git a/Core/HardParticle/FormFactorPyramid.cpp b/Core/HardParticle/FormFactorPyramid.cpp index 629f6619dc4..b678a90dc2d 100644 --- a/Core/HardParticle/FormFactorPyramid.cpp +++ b/Core/HardParticle/FormFactorPyramid.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorPyramid.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Tools/MathFunctions.h" const PolyhedralTopology FormFactorPyramid::topology = {{ @@ -32,16 +31,23 @@ const PolyhedralTopology FormFactorPyramid::topology = {{ //! @param base_edge: length of the square base in nanometers //! @param height: height of the pyramid in nanometers //! @param alpha: dihedral angle between the base and a side face in radians -FormFactorPyramid::FormFactorPyramid(double base_edge, double height, double alpha) - : FormFactorPolyhedron(), m_base_edge(base_edge), m_height(height), m_alpha(alpha) +FormFactorPyramid::FormFactorPyramid(const std::vector<double> P) + : FormFactorPolyhedron({"Pyramid", + "class_tooltip", + {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"Alpha", "rad", "para_tooltip", 0., M_PI, 0}}}, + P), + m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2]) { - setName("Pyramid"); - registerParameter("BaseEdge", &m_base_edge).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("Alpha", &m_alpha).setUnit("rad").setLimited(0., M_PI); onChange(); } +FormFactorPyramid::FormFactorPyramid(double base_edge, double height, double alpha) + : FormFactorPyramid(std::vector<double>{base_edge, height, alpha}) +{ +} + IFormFactor* FormFactorPyramid::sliceFormFactor(ZLimits limits, const IRotation& rot, kvector_t translation) const { diff --git a/Core/HardParticle/FormFactorPyramid.h b/Core/HardParticle/FormFactorPyramid.h index 1581f5a2306..d0d86aed0ce 100644 --- a/Core/HardParticle/FormFactorPyramid.h +++ b/Core/HardParticle/FormFactorPyramid.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorPyramid : public FormFactorPolyhedron { public: + FormFactorPyramid(const std::vector<double> P); FormFactorPyramid(double base_edge, double height, double alpha); FormFactorPyramid* clone() const override final @@ -44,9 +45,9 @@ protected: private: static const PolyhedralTopology topology; - double m_base_edge; - double m_height; - double m_alpha; + const double& m_base_edge; + const double& m_height; + const double& m_alpha; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORPYRAMID_H diff --git a/Core/HardParticle/FormFactorTetrahedron.cpp b/Core/HardParticle/FormFactorTetrahedron.cpp index 598f6666b9d..7ab8ac407f7 100644 --- a/Core/HardParticle/FormFactorTetrahedron.cpp +++ b/Core/HardParticle/FormFactorTetrahedron.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorTetrahedron.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Tools/MathFunctions.h" const PolyhedralTopology FormFactorTetrahedron::topology = {{{{2, 1, 0}, false}, @@ -29,16 +28,23 @@ const PolyhedralTopology FormFactorTetrahedron::topology = {{{{2, 1, 0}, false}, //! @param base_edge: length of one edge of the equilateral triangular base in nanometers //! @param height: height of the tetrahedron in nanometers //! @param alpha: dihedral angle in radians between base and facet -FormFactorTetrahedron::FormFactorTetrahedron(double base_edge, double height, double alpha) - : FormFactorPolyhedron(), m_base_edge(base_edge), m_height(height), m_alpha(alpha) +FormFactorTetrahedron::FormFactorTetrahedron(const std::vector<double> P) + : FormFactorPolyhedron({"Tetrahedron", + "class_tooltip", + {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}}, + P), + m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2]) { - setName("Tetrahedron"); - registerParameter("BaseEdge", &m_base_edge).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("Alpha", &m_alpha).setUnit("rad").setLimited(0., M_PI_2); onChange(); } +FormFactorTetrahedron::FormFactorTetrahedron(double base_edge, double height, double alpha) + : FormFactorTetrahedron(std::vector<double>{base_edge, height, alpha}) +{ +} + IFormFactor* FormFactorTetrahedron::sliceFormFactor(ZLimits limits, const IRotation& rot, kvector_t translation) const { diff --git a/Core/HardParticle/FormFactorTetrahedron.h b/Core/HardParticle/FormFactorTetrahedron.h index 3fca46b0aa5..22efd287629 100644 --- a/Core/HardParticle/FormFactorTetrahedron.h +++ b/Core/HardParticle/FormFactorTetrahedron.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorTetrahedron : public FormFactorPolyhedron { public: + FormFactorTetrahedron(const std::vector<double> P); FormFactorTetrahedron(double base_edge, double height, double alpha); FormFactorTetrahedron* clone() const override final @@ -43,9 +44,9 @@ protected: private: static const PolyhedralTopology topology; - double m_base_edge; - double m_height; - double m_alpha; + const double& m_base_edge; + const double& m_height; + const double& m_alpha; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORTETRAHEDRON_H diff --git a/Core/HardParticle/FormFactorTriangle.cpp b/Core/HardParticle/FormFactorTriangle.cpp index b500fa3dea6..4d7f40b2f8c 100644 --- a/Core/HardParticle/FormFactorTriangle.cpp +++ b/Core/HardParticle/FormFactorTriangle.cpp @@ -13,16 +13,21 @@ // ************************************************************************** // #include "Core/HardParticle/FormFactorTriangle.h" -#include "Core/Parametrization/RealParameter.h" #include "Fit/Tools/RealLimits.h" -FormFactorTriangle::FormFactorTriangle(double base_edge) : m_base_edge(base_edge) +FormFactorTriangle::FormFactorTriangle(const std::vector<double> P) + : FormFactorPolygonalSurface( + {"Triangle", "class_tooltip", {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0}}}, P), + m_base_edge(m_P[0]) { - setName("Triangle"); - registerParameter("BaseEdge", &m_base_edge).setUnit("nm").setNonnegative(); onChange(); } +FormFactorTriangle::FormFactorTriangle(double base_edge) + : FormFactorTriangle(std::vector<double>{base_edge}) +{ +} + void FormFactorTriangle::onChange() { double a = m_base_edge; diff --git a/Core/HardParticle/FormFactorTriangle.h b/Core/HardParticle/FormFactorTriangle.h index 8166850ddd1..57aad06b3f7 100644 --- a/Core/HardParticle/FormFactorTriangle.h +++ b/Core/HardParticle/FormFactorTriangle.h @@ -21,6 +21,7 @@ class BA_CORE_API_ FormFactorTriangle : public FormFactorPolygonalSurface { public: + FormFactorTriangle(const std::vector<double> P); FormFactorTriangle(double base_edge); FormFactorTriangle* clone() const override final { return new FormFactorTriangle(m_base_edge); } @@ -32,7 +33,7 @@ protected: void onChange() override final; private: - double m_base_edge; + const double& m_base_edge; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORTRIANGLE_H diff --git a/Core/HardParticle/FormFactorTruncatedCube.cpp b/Core/HardParticle/FormFactorTruncatedCube.cpp index dc0ad976715..a5a9be8fdbf 100644 --- a/Core/HardParticle/FormFactorTruncatedCube.cpp +++ b/Core/HardParticle/FormFactorTruncatedCube.cpp @@ -14,7 +14,6 @@ #include "Core/HardParticle/FormFactorTruncatedCube.h" #include "Core/Basics/Exceptions.h" -#include "Core/Parametrization/RealParameter.h" const PolyhedralTopology FormFactorTruncatedCube::topology = { {{{0, 1, 7, 6, 9, 10, 4, 3}, true}, @@ -36,15 +35,22 @@ const PolyhedralTopology FormFactorTruncatedCube::topology = { //! Constructor of a truncated cube. //! @param length: length of the full cube's edge in nanometers //! @param removed_length: removed length from each edge of the cube in nanometers -FormFactorTruncatedCube::FormFactorTruncatedCube(double length, double removed_length) - : FormFactorPolyhedron(), m_length(length), m_removed_length(removed_length) +FormFactorTruncatedCube::FormFactorTruncatedCube(const std::vector<double> P) + : FormFactorPolyhedron({"TruncatedCube", + "class_tooltip", + {{"Length", "nm", "para_tooltip", 0, +INF, 0}, + {"RemovedLength", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_length(m_P[0]), m_removed_length(m_P[1]) { - setName("TruncatedCube"); - registerParameter("Length", &m_length).setUnit("nm").setNonnegative(); - registerParameter("RemovedLength", &m_removed_length).setUnit("nm").setNonnegative(); onChange(); } +FormFactorTruncatedCube::FormFactorTruncatedCube(double length, double removed_length) + : FormFactorTruncatedCube(std::vector<double>{length, removed_length}) +{ +} + void FormFactorTruncatedCube::onChange() { if (m_removed_length > 0.5 * m_length) { diff --git a/Core/HardParticle/FormFactorTruncatedCube.h b/Core/HardParticle/FormFactorTruncatedCube.h index b643a6d2a71..8dc943c11b1 100644 --- a/Core/HardParticle/FormFactorTruncatedCube.h +++ b/Core/HardParticle/FormFactorTruncatedCube.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorTruncatedCube : public FormFactorPolyhedron { public: + FormFactorTruncatedCube(const std::vector<double> P); FormFactorTruncatedCube(double length, double removed_length); FormFactorTruncatedCube* clone() const override final @@ -39,8 +40,8 @@ protected: private: static const PolyhedralTopology topology; - double m_length; - double m_removed_length; + const double& m_length; + const double& m_removed_length; }; #endif // BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORTRUNCATEDCUBE_H diff --git a/Core/HardParticle/FormFactorTruncatedSphere.cpp b/Core/HardParticle/FormFactorTruncatedSphere.cpp index f88073f6267..a09bd3b4338 100644 --- a/Core/HardParticle/FormFactorTruncatedSphere.cpp +++ b/Core/HardParticle/FormFactorTruncatedSphere.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorTruncatedSphere.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/TruncatedEllipsoid.h" #include "Core/Tools/MathFunctions.h" #include "Fit/Tools/RealLimits.h" @@ -25,17 +24,24 @@ //! @param radius: radius of the truncated sphere in nanometers //! @param height: height of the truncated sphere in nanometers //! @param dh: length of cup truncated from the top -FormFactorTruncatedSphere::FormFactorTruncatedSphere(double radius, double height, double dh) - : m_radius(radius), m_height(height), m_dh(dh) +FormFactorTruncatedSphere::FormFactorTruncatedSphere(const std::vector<double> P) + : IFormFactorBorn({"TruncatedSphere", + "class_tooltip", + {{"Radius", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"DeltaHeight", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_radius(m_P[0]), m_height(m_P[1]), m_dh(m_P[2]) { - setName("TruncatedSphere"); check_initialization(); - registerParameter("Radius", &m_radius).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("DeltaHeight", &m_dh).setUnit("nm").setNonnegative(); onChange(); } +FormFactorTruncatedSphere::FormFactorTruncatedSphere(double radius, double height, double dh) + : FormFactorTruncatedSphere(std::vector<double>{radius, height, dh}) +{ +} + bool FormFactorTruncatedSphere::check_initialization() const { bool result(true); diff --git a/Core/HardParticle/FormFactorTruncatedSphere.h b/Core/HardParticle/FormFactorTruncatedSphere.h index 6cde82ddc69..a646b509347 100644 --- a/Core/HardParticle/FormFactorTruncatedSphere.h +++ b/Core/HardParticle/FormFactorTruncatedSphere.h @@ -24,6 +24,7 @@ class BA_CORE_API_ FormFactorTruncatedSphere : public IFormFactorBorn { public: + FormFactorTruncatedSphere(const std::vector<double> P); FormFactorTruncatedSphere(double radius, double height, double dh); FormFactorTruncatedSphere* clone() const override final @@ -50,9 +51,9 @@ private: bool check_initialization() const; complex_t Integrand(double Z) const; - double m_radius; - double m_height; - double m_dh; + const double& m_radius; + const double& m_height; + const double& m_dh; mutable cvector_t m_q; mutable ComplexIntegrator m_integrator; }; diff --git a/Core/HardParticle/FormFactorTruncatedSpheroid.cpp b/Core/HardParticle/FormFactorTruncatedSpheroid.cpp index 56669674655..561b14d73cb 100644 --- a/Core/HardParticle/FormFactorTruncatedSpheroid.cpp +++ b/Core/HardParticle/FormFactorTruncatedSpheroid.cpp @@ -15,7 +15,6 @@ #include "Core/HardParticle/FormFactorTruncatedSpheroid.h" #include "Core/Basics/Exceptions.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/TruncatedEllipsoid.h" #include "Core/Tools/MathFunctions.h" #include <limits> @@ -25,19 +24,26 @@ //! @param height: height of the truncated spheroid in nanometers //! @param height_flattening: ratio of the height of the corresponding full spheroid to its diameter //! @param dh: length of cup truncated from the top -FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(double radius, double height, - double height_flattening, double dh) - : m_radius(radius), m_height(height), m_height_flattening(height_flattening), m_dh(dh) +FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(const std::vector<double> P) + : IFormFactorBorn({"TruncatedSpheroid", + "class_tooltip", + {{"Radius", "nm", "para_tooltip", 0, +INF, 0}, + {"Height", "nm", "para_tooltip", 0, +INF, 0}, + {"HeightFlattening", "", "para_tooltip", 0, +INF, 0}, + {"DeltaHeight", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_radius(m_P[0]), m_height(m_P[1]), m_height_flattening(m_P[2]), m_dh(m_P[3]) { - setName("TruncatedSpheroid"); check_initialization(); - registerParameter("Radius", &m_radius).setUnit("nm").setNonnegative(); - registerParameter("Height", &m_height).setUnit("nm").setNonnegative(); - registerParameter("HeightFlattening", &m_height_flattening).setNonnegative(); - registerParameter("DeltaHeight", &m_dh).setUnit("nm").setNonnegative(); onChange(); } +FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(double radius, double height, + double height_flattening, double dh) + : FormFactorTruncatedSpheroid(std::vector<double>{radius, height, height_flattening, dh}) +{ +} + bool FormFactorTruncatedSpheroid::check_initialization() const { bool result(true); diff --git a/Core/HardParticle/FormFactorTruncatedSpheroid.h b/Core/HardParticle/FormFactorTruncatedSpheroid.h index 60593bd86e6..7b3e449efe0 100644 --- a/Core/HardParticle/FormFactorTruncatedSpheroid.h +++ b/Core/HardParticle/FormFactorTruncatedSpheroid.h @@ -25,6 +25,7 @@ class BA_CORE_API_ FormFactorTruncatedSpheroid : public IFormFactorBorn { public: + FormFactorTruncatedSpheroid(const std::vector<double> P); FormFactorTruncatedSpheroid(double radius, double height, double height_flattening, double dh); FormFactorTruncatedSpheroid* clone() const override final @@ -52,10 +53,10 @@ private: bool check_initialization() const; complex_t Integrand(double Z) const; - double m_radius; - double m_height; - double m_height_flattening; - double m_dh; + const double& m_radius; + const double& m_height; + const double& m_height_flattening; + const double& m_dh; mutable cvector_t m_q; mutable ComplexIntegrator m_integrator; }; diff --git a/Core/SoftParticle/FormFactorGauss.cpp b/Core/SoftParticle/FormFactorGauss.cpp index 8fd75c965c1..4405ef52be9 100644 --- a/Core/SoftParticle/FormFactorGauss.cpp +++ b/Core/SoftParticle/FormFactorGauss.cpp @@ -14,17 +14,24 @@ #include "Core/SoftParticle/FormFactorGauss.h" #include "Core/Basics/MathConstants.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/Box.h" #include <limits> -FormFactorGaussSphere::FormFactorGaussSphere(double mean_radius) : m_mean_radius(mean_radius) +FormFactorGaussSphere::FormFactorGaussSphere(const std::vector<double> P) + : IFormFactorBorn({"FormFactorGaussSphere", + "class_tooltip", + {{"MeanRadius", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_mean_radius(m_P[0]) { - setName("FormFactorGaussSphere"); - registerParameter("MeanRadius", &m_mean_radius).setUnit("nm").setNonnegative(); onChange(); } +FormFactorGaussSphere::FormFactorGaussSphere(double mean_radius) + : FormFactorGaussSphere(std::vector<double>{mean_radius}) +{ +} + complex_t FormFactorGaussSphere::evaluate_for_q(cvector_t q) const { const double max_ql = std::sqrt(-4 * M_PI * std::log(std::numeric_limits<double>::min()) / 3); diff --git a/Core/SoftParticle/FormFactorGauss.h b/Core/SoftParticle/FormFactorGauss.h index 0c593529089..4986e74217f 100644 --- a/Core/SoftParticle/FormFactorGauss.h +++ b/Core/SoftParticle/FormFactorGauss.h @@ -23,6 +23,7 @@ class BA_CORE_API_ FormFactorGaussSphere : public IFormFactorBorn { public: + FormFactorGaussSphere(const std::vector<double> P); FormFactorGaussSphere(double mean_radius); FormFactorGaussSphere* clone() const override final @@ -41,7 +42,7 @@ protected: void onChange() override final{}; private: - double m_mean_radius; + const double& m_mean_radius; void initialize(); }; diff --git a/Core/SoftParticle/FormFactorSphereGaussianRadius.cpp b/Core/SoftParticle/FormFactorSphereGaussianRadius.cpp index 1c4bfba80c5..cb128553f73 100644 --- a/Core/SoftParticle/FormFactorSphereGaussianRadius.cpp +++ b/Core/SoftParticle/FormFactorSphereGaussianRadius.cpp @@ -13,21 +13,27 @@ // ************************************************************************** // #include "Core/SoftParticle/FormFactorSphereGaussianRadius.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/TruncatedEllipsoid.h" #include "Core/Vector/SomeFormFactors.h" #include "Fit/Tools/RealLimits.h" -FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(double mean, double sigma) - : m_mean(mean), m_sigma(sigma), m_mean_r3(0.0) +FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(const std::vector<double> P) + : IFormFactorBorn({"FormFactorSphereGaussianRadius", + "class_tooltip", + {{"MeanRadius", "nm", "para_tooltip", 0, +INF, 0}, + {"SigmaRadius", "nm", "para_tooltip", 0, +INF, 0}}}, + P), + m_mean(m_P[0]), m_sigma(m_P[1]) { - setName("FormFactorSphereGaussianRadius"); m_mean_r3 = calculateMeanR3(); - registerParameter("MeanRadius", &m_mean).setUnit("nm").setNonnegative(); - registerParameter("SigmaRadius", &m_sigma).setUnit("nm").setNonnegative(); onChange(); } +FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(double mean, double sigma) + : FormFactorSphereGaussianRadius(std::vector<double>{mean, sigma}) +{ +} + complex_t FormFactorSphereGaussianRadius::evaluate_for_q(cvector_t q) const { double q2 = std::norm(q.x()) + std::norm(q.y()) + std::norm(q.z()); diff --git a/Core/SoftParticle/FormFactorSphereGaussianRadius.h b/Core/SoftParticle/FormFactorSphereGaussianRadius.h index bf84d66c293..da353e5124a 100644 --- a/Core/SoftParticle/FormFactorSphereGaussianRadius.h +++ b/Core/SoftParticle/FormFactorSphereGaussianRadius.h @@ -24,6 +24,7 @@ class BA_CORE_API_ FormFactorSphereGaussianRadius : public IFormFactorBorn { public: + FormFactorSphereGaussianRadius(const std::vector<double> P); FormFactorSphereGaussianRadius(double mean, double sigma); FormFactorSphereGaussianRadius* clone() const override final @@ -43,8 +44,8 @@ protected: private: double calculateMeanR3() const; - double m_mean; //!< This is the mean radius - double m_sigma; + const double& m_mean; //!< This is the mean radius + const double& m_sigma; double m_mean_r3; //!< This is the radius that gives the mean volume }; diff --git a/Core/SoftParticle/FormFactorSphereLogNormalRadius.cpp b/Core/SoftParticle/FormFactorSphereLogNormalRadius.cpp index 5414a2f7202..dc1c459a57a 100644 --- a/Core/SoftParticle/FormFactorSphereLogNormalRadius.cpp +++ b/Core/SoftParticle/FormFactorSphereLogNormalRadius.cpp @@ -15,17 +15,18 @@ #include "Core/SoftParticle/FormFactorSphereLogNormalRadius.h" #include "Core/Parametrization/Distributions.h" #include "Core/Parametrization/ParameterSample.h" -#include "Core/Parametrization/RealParameter.h" #include "Core/Shapes/TruncatedEllipsoid.h" #include "Core/Vector/SomeFormFactors.h" -FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(double mean, double scale_param, +FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(const std::vector<double> P, size_t n_samples) - : m_mean(mean), m_scale_param(scale_param), m_n_samples(n_samples) + : IFormFactorBorn({"FormFactorSphereLogNormalRadius", + "class_tooltip", + {{"MeanRadius", "nm", "para_tooltip", 0, +INF, 0}, + {"ScaleParameter", "", "para_tooltip", -INF, +INF, 0}}}, + P), + m_mean(m_P[0]), m_scale_param(m_P[1]), m_n_samples(n_samples) { - setName("FormFactorSphereLogNormalRadius"); - registerParameter("MeanRadius", &m_mean).setUnit("nm").setNonnegative(); - registerParameter("ScaleParameter", &m_scale_param); DistributionLogNormal distri(m_mean, m_scale_param); m_radii.clear(); @@ -38,6 +39,12 @@ FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(double mean, do onChange(); } +FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(double mean, double scale_param, + size_t n_samples) + : FormFactorSphereLogNormalRadius(std::vector<double>{mean, scale_param}, n_samples) +{ +} + FormFactorSphereLogNormalRadius* FormFactorSphereLogNormalRadius::clone() const { return new FormFactorSphereLogNormalRadius(m_mean, m_scale_param, m_n_samples); diff --git a/Core/SoftParticle/FormFactorSphereLogNormalRadius.h b/Core/SoftParticle/FormFactorSphereLogNormalRadius.h index 8ed805408f9..7180b1ba347 100644 --- a/Core/SoftParticle/FormFactorSphereLogNormalRadius.h +++ b/Core/SoftParticle/FormFactorSphereLogNormalRadius.h @@ -25,6 +25,7 @@ class BA_CORE_API_ FormFactorSphereLogNormalRadius : public IFormFactorBorn { public: + FormFactorSphereLogNormalRadius(const std::vector<double> P, size_t n_samples = 0); FormFactorSphereLogNormalRadius(double mean, double scale_param, size_t n_samples); FormFactorSphereLogNormalRadius* clone() const override final; @@ -39,8 +40,8 @@ protected: void onChange() override final; private: - double m_mean; - double m_scale_param; + const double& m_mean; + const double& m_scale_param; size_t m_n_samples; std::vector<double> m_radii; diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index d1577477999..0802af03241 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -7178,8 +7178,8 @@ class DistributionTrapezoid(IDistribution1D): def __init__(self, *args): r""" - __init__(DistributionTrapezoid self, double center, double left, double middle, double right) -> DistributionTrapezoid __init__(DistributionTrapezoid self) -> DistributionTrapezoid + __init__(DistributionTrapezoid self, double center, double left, double middle, double right) -> DistributionTrapezoid DistributionTrapezoid::DistributionTrapezoid(double center, double left_width, double middle_width, double right_width) """ @@ -15289,8 +15289,9 @@ class FormFactorAnisoPyramid(FormFactorPolyhedron): 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, width, height, alpha): + def __init__(self, *args): r""" + __init__(FormFactorAnisoPyramid self, vdouble1d_t P) -> FormFactorAnisoPyramid __init__(FormFactorAnisoPyramid self, double length, double width, double height, double alpha) -> FormFactorAnisoPyramid FormFactorAnisoPyramid::FormFactorAnisoPyramid(double length, double width, double height, double alpha) @@ -15312,7 +15313,7 @@ class FormFactorAnisoPyramid(FormFactorPolyhedron): dihedral angle in radians between base and facet """ - _libBornAgainCore.FormFactorAnisoPyramid_swiginit(self, _libBornAgainCore.new_FormFactorAnisoPyramid(length, width, height, alpha)) + _libBornAgainCore.FormFactorAnisoPyramid_swiginit(self, _libBornAgainCore.new_FormFactorAnisoPyramid(*args)) def clone(self): r""" @@ -15383,8 +15384,9 @@ class FormFactorBox(FormFactorPolygonalPrism): 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, width, height): + def __init__(self, *args): r""" + __init__(FormFactorBox self, vdouble1d_t P) -> FormFactorBox __init__(FormFactorBox self, double length, double width, double height) -> FormFactorBox FormFactorBox::FormFactorBox(double length, double width, double height) @@ -15403,7 +15405,7 @@ class FormFactorBox(FormFactorPolygonalPrism): height of the box in nanometers """ - _libBornAgainCore.FormFactorBox_swiginit(self, _libBornAgainCore.new_FormFactorBox(length, width, height)) + _libBornAgainCore.FormFactorBox_swiginit(self, _libBornAgainCore.new_FormFactorBox(*args)) def clone(self): r""" @@ -15488,8 +15490,9 @@ class FormFactorCantellatedCube(FormFactorPolyhedron): 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, removed_length): + def __init__(self, *args): r""" + __init__(FormFactorCantellatedCube self, vdouble1d_t P) -> FormFactorCantellatedCube __init__(FormFactorCantellatedCube self, double length, double removed_length) -> FormFactorCantellatedCube FormFactorCantellatedCube::FormFactorCantellatedCube(double length, double removed_length) @@ -15505,7 +15508,7 @@ class FormFactorCantellatedCube(FormFactorPolyhedron): removed length from each edge of the cube in nanometers """ - _libBornAgainCore.FormFactorCantellatedCube_swiginit(self, _libBornAgainCore.new_FormFactorCantellatedCube(length, removed_length)) + _libBornAgainCore.FormFactorCantellatedCube_swiginit(self, _libBornAgainCore.new_FormFactorCantellatedCube(*args)) def clone(self): r""" @@ -15560,8 +15563,9 @@ class FormFactorCone(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius, height, alpha): + def __init__(self, *args): r""" + __init__(FormFactorCone self, vdouble1d_t P) -> FormFactorCone __init__(FormFactorCone self, double radius, double height, double alpha) -> FormFactorCone FormFactorCone::FormFactorCone(double radius, double height, double alpha) @@ -15580,7 +15584,7 @@ class FormFactorCone(IFormFactorBorn): angle between the base and the side surface in radians """ - _libBornAgainCore.FormFactorCone_swiginit(self, _libBornAgainCore.new_FormFactorCone(radius, height, alpha)) + _libBornAgainCore.FormFactorCone_swiginit(self, _libBornAgainCore.new_FormFactorCone(*args)) def clone(self): r""" @@ -15663,8 +15667,9 @@ class FormFactorCone6(FormFactorPolyhedron): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, base_edge, height, alpha): + def __init__(self, *args): r""" + __init__(FormFactorCone6 self, vdouble1d_t P) -> FormFactorCone6 __init__(FormFactorCone6 self, double base_edge, double height, double alpha) -> FormFactorCone6 FormFactorCone6::FormFactorCone6(double base_edge, double height, double alpha) @@ -15683,7 +15688,7 @@ class FormFactorCone6(FormFactorPolyhedron): dihedral angle in radians between base and facet """ - _libBornAgainCore.FormFactorCone6_swiginit(self, _libBornAgainCore.new_FormFactorCone6(base_edge, height, alpha)) + _libBornAgainCore.FormFactorCone6_swiginit(self, _libBornAgainCore.new_FormFactorCone6(*args)) def clone(self): r""" @@ -15746,8 +15751,9 @@ class FormFactorCuboctahedron(FormFactorPolyhedron): 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, height, height_ratio, alpha): + def __init__(self, *args): r""" + __init__(FormFactorCuboctahedron self, vdouble1d_t P) -> FormFactorCuboctahedron __init__(FormFactorCuboctahedron self, double length, double height, double height_ratio, double alpha) -> FormFactorCuboctahedron FormFactorCuboctahedron::FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha) @@ -15769,7 +15775,7 @@ class FormFactorCuboctahedron(FormFactorPolyhedron): dihedral angle in radians between base and facet """ - _libBornAgainCore.FormFactorCuboctahedron_swiginit(self, _libBornAgainCore.new_FormFactorCuboctahedron(length, height, height_ratio, alpha)) + _libBornAgainCore.FormFactorCuboctahedron_swiginit(self, _libBornAgainCore.new_FormFactorCuboctahedron(*args)) def clone(self): r""" @@ -15840,8 +15846,9 @@ class FormFactorCylinder(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius, height): + def __init__(self, *args): r""" + __init__(FormFactorCylinder self, vdouble1d_t P) -> FormFactorCylinder __init__(FormFactorCylinder self, double radius, double height) -> FormFactorCylinder FormFactorCylinder::FormFactorCylinder(double radius, double height) @@ -15857,7 +15864,7 @@ class FormFactorCylinder(IFormFactorBorn): height of the cylinder in nanometers """ - _libBornAgainCore.FormFactorCylinder_swiginit(self, _libBornAgainCore.new_FormFactorCylinder(radius, height)) + _libBornAgainCore.FormFactorCylinder_swiginit(self, _libBornAgainCore.new_FormFactorCylinder(*args)) def clone(self): r""" @@ -15932,8 +15939,9 @@ class FormFactorDodecahedron(FormFactorPolyhedron): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, edge): + def __init__(self, *args): r""" + __init__(FormFactorDodecahedron self, vdouble1d_t P) -> FormFactorDodecahedron __init__(FormFactorDodecahedron self, double edge) -> FormFactorDodecahedron FormFactorDodecahedron::FormFactorDodecahedron(double edge) @@ -15954,7 +15962,7 @@ class FormFactorDodecahedron(FormFactorPolyhedron): length of the edge in nanometers """ - _libBornAgainCore.FormFactorDodecahedron_swiginit(self, _libBornAgainCore.new_FormFactorDodecahedron(edge)) + _libBornAgainCore.FormFactorDodecahedron_swiginit(self, _libBornAgainCore.new_FormFactorDodecahedron(*args)) def clone(self): r""" @@ -16001,8 +16009,9 @@ class FormFactorDot(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius): + def __init__(self, *args): r""" + __init__(FormFactorDot self, vdouble1d_t P) -> FormFactorDot __init__(FormFactorDot self, double radius) -> FormFactorDot FormFactorDot::FormFactorDot(double radius) @@ -16015,7 +16024,7 @@ class FormFactorDot(IFormFactorBorn): radius of a sphere with same forward scattering power, in nanometers """ - _libBornAgainCore.FormFactorDot_swiginit(self, _libBornAgainCore.new_FormFactorDot(radius)) + _libBornAgainCore.FormFactorDot_swiginit(self, _libBornAgainCore.new_FormFactorDot(*args)) def clone(self): r""" @@ -16102,8 +16111,9 @@ class FormFactorEllipsoidalCylinder(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius_x, radius_y, height): + def __init__(self, *args): r""" + __init__(FormFactorEllipsoidalCylinder self, vdouble1d_t P) -> FormFactorEllipsoidalCylinder __init__(FormFactorEllipsoidalCylinder self, double radius_x, double radius_y, double height) -> FormFactorEllipsoidalCylinder FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(double radius_x, double radius_y, double height) @@ -16122,7 +16132,7 @@ class FormFactorEllipsoidalCylinder(IFormFactorBorn): height of the ellipsoidal cylinder in nanometers """ - _libBornAgainCore.FormFactorEllipsoidalCylinder_swiginit(self, _libBornAgainCore.new_FormFactorEllipsoidalCylinder(radius_x, radius_y, height)) + _libBornAgainCore.FormFactorEllipsoidalCylinder_swiginit(self, _libBornAgainCore.new_FormFactorEllipsoidalCylinder(*args)) def clone(self): r""" @@ -16205,8 +16215,9 @@ class FormFactorFullSphere(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius, position_at_center=False): + def __init__(self, *args): r""" + __init__(FormFactorFullSphere self, vdouble1d_t P, bool position_at_center=False) -> FormFactorFullSphere __init__(FormFactorFullSphere self, double radius, bool position_at_center=False) -> FormFactorFullSphere FormFactorFullSphere::FormFactorFullSphere(double radius, bool position_at_center=false) @@ -16219,7 +16230,7 @@ class FormFactorFullSphere(IFormFactorBorn): radius of the sphere in nanometers """ - _libBornAgainCore.FormFactorFullSphere_swiginit(self, _libBornAgainCore.new_FormFactorFullSphere(radius, position_at_center)) + _libBornAgainCore.FormFactorFullSphere_swiginit(self, _libBornAgainCore.new_FormFactorFullSphere(*args)) def clone(self): r""" @@ -16306,8 +16317,9 @@ class FormFactorFullSpheroid(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius, height): + def __init__(self, *args): r""" + __init__(FormFactorFullSpheroid self, vdouble1d_t P) -> FormFactorFullSpheroid __init__(FormFactorFullSpheroid self, double radius, double height) -> FormFactorFullSpheroid FormFactorFullSpheroid::FormFactorFullSpheroid(double radius, double height) @@ -16323,7 +16335,7 @@ class FormFactorFullSpheroid(IFormFactorBorn): height of the full spheroid in nanometers """ - _libBornAgainCore.FormFactorFullSpheroid_swiginit(self, _libBornAgainCore.new_FormFactorFullSpheroid(radius, height)) + _libBornAgainCore.FormFactorFullSpheroid_swiginit(self, _libBornAgainCore.new_FormFactorFullSpheroid(*args)) def clone(self): r""" @@ -16398,8 +16410,9 @@ class FormFactorHemiEllipsoid(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius_x, radius_y, height): + def __init__(self, *args): r""" + __init__(FormFactorHemiEllipsoid self, vdouble1d_t P) -> FormFactorHemiEllipsoid __init__(FormFactorHemiEllipsoid self, double radius_x, double radius_y, double height) -> FormFactorHemiEllipsoid FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(double radius_x, double radius_y, double height) @@ -16418,7 +16431,7 @@ class FormFactorHemiEllipsoid(IFormFactorBorn): height of the hemi ellipsoid in nanometers """ - _libBornAgainCore.FormFactorHemiEllipsoid_swiginit(self, _libBornAgainCore.new_FormFactorHemiEllipsoid(radius_x, radius_y, height)) + _libBornAgainCore.FormFactorHemiEllipsoid_swiginit(self, _libBornAgainCore.new_FormFactorHemiEllipsoid(*args)) __swig_destroy__ = _libBornAgainCore.delete_FormFactorHemiEllipsoid def clone(self): @@ -16501,13 +16514,14 @@ class FormFactorHollowSphere(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, mean, full_width): + def __init__(self, *args): r""" + __init__(FormFactorHollowSphere self, vdouble1d_t P) -> FormFactorHollowSphere __init__(FormFactorHollowSphere self, double mean, double full_width) -> FormFactorHollowSphere FormFactorHollowSphere::FormFactorHollowSphere(double mean, double full_width) """ - _libBornAgainCore.FormFactorHollowSphere_swiginit(self, _libBornAgainCore.new_FormFactorHollowSphere(mean, full_width)) + _libBornAgainCore.FormFactorHollowSphere_swiginit(self, _libBornAgainCore.new_FormFactorHollowSphere(*args)) def clone(self): r""" @@ -16566,8 +16580,9 @@ class FormFactorIcosahedron(FormFactorPolyhedron): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, edge): + def __init__(self, *args): r""" + __init__(FormFactorIcosahedron self, vdouble1d_t P) -> FormFactorIcosahedron __init__(FormFactorIcosahedron self, double edge) -> FormFactorIcosahedron FormFactorIcosahedron::FormFactorIcosahedron(double edge) @@ -16580,7 +16595,7 @@ class FormFactorIcosahedron(FormFactorPolyhedron): length of the edge in nanometers """ - _libBornAgainCore.FormFactorIcosahedron_swiginit(self, _libBornAgainCore.new_FormFactorIcosahedron(edge)) + _libBornAgainCore.FormFactorIcosahedron_swiginit(self, _libBornAgainCore.new_FormFactorIcosahedron(*args)) def clone(self): r""" @@ -16627,8 +16642,9 @@ class FormFactorLongBoxGauss(IFormFactorBorn): 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, width, height): + def __init__(self, *args): r""" + __init__(FormFactorLongBoxGauss self, vdouble1d_t P) -> FormFactorLongBoxGauss __init__(FormFactorLongBoxGauss self, double length, double width, double height) -> FormFactorLongBoxGauss FormFactorLongBoxGauss::FormFactorLongBoxGauss(double length, double width, double height) @@ -16647,7 +16663,7 @@ class FormFactorLongBoxGauss(IFormFactorBorn): of Box """ - _libBornAgainCore.FormFactorLongBoxGauss_swiginit(self, _libBornAgainCore.new_FormFactorLongBoxGauss(length, width, height)) + _libBornAgainCore.FormFactorLongBoxGauss_swiginit(self, _libBornAgainCore.new_FormFactorLongBoxGauss(*args)) def clone(self): r""" @@ -16730,8 +16746,9 @@ class FormFactorLongBoxLorentz(IFormFactorBorn): 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, width, height): + def __init__(self, *args): r""" + __init__(FormFactorLongBoxLorentz self, vdouble1d_t P) -> FormFactorLongBoxLorentz __init__(FormFactorLongBoxLorentz self, double length, double width, double height) -> FormFactorLongBoxLorentz FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(double length, double width, double height) @@ -16750,7 +16767,7 @@ class FormFactorLongBoxLorentz(IFormFactorBorn): of Box """ - _libBornAgainCore.FormFactorLongBoxLorentz_swiginit(self, _libBornAgainCore.new_FormFactorLongBoxLorentz(length, width, height)) + _libBornAgainCore.FormFactorLongBoxLorentz_swiginit(self, _libBornAgainCore.new_FormFactorLongBoxLorentz(*args)) def clone(self): r""" @@ -16833,8 +16850,9 @@ class FormFactorPrism3(FormFactorPolygonalPrism): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, base_edge, height): + def __init__(self, *args): r""" + __init__(FormFactorPrism3 self, vdouble1d_t P) -> FormFactorPrism3 __init__(FormFactorPrism3 self, double base_edge, double height) -> FormFactorPrism3 FormFactorPrism3::FormFactorPrism3(double base_edge, double height) @@ -16850,7 +16868,7 @@ class FormFactorPrism3(FormFactorPolygonalPrism): height in nanometers """ - _libBornAgainCore.FormFactorPrism3_swiginit(self, _libBornAgainCore.new_FormFactorPrism3(base_edge, height)) + _libBornAgainCore.FormFactorPrism3_swiginit(self, _libBornAgainCore.new_FormFactorPrism3(*args)) def clone(self): r""" @@ -16897,8 +16915,9 @@ class FormFactorPrism6(FormFactorPolygonalPrism): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, base_edge, height): + def __init__(self, *args): r""" + __init__(FormFactorPrism6 self, vdouble1d_t P) -> FormFactorPrism6 __init__(FormFactorPrism6 self, double base_edge, double height) -> FormFactorPrism6 FormFactorPrism6::FormFactorPrism6(double base_edge, double height) @@ -16914,7 +16933,7 @@ class FormFactorPrism6(FormFactorPolygonalPrism): height in nanometers """ - _libBornAgainCore.FormFactorPrism6_swiginit(self, _libBornAgainCore.new_FormFactorPrism6(base_edge, height)) + _libBornAgainCore.FormFactorPrism6_swiginit(self, _libBornAgainCore.new_FormFactorPrism6(*args)) def clone(self): r""" @@ -16961,8 +16980,9 @@ class FormFactorPyramid(FormFactorPolyhedron): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, base_edge, height, alpha): + def __init__(self, *args): r""" + __init__(FormFactorPyramid self, vdouble1d_t P) -> FormFactorPyramid __init__(FormFactorPyramid self, double base_edge, double height, double alpha) -> FormFactorPyramid FormFactorPyramid::FormFactorPyramid(double base_edge, double height, double alpha) @@ -16981,7 +17001,7 @@ class FormFactorPyramid(FormFactorPolyhedron): dihedral angle between the base and a side face in radians """ - _libBornAgainCore.FormFactorPyramid_swiginit(self, _libBornAgainCore.new_FormFactorPyramid(base_edge, height, alpha)) + _libBornAgainCore.FormFactorPyramid_swiginit(self, _libBornAgainCore.new_FormFactorPyramid(*args)) def clone(self): r""" @@ -17314,8 +17334,9 @@ class FormFactorTetrahedron(FormFactorPolyhedron): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, base_edge, height, alpha): + def __init__(self, *args): r""" + __init__(FormFactorTetrahedron self, vdouble1d_t P) -> FormFactorTetrahedron __init__(FormFactorTetrahedron self, double base_edge, double height, double alpha) -> FormFactorTetrahedron FormFactorTetrahedron::FormFactorTetrahedron(double base_edge, double height, double alpha) @@ -17334,7 +17355,7 @@ class FormFactorTetrahedron(FormFactorPolyhedron): dihedral angle in radians between base and facet """ - _libBornAgainCore.FormFactorTetrahedron_swiginit(self, _libBornAgainCore.new_FormFactorTetrahedron(base_edge, height, alpha)) + _libBornAgainCore.FormFactorTetrahedron_swiginit(self, _libBornAgainCore.new_FormFactorTetrahedron(*args)) def clone(self): r""" @@ -17397,8 +17418,9 @@ class FormFactorTruncatedCube(FormFactorPolyhedron): 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, removed_length): + def __init__(self, *args): r""" + __init__(FormFactorTruncatedCube self, vdouble1d_t P) -> FormFactorTruncatedCube __init__(FormFactorTruncatedCube self, double length, double removed_length) -> FormFactorTruncatedCube FormFactorTruncatedCube::FormFactorTruncatedCube(double length, double removed_length) @@ -17414,7 +17436,7 @@ class FormFactorTruncatedCube(FormFactorPolyhedron): removed length from each edge of the cube in nanometers """ - _libBornAgainCore.FormFactorTruncatedCube_swiginit(self, _libBornAgainCore.new_FormFactorTruncatedCube(length, removed_length)) + _libBornAgainCore.FormFactorTruncatedCube_swiginit(self, _libBornAgainCore.new_FormFactorTruncatedCube(*args)) def clone(self): r""" @@ -17469,8 +17491,9 @@ class FormFactorTruncatedSphere(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius, height, dh): + def __init__(self, *args): r""" + __init__(FormFactorTruncatedSphere self, vdouble1d_t P) -> FormFactorTruncatedSphere __init__(FormFactorTruncatedSphere self, double radius, double height, double dh) -> FormFactorTruncatedSphere FormFactorTruncatedSphere::FormFactorTruncatedSphere(double radius, double height, double dh=0.0) @@ -17489,7 +17512,7 @@ class FormFactorTruncatedSphere(IFormFactorBorn): length of cup truncated from the top """ - _libBornAgainCore.FormFactorTruncatedSphere_swiginit(self, _libBornAgainCore.new_FormFactorTruncatedSphere(radius, height, dh)) + _libBornAgainCore.FormFactorTruncatedSphere_swiginit(self, _libBornAgainCore.new_FormFactorTruncatedSphere(*args)) def clone(self): r""" @@ -17572,8 +17595,9 @@ class FormFactorTruncatedSpheroid(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, radius, height, height_flattening, dh): + def __init__(self, *args): r""" + __init__(FormFactorTruncatedSpheroid self, vdouble1d_t P) -> FormFactorTruncatedSpheroid __init__(FormFactorTruncatedSpheroid self, double radius, double height, double height_flattening, double dh) -> FormFactorTruncatedSpheroid FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(double radius, double height, double height_flattening, double dh=0.0) @@ -17595,7 +17619,7 @@ class FormFactorTruncatedSpheroid(IFormFactorBorn): length of cup truncated from the top """ - _libBornAgainCore.FormFactorTruncatedSpheroid_swiginit(self, _libBornAgainCore.new_FormFactorTruncatedSpheroid(radius, height, height_flattening, dh)) + _libBornAgainCore.FormFactorTruncatedSpheroid_swiginit(self, _libBornAgainCore.new_FormFactorTruncatedSpheroid(*args)) def clone(self): r""" @@ -17703,9 +17727,12 @@ class FormFactorGaussSphere(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, mean_radius): - r"""__init__(FormFactorGaussSphere self, double mean_radius) -> FormFactorGaussSphere""" - _libBornAgainCore.FormFactorGaussSphere_swiginit(self, _libBornAgainCore.new_FormFactorGaussSphere(mean_radius)) + def __init__(self, *args): + r""" + __init__(FormFactorGaussSphere self, vdouble1d_t P) -> FormFactorGaussSphere + __init__(FormFactorGaussSphere self, double mean_radius) -> FormFactorGaussSphere + """ + _libBornAgainCore.FormFactorGaussSphere_swiginit(self, _libBornAgainCore.new_FormFactorGaussSphere(*args)) def clone(self): r""" @@ -17768,13 +17795,14 @@ class FormFactorSphereGaussianRadius(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, mean, sigma): + def __init__(self, *args): r""" + __init__(FormFactorSphereGaussianRadius self, vdouble1d_t P) -> FormFactorSphereGaussianRadius __init__(FormFactorSphereGaussianRadius self, double mean, double sigma) -> FormFactorSphereGaussianRadius FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(double mean, double sigma) """ - _libBornAgainCore.FormFactorSphereGaussianRadius_swiginit(self, _libBornAgainCore.new_FormFactorSphereGaussianRadius(mean, sigma)) + _libBornAgainCore.FormFactorSphereGaussianRadius_swiginit(self, _libBornAgainCore.new_FormFactorSphereGaussianRadius(*args)) def clone(self): r""" @@ -17833,13 +17861,14 @@ class FormFactorSphereLogNormalRadius(IFormFactorBorn): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr - def __init__(self, mean, scale_param, n_samples): + def __init__(self, *args): r""" + __init__(FormFactorSphereLogNormalRadius self, vdouble1d_t P, size_t n_samples=0) -> FormFactorSphereLogNormalRadius __init__(FormFactorSphereLogNormalRadius self, double mean, double scale_param, size_t n_samples) -> FormFactorSphereLogNormalRadius FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(double mean, double scale_param, size_t n_samples) """ - _libBornAgainCore.FormFactorSphereLogNormalRadius_swiginit(self, _libBornAgainCore.new_FormFactorSphereLogNormalRadius(mean, scale_param, n_samples)) + _libBornAgainCore.FormFactorSphereLogNormalRadius_swiginit(self, _libBornAgainCore.new_FormFactorSphereLogNormalRadius(*args)) def clone(self): r""" diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index 882186ae392..39aa1604012 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -63872,7 +63872,20 @@ SWIGINTERN PyObject *DistributionCosine_swiginit(PyObject *SWIGUNUSEDPARM(self), return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { + PyObject *resultobj = 0; + DistributionTrapezoid *result = 0 ; + + if ((nobjs < 0) || (nobjs > 0)) SWIG_fail; + result = (DistributionTrapezoid *)new DistributionTrapezoid(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_DistributionTrapezoid, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -63917,19 +63930,6 @@ fail: } -SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) { - PyObject *resultobj = 0; - DistributionTrapezoid *result = 0 ; - - if ((nobjs < 0) || (nobjs > 0)) SWIG_fail; - result = (DistributionTrapezoid *)new DistributionTrapezoid(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_DistributionTrapezoid, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid(PyObject *self, PyObject *args) { Py_ssize_t argc; PyObject *argv[5] = { @@ -63939,7 +63939,7 @@ SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid(PyObject *self, PyObject *a if (!(argc = SWIG_Python_UnpackTuple(args, "new_DistributionTrapezoid", 0, 4, argv))) SWIG_fail; --argc; if (argc == 0) { - return _wrap_new_DistributionTrapezoid__SWIG_1(self, argc, argv); + return _wrap_new_DistributionTrapezoid__SWIG_0(self, argc, argv); } if (argc == 4) { int _v; @@ -63963,7 +63963,7 @@ SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid(PyObject *self, PyObject *a _v = SWIG_CheckState(res); } if (_v) { - return _wrap_new_DistributionTrapezoid__SWIG_0(self, argc, argv); + return _wrap_new_DistributionTrapezoid__SWIG_1(self, argc, argv); } } } @@ -63973,8 +63973,8 @@ SWIGINTERN PyObject *_wrap_new_DistributionTrapezoid(PyObject *self, PyObject *a fail: SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_DistributionTrapezoid'.\n" " Possible C/C++ prototypes are:\n" - " DistributionTrapezoid::DistributionTrapezoid(double,double,double,double)\n" - " DistributionTrapezoid::DistributionTrapezoid()\n"); + " DistributionTrapezoid::DistributionTrapezoid()\n" + " DistributionTrapezoid::DistributionTrapezoid(double,double,double,double)\n"); return 0; } @@ -91194,7 +91194,30 @@ SWIGINTERN PyObject *ProfileRipple2_swigregister(PyObject *SWIGUNUSEDPARM(self), return SWIG_Py_Void(); } -SWIGINTERN PyObject *_wrap_new_FormFactorAnisoPyramid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorAnisoPyramid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorAnisoPyramid *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorAnisoPyramid" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorAnisoPyramid *)new FormFactorAnisoPyramid(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorAnisoPyramid, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorAnisoPyramid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -91208,10 +91231,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorAnisoPyramid(PyObject *SWIGUNUSEDPARM(s int ecode3 = 0 ; double val4 ; int ecode4 = 0 ; - PyObject *swig_obj[4] ; FormFactorAnisoPyramid *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorAnisoPyramid", 4, 4, swig_obj)) SWIG_fail; + 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_FormFactorAnisoPyramid" "', argument " "1"" of type '" "double""'"); @@ -91240,6 +91262,60 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorAnisoPyramid(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorAnisoPyramid", 0, 4, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorAnisoPyramid__SWIG_0(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_FormFactorAnisoPyramid__SWIG_1(self, argc, argv); + } + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorAnisoPyramid'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorAnisoPyramid::FormFactorAnisoPyramid(std::vector< double,std::allocator< double > > const)\n" + " FormFactorAnisoPyramid::FormFactorAnisoPyramid(double,double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorAnisoPyramid_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorAnisoPyramid *arg1 = (FormFactorAnisoPyramid *) 0 ; @@ -91417,7 +91493,30 @@ SWIGINTERN PyObject *FormFactorAnisoPyramid_swiginit(PyObject *SWIGUNUSEDPARM(se return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorBox(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorBox__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorBox *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorBox" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorBox *)new FormFactorBox(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorBox, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorBox__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -91428,10 +91527,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorBox(PyObject *SWIGUNUSEDPARM(self), PyO int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorBox *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorBox", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorBox" "', argument " "1"" of type '" "double""'"); @@ -91455,6 +91553,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorBox(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorBox", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorBox__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorBox__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorBox'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorBox::FormFactorBox(std::vector< double,std::allocator< double > > const)\n" + " FormFactorBox::FormFactorBox(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorBox_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorBox *arg1 = (FormFactorBox *) 0 ; @@ -91670,7 +91816,30 @@ SWIGINTERN PyObject *FormFactorBox_swiginit(PyObject *SWIGUNUSEDPARM(self), PyOb return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorCantellatedCube(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorCantellatedCube__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorCantellatedCube *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorCantellatedCube" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorCantellatedCube *)new FormFactorCantellatedCube(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCantellatedCube, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorCantellatedCube__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -91678,10 +91847,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCantellatedCube(PyObject *SWIGUNUSEDPAR int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorCantellatedCube *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorCantellatedCube", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorCantellatedCube" "', argument " "1"" of type '" "double""'"); @@ -91700,6 +91868,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorCantellatedCube(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorCantellatedCube", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorCantellatedCube__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorCantellatedCube__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorCantellatedCube'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorCantellatedCube::FormFactorCantellatedCube(std::vector< double,std::allocator< double > > const)\n" + " FormFactorCantellatedCube::FormFactorCantellatedCube(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorCantellatedCube_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorCantellatedCube *arg1 = (FormFactorCantellatedCube *) 0 ; @@ -91831,7 +92041,30 @@ SWIGINTERN PyObject *FormFactorCantellatedCube_swiginit(PyObject *SWIGUNUSEDPARM return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorCone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorCone__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorCone *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorCone" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorCone *)new FormFactorCone(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCone, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorCone__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -91842,10 +92075,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCone(PyObject *SWIGUNUSEDPARM(self), Py int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorCone *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorCone", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorCone" "', argument " "1"" of type '" "double""'"); @@ -91869,6 +92101,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorCone(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorCone", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorCone__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorCone__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorCone'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorCone::FormFactorCone(std::vector< double,std::allocator< double > > const)\n" + " FormFactorCone::FormFactorCone(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorCone_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorCone *arg1 = (FormFactorCone *) 0 ; @@ -92084,7 +92364,30 @@ SWIGINTERN PyObject *FormFactorCone_swiginit(PyObject *SWIGUNUSEDPARM(self), PyO return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorCone6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorCone6__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorCone6 *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorCone6" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorCone6 *)new FormFactorCone6(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCone6, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorCone6__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -92095,10 +92398,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCone6(PyObject *SWIGUNUSEDPARM(self), P int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorCone6 *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorCone6", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorCone6" "', argument " "1"" of type '" "double""'"); @@ -92122,6 +92424,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorCone6(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorCone6", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorCone6__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorCone6__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorCone6'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorCone6::FormFactorCone6(std::vector< double,std::allocator< double > > const)\n" + " FormFactorCone6::FormFactorCone6(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorCone6_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorCone6 *arg1 = (FormFactorCone6 *) 0 ; @@ -92276,7 +92626,30 @@ SWIGINTERN PyObject *FormFactorCone6_swiginit(PyObject *SWIGUNUSEDPARM(self), Py return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorCuboctahedron *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorCuboctahedron" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorCuboctahedron *)new FormFactorCuboctahedron(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCuboctahedron, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -92290,10 +92663,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron(PyObject *SWIGUNUSEDPARM( int ecode3 = 0 ; double val4 ; int ecode4 = 0 ; - PyObject *swig_obj[4] ; FormFactorCuboctahedron *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorCuboctahedron", 4, 4, swig_obj)) SWIG_fail; + if ((nobjs < 4) || (nobjs > 4)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorCuboctahedron" "', argument " "1"" of type '" "double""'"); @@ -92322,6 +92694,60 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorCuboctahedron(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorCuboctahedron", 0, 4, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorCuboctahedron__SWIG_0(self, argc, argv); + } + } + 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_FormFactorCuboctahedron__SWIG_1(self, argc, argv); + } + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorCuboctahedron'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorCuboctahedron::FormFactorCuboctahedron(std::vector< double,std::allocator< double > > const)\n" + " FormFactorCuboctahedron::FormFactorCuboctahedron(double,double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorCuboctahedron_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorCuboctahedron *arg1 = (FormFactorCuboctahedron *) 0 ; @@ -92499,7 +92925,30 @@ SWIGINTERN PyObject *FormFactorCuboctahedron_swiginit(PyObject *SWIGUNUSEDPARM(s return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorCylinder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorCylinder__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorCylinder *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorCylinder" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorCylinder *)new FormFactorCylinder(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorCylinder, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorCylinder__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -92507,10 +92956,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorCylinder(PyObject *SWIGUNUSEDPARM(self) int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorCylinder *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorCylinder", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorCylinder" "', argument " "1"" of type '" "double""'"); @@ -92529,6 +92977,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorCylinder(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorCylinder", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorCylinder__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorCylinder__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorCylinder'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorCylinder::FormFactorCylinder(std::vector< double,std::allocator< double > > const)\n" + " FormFactorCylinder::FormFactorCylinder(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorCylinder_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorCylinder *arg1 = (FormFactorCylinder *) 0 ; @@ -92721,16 +93211,37 @@ SWIGINTERN PyObject *FormFactorCylinder_swiginit(PyObject *SWIGUNUSEDPARM(self), return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorDodecahedron(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorDodecahedron__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorDodecahedron *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorDodecahedron" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorDodecahedron *)new FormFactorDodecahedron(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorDodecahedron, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorDodecahedron__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double val1 ; int ecode1 = 0 ; - PyObject *swig_obj[1] ; FormFactorDodecahedron *result = 0 ; - if (!args) SWIG_fail; - swig_obj[0] = args; + 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_FormFactorDodecahedron" "', argument " "1"" of type '" "double""'"); @@ -92744,6 +93255,42 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorDodecahedron(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorDodecahedron", 0, 1, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + { + int res = SWIG_AsVal_double(argv[0], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_FormFactorDodecahedron__SWIG_1(self, argc, argv); + } + } + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorDodecahedron__SWIG_0(self, argc, argv); + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorDodecahedron'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorDodecahedron::FormFactorDodecahedron(std::vector< double,std::allocator< double > > const)\n" + " FormFactorDodecahedron::FormFactorDodecahedron(double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorDodecahedron_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorDodecahedron *arg1 = (FormFactorDodecahedron *) 0 ; @@ -92852,16 +93399,37 @@ SWIGINTERN PyObject *FormFactorDodecahedron_swiginit(PyObject *SWIGUNUSEDPARM(se return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorDot(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorDot__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorDot *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorDot" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorDot *)new FormFactorDot(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorDot, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorDot__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double val1 ; int ecode1 = 0 ; - PyObject *swig_obj[1] ; FormFactorDot *result = 0 ; - if (!args) SWIG_fail; - swig_obj[0] = args; + 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_FormFactorDot" "', argument " "1"" of type '" "double""'"); @@ -92875,6 +93443,42 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorDot(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorDot", 0, 1, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + { + int res = SWIG_AsVal_double(argv[0], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_FormFactorDot__SWIG_1(self, argc, argv); + } + } + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorDot__SWIG_0(self, argc, argv); + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorDot'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorDot::FormFactorDot(std::vector< double,std::allocator< double > > const)\n" + " FormFactorDot::FormFactorDot(double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorDot_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorDot *arg1 = (FormFactorDot *) 0 ; @@ -93110,7 +93714,30 @@ SWIGINTERN PyObject *FormFactorDot_swiginit(PyObject *SWIGUNUSEDPARM(self), PyOb return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorEllipsoidalCylinder(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorEllipsoidalCylinder__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorEllipsoidalCylinder *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorEllipsoidalCylinder" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorEllipsoidalCylinder *)new FormFactorEllipsoidalCylinder(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorEllipsoidalCylinder, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorEllipsoidalCylinder__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -93121,10 +93748,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorEllipsoidalCylinder(PyObject *SWIGUNUSE int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorEllipsoidalCylinder *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorEllipsoidalCylinder", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorEllipsoidalCylinder" "', argument " "1"" of type '" "double""'"); @@ -93148,6 +93774,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorEllipsoidalCylinder(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorEllipsoidalCylinder", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorEllipsoidalCylinder__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorEllipsoidalCylinder__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorEllipsoidalCylinder'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(std::vector< double,std::allocator< double > > const)\n" + " FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorEllipsoidalCylinder_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorEllipsoidalCylinder *arg1 = (FormFactorEllipsoidalCylinder *) 0 ; @@ -93364,6 +94038,60 @@ SWIGINTERN PyObject *FormFactorEllipsoidalCylinder_swiginit(PyObject *SWIGUNUSED } SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + bool arg2 ; + bool val2 ; + int ecode2 = 0 ; + FormFactorFullSphere *result = 0 ; + + if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorFullSphere" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + ecode2 = SWIG_AsVal_bool(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_FormFactorFullSphere" "', argument " "2"" of type '" "bool""'"); + } + arg2 = static_cast< bool >(val2); + result = (FormFactorFullSphere *)new FormFactorFullSphere(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorFullSphere, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorFullSphere *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorFullSphere" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorFullSphere *)new FormFactorFullSphere(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorFullSphere, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; bool arg2 ; @@ -93392,7 +94120,7 @@ fail: } -SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { +SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere__SWIG_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double val1 ; @@ -93427,6 +94155,14 @@ SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere(PyObject *self, PyObject *ar int res = SWIG_AsVal_double(argv[0], NULL); _v = SWIG_CheckState(res); } + if (_v) { + return _wrap_new_FormFactorFullSphere__SWIG_3(self, argc, argv); + } + } + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); if (_v) { return _wrap_new_FormFactorFullSphere__SWIG_1(self, argc, argv); } @@ -93437,6 +94173,20 @@ SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere(PyObject *self, PyObject *ar int res = SWIG_AsVal_double(argv[0], NULL); _v = SWIG_CheckState(res); } + if (_v) { + { + int res = SWIG_AsVal_bool(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_FormFactorFullSphere__SWIG_2(self, argc, argv); + } + } + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_bool(argv[1], NULL); @@ -93451,6 +94201,8 @@ SWIGINTERN PyObject *_wrap_new_FormFactorFullSphere(PyObject *self, PyObject *ar fail: SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorFullSphere'.\n" " Possible C/C++ prototypes are:\n" + " FormFactorFullSphere::FormFactorFullSphere(std::vector< double,std::allocator< double > > const,bool)\n" + " FormFactorFullSphere::FormFactorFullSphere(std::vector< double,std::allocator< double > > const)\n" " FormFactorFullSphere::FormFactorFullSphere(double,bool)\n" " FormFactorFullSphere::FormFactorFullSphere(double)\n"); return 0; @@ -93692,7 +94444,30 @@ SWIGINTERN PyObject *FormFactorFullSphere_swiginit(PyObject *SWIGUNUSEDPARM(self return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorFullSpheroid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorFullSpheroid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorFullSpheroid *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorFullSpheroid" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorFullSpheroid *)new FormFactorFullSpheroid(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorFullSpheroid, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorFullSpheroid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -93700,10 +94475,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorFullSpheroid(PyObject *SWIGUNUSEDPARM(s int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorFullSpheroid *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorFullSpheroid", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorFullSpheroid" "', argument " "1"" of type '" "double""'"); @@ -93722,6 +94496,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorFullSpheroid(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorFullSpheroid", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorFullSpheroid__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorFullSpheroid__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorFullSpheroid'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorFullSpheroid::FormFactorFullSpheroid(std::vector< double,std::allocator< double > > const)\n" + " FormFactorFullSpheroid::FormFactorFullSpheroid(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorFullSpheroid_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorFullSpheroid *arg1 = (FormFactorFullSpheroid *) 0 ; @@ -93914,7 +94730,30 @@ SWIGINTERN PyObject *FormFactorFullSpheroid_swiginit(PyObject *SWIGUNUSEDPARM(se return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorHemiEllipsoid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorHemiEllipsoid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorHemiEllipsoid *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorHemiEllipsoid" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorHemiEllipsoid *)new FormFactorHemiEllipsoid(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorHemiEllipsoid, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorHemiEllipsoid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -93925,10 +94764,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorHemiEllipsoid(PyObject *SWIGUNUSEDPARM( int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorHemiEllipsoid *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorHemiEllipsoid", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorHemiEllipsoid" "', argument " "1"" of type '" "double""'"); @@ -93952,6 +94790,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorHemiEllipsoid(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorHemiEllipsoid", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorHemiEllipsoid__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorHemiEllipsoid__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorHemiEllipsoid'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(std::vector< double,std::allocator< double > > const)\n" + " FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_delete_FormFactorHemiEllipsoid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorHemiEllipsoid *arg1 = (FormFactorHemiEllipsoid *) 0 ; @@ -94167,7 +95053,30 @@ SWIGINTERN PyObject *FormFactorHemiEllipsoid_swiginit(PyObject *SWIGUNUSEDPARM(s return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorHollowSphere(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorHollowSphere__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorHollowSphere *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorHollowSphere" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorHollowSphere *)new FormFactorHollowSphere(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorHollowSphere, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorHollowSphere__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -94175,10 +95084,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorHollowSphere(PyObject *SWIGUNUSEDPARM(s int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorHollowSphere *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorHollowSphere", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorHollowSphere" "', argument " "1"" of type '" "double""'"); @@ -94197,6 +95105,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorHollowSphere(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorHollowSphere", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorHollowSphere__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorHollowSphere__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorHollowSphere'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorHollowSphere::FormFactorHollowSphere(std::vector< double,std::allocator< double > > const)\n" + " FormFactorHollowSphere::FormFactorHollowSphere(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorHollowSphere_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorHollowSphere *arg1 = (FormFactorHollowSphere *) 0 ; @@ -94343,16 +95293,37 @@ SWIGINTERN PyObject *FormFactorHollowSphere_swiginit(PyObject *SWIGUNUSEDPARM(se return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorIcosahedron(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorIcosahedron__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorIcosahedron *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorIcosahedron" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorIcosahedron *)new FormFactorIcosahedron(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorIcosahedron, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorIcosahedron__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double val1 ; int ecode1 = 0 ; - PyObject *swig_obj[1] ; FormFactorIcosahedron *result = 0 ; - if (!args) SWIG_fail; - swig_obj[0] = args; + 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_FormFactorIcosahedron" "', argument " "1"" of type '" "double""'"); @@ -94366,6 +95337,42 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorIcosahedron(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorIcosahedron", 0, 1, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + { + int res = SWIG_AsVal_double(argv[0], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_FormFactorIcosahedron__SWIG_1(self, argc, argv); + } + } + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorIcosahedron__SWIG_0(self, argc, argv); + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorIcosahedron'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorIcosahedron::FormFactorIcosahedron(std::vector< double,std::allocator< double > > const)\n" + " FormFactorIcosahedron::FormFactorIcosahedron(double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorIcosahedron_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorIcosahedron *arg1 = (FormFactorIcosahedron *) 0 ; @@ -94474,7 +95481,30 @@ SWIGINTERN PyObject *FormFactorIcosahedron_swiginit(PyObject *SWIGUNUSEDPARM(sel return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxGauss(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxGauss__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorLongBoxGauss *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorLongBoxGauss" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorLongBoxGauss *)new FormFactorLongBoxGauss(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorLongBoxGauss, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxGauss__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -94485,10 +95515,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxGauss(PyObject *SWIGUNUSEDPARM(s int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorLongBoxGauss *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorLongBoxGauss", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorLongBoxGauss" "', argument " "1"" of type '" "double""'"); @@ -94512,6 +95541,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxGauss(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorLongBoxGauss", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorLongBoxGauss__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorLongBoxGauss__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorLongBoxGauss'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorLongBoxGauss::FormFactorLongBoxGauss(std::vector< double,std::allocator< double > > const)\n" + " FormFactorLongBoxGauss::FormFactorLongBoxGauss(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorLongBoxGauss_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorLongBoxGauss *arg1 = (FormFactorLongBoxGauss *) 0 ; @@ -94727,7 +95804,30 @@ SWIGINTERN PyObject *FormFactorLongBoxGauss_swiginit(PyObject *SWIGUNUSEDPARM(se return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxLorentz(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxLorentz__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorLongBoxLorentz *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorLongBoxLorentz" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorLongBoxLorentz *)new FormFactorLongBoxLorentz(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorLongBoxLorentz, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxLorentz__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -94738,10 +95838,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxLorentz(PyObject *SWIGUNUSEDPARM int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorLongBoxLorentz *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorLongBoxLorentz", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorLongBoxLorentz" "', argument " "1"" of type '" "double""'"); @@ -94765,6 +95864,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorLongBoxLorentz(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorLongBoxLorentz", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorLongBoxLorentz__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorLongBoxLorentz__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorLongBoxLorentz'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(std::vector< double,std::allocator< double > > const)\n" + " FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorLongBoxLorentz_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorLongBoxLorentz *arg1 = (FormFactorLongBoxLorentz *) 0 ; @@ -94980,7 +96127,30 @@ SWIGINTERN PyObject *FormFactorLongBoxLorentz_swiginit(PyObject *SWIGUNUSEDPARM( return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorPrism3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorPrism3__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorPrism3 *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorPrism3" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorPrism3 *)new FormFactorPrism3(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorPrism3, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorPrism3__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -94988,10 +96158,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorPrism3(PyObject *SWIGUNUSEDPARM(self), int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorPrism3 *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorPrism3", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorPrism3" "', argument " "1"" of type '" "double""'"); @@ -95010,6 +96179,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorPrism3(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorPrism3", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorPrism3__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorPrism3__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorPrism3'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorPrism3::FormFactorPrism3(std::vector< double,std::allocator< double > > const)\n" + " FormFactorPrism3::FormFactorPrism3(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorPrism3_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorPrism3 *arg1 = (FormFactorPrism3 *) 0 ; @@ -95118,7 +96329,30 @@ SWIGINTERN PyObject *FormFactorPrism3_swiginit(PyObject *SWIGUNUSEDPARM(self), P return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorPrism6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorPrism6__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorPrism6 *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorPrism6" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorPrism6 *)new FormFactorPrism6(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorPrism6, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorPrism6__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -95126,10 +96360,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorPrism6(PyObject *SWIGUNUSEDPARM(self), int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorPrism6 *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorPrism6", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorPrism6" "', argument " "1"" of type '" "double""'"); @@ -95148,6 +96381,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorPrism6(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorPrism6", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorPrism6__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorPrism6__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorPrism6'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorPrism6::FormFactorPrism6(std::vector< double,std::allocator< double > > const)\n" + " FormFactorPrism6::FormFactorPrism6(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorPrism6_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorPrism6 *arg1 = (FormFactorPrism6 *) 0 ; @@ -95256,7 +96531,30 @@ SWIGINTERN PyObject *FormFactorPrism6_swiginit(PyObject *SWIGUNUSEDPARM(self), P return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorPyramid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorPyramid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorPyramid *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorPyramid" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorPyramid *)new FormFactorPyramid(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorPyramid, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorPyramid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -95267,10 +96565,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorPyramid(PyObject *SWIGUNUSEDPARM(self), int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorPyramid *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorPyramid", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorPyramid" "', argument " "1"" of type '" "double""'"); @@ -95294,6 +96591,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorPyramid(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorPyramid", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorPyramid__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorPyramid__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorPyramid'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorPyramid::FormFactorPyramid(std::vector< double,std::allocator< double > > const)\n" + " FormFactorPyramid::FormFactorPyramid(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorPyramid_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorPyramid *arg1 = (FormFactorPyramid *) 0 ; @@ -96210,7 +97555,30 @@ SWIGINTERN PyObject *FormFactorRipple2Lorentz_swiginit(PyObject *SWIGUNUSEDPARM( return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorTetrahedron(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorTetrahedron__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorTetrahedron *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorTetrahedron" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorTetrahedron *)new FormFactorTetrahedron(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorTetrahedron, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorTetrahedron__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -96221,10 +97589,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorTetrahedron(PyObject *SWIGUNUSEDPARM(se int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorTetrahedron *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorTetrahedron", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorTetrahedron" "', argument " "1"" of type '" "double""'"); @@ -96248,6 +97615,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorTetrahedron(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorTetrahedron", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorTetrahedron__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorTetrahedron__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorTetrahedron'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorTetrahedron::FormFactorTetrahedron(std::vector< double,std::allocator< double > > const)\n" + " FormFactorTetrahedron::FormFactorTetrahedron(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorTetrahedron_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorTetrahedron *arg1 = (FormFactorTetrahedron *) 0 ; @@ -96402,7 +97817,30 @@ SWIGINTERN PyObject *FormFactorTetrahedron_swiginit(PyObject *SWIGUNUSEDPARM(sel return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedCube(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedCube__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorTruncatedCube *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorTruncatedCube" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorTruncatedCube *)new FormFactorTruncatedCube(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorTruncatedCube, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedCube__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -96410,10 +97848,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedCube(PyObject *SWIGUNUSEDPARM( int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorTruncatedCube *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorTruncatedCube", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorTruncatedCube" "', argument " "1"" of type '" "double""'"); @@ -96432,6 +97869,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedCube(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorTruncatedCube", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorTruncatedCube__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorTruncatedCube__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorTruncatedCube'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorTruncatedCube::FormFactorTruncatedCube(std::vector< double,std::allocator< double > > const)\n" + " FormFactorTruncatedCube::FormFactorTruncatedCube(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorTruncatedCube_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorTruncatedCube *arg1 = (FormFactorTruncatedCube *) 0 ; @@ -96563,7 +98042,30 @@ SWIGINTERN PyObject *FormFactorTruncatedCube_swiginit(PyObject *SWIGUNUSEDPARM(s return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSphere(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSphere__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorTruncatedSphere *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorTruncatedSphere" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorTruncatedSphere *)new FormFactorTruncatedSphere(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorTruncatedSphere, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSphere__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -96574,10 +98076,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSphere(PyObject *SWIGUNUSEDPAR int ecode2 = 0 ; double val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorTruncatedSphere *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorTruncatedSphere", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorTruncatedSphere" "', argument " "1"" of type '" "double""'"); @@ -96601,6 +98102,54 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSphere(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorTruncatedSphere", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorTruncatedSphere__SWIG_0(self, argc, argv); + } + } + if (argc == 3) { + 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) { + return _wrap_new_FormFactorTruncatedSphere__SWIG_1(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorTruncatedSphere'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorTruncatedSphere::FormFactorTruncatedSphere(std::vector< double,std::allocator< double > > const)\n" + " FormFactorTruncatedSphere::FormFactorTruncatedSphere(double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorTruncatedSphere_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorTruncatedSphere *arg1 = (FormFactorTruncatedSphere *) 0 ; @@ -96816,7 +98365,30 @@ SWIGINTERN PyObject *FormFactorTruncatedSphere_swiginit(PyObject *SWIGUNUSEDPARM return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSpheroid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSpheroid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorTruncatedSpheroid *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorTruncatedSpheroid" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorTruncatedSpheroid *)new FormFactorTruncatedSpheroid(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorTruncatedSpheroid, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSpheroid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -96830,10 +98402,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSpheroid(PyObject *SWIGUNUSEDP int ecode3 = 0 ; double val4 ; int ecode4 = 0 ; - PyObject *swig_obj[4] ; FormFactorTruncatedSpheroid *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorTruncatedSpheroid", 4, 4, swig_obj)) SWIG_fail; + 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_FormFactorTruncatedSpheroid" "', argument " "1"" of type '" "double""'"); @@ -96862,6 +98433,60 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorTruncatedSpheroid(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorTruncatedSpheroid", 0, 4, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorTruncatedSpheroid__SWIG_0(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_FormFactorTruncatedSpheroid__SWIG_1(self, argc, argv); + } + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorTruncatedSpheroid'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(std::vector< double,std::allocator< double > > const)\n" + " FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(double,double,double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorTruncatedSpheroid_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorTruncatedSpheroid *arg1 = (FormFactorTruncatedSpheroid *) 0 ; @@ -97190,16 +98815,37 @@ fail: } -SWIGINTERN PyObject *_wrap_new_FormFactorGaussSphere(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorGaussSphere__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorGaussSphere *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorGaussSphere" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorGaussSphere *)new FormFactorGaussSphere(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorGaussSphere, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorGaussSphere__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double val1 ; int ecode1 = 0 ; - PyObject *swig_obj[1] ; FormFactorGaussSphere *result = 0 ; - if (!args) SWIG_fail; - swig_obj[0] = args; + 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_FormFactorGaussSphere" "', argument " "1"" of type '" "double""'"); @@ -97213,6 +98859,42 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorGaussSphere(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorGaussSphere", 0, 1, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + { + int res = SWIG_AsVal_double(argv[0], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_FormFactorGaussSphere__SWIG_1(self, argc, argv); + } + } + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorGaussSphere__SWIG_0(self, argc, argv); + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorGaussSphere'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorGaussSphere::FormFactorGaussSphere(std::vector< double,std::allocator< double > > const)\n" + " FormFactorGaussSphere::FormFactorGaussSphere(double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorGaussSphere_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorGaussSphere *arg1 = (FormFactorGaussSphere *) 0 ; @@ -97382,7 +99064,30 @@ SWIGINTERN PyObject *FormFactorGaussSphere_swiginit(PyObject *SWIGUNUSEDPARM(sel return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorSphereGaussianRadius(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorSphereGaussianRadius__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorSphereGaussianRadius *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorSphereGaussianRadius" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorSphereGaussianRadius *)new FormFactorSphereGaussianRadius(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorSphereGaussianRadius, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorSphereGaussianRadius__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -97390,10 +99095,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorSphereGaussianRadius(PyObject *SWIGUNUS int ecode1 = 0 ; double val2 ; int ecode2 = 0 ; - PyObject *swig_obj[2] ; FormFactorSphereGaussianRadius *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorSphereGaussianRadius", 2, 2, swig_obj)) SWIG_fail; + 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_FormFactorSphereGaussianRadius" "', argument " "1"" of type '" "double""'"); @@ -97412,6 +99116,48 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorSphereGaussianRadius(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorSphereGaussianRadius", 0, 2, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorSphereGaussianRadius__SWIG_0(self, argc, argv); + } + } + if (argc == 2) { + 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) { + return _wrap_new_FormFactorSphereGaussianRadius__SWIG_1(self, argc, argv); + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorSphereGaussianRadius'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(std::vector< double,std::allocator< double > > const)\n" + " FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(double,double)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorSphereGaussianRadius_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorSphereGaussianRadius *arg1 = (FormFactorSphereGaussianRadius *) 0 ; @@ -97558,7 +99304,61 @@ SWIGINTERN PyObject *FormFactorSphereGaussianRadius_swiginit(PyObject *SWIGUNUSE return SWIG_Python_InitShadowInstance(args); } -SWIGINTERN PyObject *_wrap_new_FormFactorSphereLogNormalRadius(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_new_FormFactorSphereLogNormalRadius__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + size_t arg2 ; + size_t val2 ; + int ecode2 = 0 ; + FormFactorSphereLogNormalRadius *result = 0 ; + + if ((nobjs < 2) || (nobjs > 2)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorSphereLogNormalRadius" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + ecode2 = SWIG_AsVal_size_t(swig_obj[1], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_FormFactorSphereLogNormalRadius" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + result = (FormFactorSphereLogNormalRadius *)new FormFactorSphereLogNormalRadius(arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorSphereLogNormalRadius, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorSphereLogNormalRadius__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { + PyObject *resultobj = 0; + std::vector< double,std::allocator< double > > arg1 ; + FormFactorSphereLogNormalRadius *result = 0 ; + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + int res = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_FormFactorSphereLogNormalRadius" "', argument " "1"" of type '" "std::vector< double,std::allocator< double > > const""'"); + } + arg1 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (FormFactorSphereLogNormalRadius *)new FormFactorSphereLogNormalRadius(arg1); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FormFactorSphereLogNormalRadius, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_FormFactorSphereLogNormalRadius__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) { PyObject *resultobj = 0; double arg1 ; double arg2 ; @@ -97569,10 +99369,9 @@ SWIGINTERN PyObject *_wrap_new_FormFactorSphereLogNormalRadius(PyObject *SWIGUNU int ecode2 = 0 ; size_t val3 ; int ecode3 = 0 ; - PyObject *swig_obj[3] ; FormFactorSphereLogNormalRadius *result = 0 ; - if (!SWIG_Python_UnpackTuple(args, "new_FormFactorSphereLogNormalRadius", 3, 3, swig_obj)) SWIG_fail; + if ((nobjs < 3) || (nobjs > 3)) SWIG_fail; ecode1 = SWIG_AsVal_double(swig_obj[0], &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_FormFactorSphereLogNormalRadius" "', argument " "1"" of type '" "double""'"); @@ -97596,6 +99395,69 @@ fail: } +SWIGINTERN PyObject *_wrap_new_FormFactorSphereLogNormalRadius(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + + if (!(argc = SWIG_Python_UnpackTuple(args, "new_FormFactorSphereLogNormalRadius", 0, 3, argv))) SWIG_fail; + --argc; + if (argc == 1) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_FormFactorSphereLogNormalRadius__SWIG_1(self, argc, argv); + } + } + if (argc == 2) { + int _v; + int res = swig::asptr(argv[0], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_FormFactorSphereLogNormalRadius__SWIG_0(self, argc, argv); + } + } + } + if (argc == 3) { + 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_size_t(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_FormFactorSphereLogNormalRadius__SWIG_2(self, argc, argv); + } + } + } + } + +fail: + SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_FormFactorSphereLogNormalRadius'.\n" + " Possible C/C++ prototypes are:\n" + " FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(std::vector< double,std::allocator< double > > const,size_t)\n" + " FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(std::vector< double,std::allocator< double > > const)\n" + " FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(double,double,size_t)\n"); + return 0; +} + + SWIGINTERN PyObject *_wrap_FormFactorSphereLogNormalRadius_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FormFactorSphereLogNormalRadius *arg1 = (FormFactorSphereLogNormalRadius *) 0 ; @@ -122381,8 +124243,8 @@ static PyMethodDef SwigMethods[] = { { "DistributionCosine_swigregister", DistributionCosine_swigregister, METH_O, NULL}, { "DistributionCosine_swiginit", DistributionCosine_swiginit, METH_VARARGS, NULL}, { "new_DistributionTrapezoid", _wrap_new_DistributionTrapezoid, METH_VARARGS, "\n" - "DistributionTrapezoid(double center, double left, double middle, double right)\n" - "new_DistributionTrapezoid() -> DistributionTrapezoid\n" + "DistributionTrapezoid()\n" + "new_DistributionTrapezoid(double center, double left, double middle, double right) -> DistributionTrapezoid\n" "DistributionTrapezoid::DistributionTrapezoid(double center, double left_width, double middle_width, double right_width)\n" "\n" ""}, @@ -127152,6 +129014,7 @@ static PyMethodDef SwigMethods[] = { { "delete_ProfileRipple2", _wrap_delete_ProfileRipple2, METH_O, "delete_ProfileRipple2(ProfileRipple2 self)"}, { "ProfileRipple2_swigregister", ProfileRipple2_swigregister, METH_O, NULL}, { "new_FormFactorAnisoPyramid", _wrap_new_FormFactorAnisoPyramid, METH_VARARGS, "\n" + "FormFactorAnisoPyramid(vdouble1d_t P)\n" "new_FormFactorAnisoPyramid(double length, double width, double height, double alpha) -> FormFactorAnisoPyramid\n" "FormFactorAnisoPyramid::FormFactorAnisoPyramid(double length, double width, double height, double alpha)\n" "\n" @@ -127211,6 +129074,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorAnisoPyramid_swigregister", FormFactorAnisoPyramid_swigregister, METH_O, NULL}, { "FormFactorAnisoPyramid_swiginit", FormFactorAnisoPyramid_swiginit, METH_VARARGS, NULL}, { "new_FormFactorBox", _wrap_new_FormFactorBox, METH_VARARGS, "\n" + "FormFactorBox(vdouble1d_t P)\n" "new_FormFactorBox(double length, double width, double height) -> FormFactorBox\n" "FormFactorBox::FormFactorBox(double length, double width, double height)\n" "\n" @@ -127278,6 +129142,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorBox_swigregister", FormFactorBox_swigregister, METH_O, NULL}, { "FormFactorBox_swiginit", FormFactorBox_swiginit, METH_VARARGS, NULL}, { "new_FormFactorCantellatedCube", _wrap_new_FormFactorCantellatedCube, METH_VARARGS, "\n" + "FormFactorCantellatedCube(vdouble1d_t P)\n" "new_FormFactorCantellatedCube(double length, double removed_length) -> FormFactorCantellatedCube\n" "FormFactorCantellatedCube::FormFactorCantellatedCube(double length, double removed_length)\n" "\n" @@ -127321,6 +129186,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorCantellatedCube_swigregister", FormFactorCantellatedCube_swigregister, METH_O, NULL}, { "FormFactorCantellatedCube_swiginit", FormFactorCantellatedCube_swiginit, METH_VARARGS, NULL}, { "new_FormFactorCone", _wrap_new_FormFactorCone, METH_VARARGS, "\n" + "FormFactorCone(vdouble1d_t P)\n" "new_FormFactorCone(double radius, double height, double alpha) -> FormFactorCone\n" "FormFactorCone::FormFactorCone(double radius, double height, double alpha)\n" "\n" @@ -127386,6 +129252,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorCone_swigregister", FormFactorCone_swigregister, METH_O, NULL}, { "FormFactorCone_swiginit", FormFactorCone_swiginit, METH_VARARGS, NULL}, { "new_FormFactorCone6", _wrap_new_FormFactorCone6, METH_VARARGS, "\n" + "FormFactorCone6(vdouble1d_t P)\n" "new_FormFactorCone6(double base_edge, double height, double alpha) -> FormFactorCone6\n" "FormFactorCone6::FormFactorCone6(double base_edge, double height, double alpha)\n" "\n" @@ -127437,6 +129304,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorCone6_swigregister", FormFactorCone6_swigregister, METH_O, NULL}, { "FormFactorCone6_swiginit", FormFactorCone6_swiginit, METH_VARARGS, NULL}, { "new_FormFactorCuboctahedron", _wrap_new_FormFactorCuboctahedron, METH_VARARGS, "\n" + "FormFactorCuboctahedron(vdouble1d_t P)\n" "new_FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha) -> FormFactorCuboctahedron\n" "FormFactorCuboctahedron::FormFactorCuboctahedron(double length, double height, double height_ratio, double alpha)\n" "\n" @@ -127496,6 +129364,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorCuboctahedron_swigregister", FormFactorCuboctahedron_swigregister, METH_O, NULL}, { "FormFactorCuboctahedron_swiginit", FormFactorCuboctahedron_swiginit, METH_VARARGS, NULL}, { "new_FormFactorCylinder", _wrap_new_FormFactorCylinder, METH_VARARGS, "\n" + "FormFactorCylinder(vdouble1d_t P)\n" "new_FormFactorCylinder(double radius, double height) -> FormFactorCylinder\n" "FormFactorCylinder::FormFactorCylinder(double radius, double height)\n" "\n" @@ -127552,7 +129421,8 @@ static PyMethodDef SwigMethods[] = { { "delete_FormFactorCylinder", _wrap_delete_FormFactorCylinder, METH_O, "delete_FormFactorCylinder(FormFactorCylinder self)"}, { "FormFactorCylinder_swigregister", FormFactorCylinder_swigregister, METH_O, NULL}, { "FormFactorCylinder_swiginit", FormFactorCylinder_swiginit, METH_VARARGS, NULL}, - { "new_FormFactorDodecahedron", _wrap_new_FormFactorDodecahedron, METH_O, "\n" + { "new_FormFactorDodecahedron", _wrap_new_FormFactorDodecahedron, METH_VARARGS, "\n" + "FormFactorDodecahedron(vdouble1d_t P)\n" "new_FormFactorDodecahedron(double edge) -> FormFactorDodecahedron\n" "FormFactorDodecahedron::FormFactorDodecahedron(double edge)\n" "\n" @@ -127595,7 +129465,8 @@ static PyMethodDef SwigMethods[] = { { "delete_FormFactorDodecahedron", _wrap_delete_FormFactorDodecahedron, METH_O, "delete_FormFactorDodecahedron(FormFactorDodecahedron self)"}, { "FormFactorDodecahedron_swigregister", FormFactorDodecahedron_swigregister, METH_O, NULL}, { "FormFactorDodecahedron_swiginit", FormFactorDodecahedron_swiginit, METH_VARARGS, NULL}, - { "new_FormFactorDot", _wrap_new_FormFactorDot, METH_O, "\n" + { "new_FormFactorDot", _wrap_new_FormFactorDot, METH_VARARGS, "\n" + "FormFactorDot(vdouble1d_t P)\n" "new_FormFactorDot(double radius) -> FormFactorDot\n" "FormFactorDot::FormFactorDot(double radius)\n" "\n" @@ -127659,6 +129530,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorDot_swigregister", FormFactorDot_swigregister, METH_O, NULL}, { "FormFactorDot_swiginit", FormFactorDot_swiginit, METH_VARARGS, NULL}, { "new_FormFactorEllipsoidalCylinder", _wrap_new_FormFactorEllipsoidalCylinder, METH_VARARGS, "\n" + "FormFactorEllipsoidalCylinder(vdouble1d_t P)\n" "new_FormFactorEllipsoidalCylinder(double radius_x, double radius_y, double height) -> FormFactorEllipsoidalCylinder\n" "FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(double radius_x, double radius_y, double height)\n" "\n" @@ -127724,6 +129596,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorEllipsoidalCylinder_swigregister", FormFactorEllipsoidalCylinder_swigregister, METH_O, NULL}, { "FormFactorEllipsoidalCylinder_swiginit", FormFactorEllipsoidalCylinder_swiginit, METH_VARARGS, NULL}, { "new_FormFactorFullSphere", _wrap_new_FormFactorFullSphere, METH_VARARGS, "\n" + "FormFactorFullSphere(vdouble1d_t P, bool position_at_center=False)\n" "FormFactorFullSphere(double radius, bool position_at_center=False)\n" "FormFactorFullSphere::FormFactorFullSphere(double radius, bool position_at_center=false)\n" "\n" @@ -127787,6 +129660,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorFullSphere_swigregister", FormFactorFullSphere_swigregister, METH_O, NULL}, { "FormFactorFullSphere_swiginit", FormFactorFullSphere_swiginit, METH_VARARGS, NULL}, { "new_FormFactorFullSpheroid", _wrap_new_FormFactorFullSpheroid, METH_VARARGS, "\n" + "FormFactorFullSpheroid(vdouble1d_t P)\n" "new_FormFactorFullSpheroid(double radius, double height) -> FormFactorFullSpheroid\n" "FormFactorFullSpheroid::FormFactorFullSpheroid(double radius, double height)\n" "\n" @@ -127844,6 +129718,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorFullSpheroid_swigregister", FormFactorFullSpheroid_swigregister, METH_O, NULL}, { "FormFactorFullSpheroid_swiginit", FormFactorFullSpheroid_swiginit, METH_VARARGS, NULL}, { "new_FormFactorHemiEllipsoid", _wrap_new_FormFactorHemiEllipsoid, METH_VARARGS, "\n" + "FormFactorHemiEllipsoid(vdouble1d_t P)\n" "new_FormFactorHemiEllipsoid(double radius_x, double radius_y, double height) -> FormFactorHemiEllipsoid\n" "FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(double radius_x, double radius_y, double height)\n" "\n" @@ -127913,6 +129788,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorHemiEllipsoid_swigregister", FormFactorHemiEllipsoid_swigregister, METH_O, NULL}, { "FormFactorHemiEllipsoid_swiginit", FormFactorHemiEllipsoid_swiginit, METH_VARARGS, NULL}, { "new_FormFactorHollowSphere", _wrap_new_FormFactorHollowSphere, METH_VARARGS, "\n" + "FormFactorHollowSphere(vdouble1d_t P)\n" "new_FormFactorHollowSphere(double mean, double full_width) -> FormFactorHollowSphere\n" "FormFactorHollowSphere::FormFactorHollowSphere(double mean, double full_width)\n" "\n" @@ -127948,7 +129824,8 @@ static PyMethodDef SwigMethods[] = { { "delete_FormFactorHollowSphere", _wrap_delete_FormFactorHollowSphere, METH_O, "delete_FormFactorHollowSphere(FormFactorHollowSphere self)"}, { "FormFactorHollowSphere_swigregister", FormFactorHollowSphere_swigregister, METH_O, NULL}, { "FormFactorHollowSphere_swiginit", FormFactorHollowSphere_swiginit, METH_VARARGS, NULL}, - { "new_FormFactorIcosahedron", _wrap_new_FormFactorIcosahedron, METH_O, "\n" + { "new_FormFactorIcosahedron", _wrap_new_FormFactorIcosahedron, METH_VARARGS, "\n" + "FormFactorIcosahedron(vdouble1d_t P)\n" "new_FormFactorIcosahedron(double edge) -> FormFactorIcosahedron\n" "FormFactorIcosahedron::FormFactorIcosahedron(double edge)\n" "\n" @@ -127984,6 +129861,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorIcosahedron_swigregister", FormFactorIcosahedron_swigregister, METH_O, NULL}, { "FormFactorIcosahedron_swiginit", FormFactorIcosahedron_swiginit, METH_VARARGS, NULL}, { "new_FormFactorLongBoxGauss", _wrap_new_FormFactorLongBoxGauss, METH_VARARGS, "\n" + "FormFactorLongBoxGauss(vdouble1d_t P)\n" "new_FormFactorLongBoxGauss(double length, double width, double height) -> FormFactorLongBoxGauss\n" "FormFactorLongBoxGauss::FormFactorLongBoxGauss(double length, double width, double height)\n" "\n" @@ -128049,6 +129927,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorLongBoxGauss_swigregister", FormFactorLongBoxGauss_swigregister, METH_O, NULL}, { "FormFactorLongBoxGauss_swiginit", FormFactorLongBoxGauss_swiginit, METH_VARARGS, NULL}, { "new_FormFactorLongBoxLorentz", _wrap_new_FormFactorLongBoxLorentz, METH_VARARGS, "\n" + "FormFactorLongBoxLorentz(vdouble1d_t P)\n" "new_FormFactorLongBoxLorentz(double length, double width, double height) -> FormFactorLongBoxLorentz\n" "FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(double length, double width, double height)\n" "\n" @@ -128114,6 +129993,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorLongBoxLorentz_swigregister", FormFactorLongBoxLorentz_swigregister, METH_O, NULL}, { "FormFactorLongBoxLorentz_swiginit", FormFactorLongBoxLorentz_swiginit, METH_VARARGS, NULL}, { "new_FormFactorPrism3", _wrap_new_FormFactorPrism3, METH_VARARGS, "\n" + "FormFactorPrism3(vdouble1d_t P)\n" "new_FormFactorPrism3(double base_edge, double height) -> FormFactorPrism3\n" "FormFactorPrism3::FormFactorPrism3(double base_edge, double height)\n" "\n" @@ -128152,6 +130032,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorPrism3_swigregister", FormFactorPrism3_swigregister, METH_O, NULL}, { "FormFactorPrism3_swiginit", FormFactorPrism3_swiginit, METH_VARARGS, NULL}, { "new_FormFactorPrism6", _wrap_new_FormFactorPrism6, METH_VARARGS, "\n" + "FormFactorPrism6(vdouble1d_t P)\n" "new_FormFactorPrism6(double base_edge, double height) -> FormFactorPrism6\n" "FormFactorPrism6::FormFactorPrism6(double base_edge, double height)\n" "\n" @@ -128190,6 +130071,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorPrism6_swigregister", FormFactorPrism6_swigregister, METH_O, NULL}, { "FormFactorPrism6_swiginit", FormFactorPrism6_swiginit, METH_VARARGS, NULL}, { "new_FormFactorPyramid", _wrap_new_FormFactorPyramid, METH_VARARGS, "\n" + "FormFactorPyramid(vdouble1d_t P)\n" "new_FormFactorPyramid(double base_edge, double height, double alpha) -> FormFactorPyramid\n" "FormFactorPyramid::FormFactorPyramid(double base_edge, double height, double alpha)\n" "\n" @@ -128373,6 +130255,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorRipple2Lorentz_swigregister", FormFactorRipple2Lorentz_swigregister, METH_O, NULL}, { "FormFactorRipple2Lorentz_swiginit", FormFactorRipple2Lorentz_swiginit, METH_VARARGS, NULL}, { "new_FormFactorTetrahedron", _wrap_new_FormFactorTetrahedron, METH_VARARGS, "\n" + "FormFactorTetrahedron(vdouble1d_t P)\n" "new_FormFactorTetrahedron(double base_edge, double height, double alpha) -> FormFactorTetrahedron\n" "FormFactorTetrahedron::FormFactorTetrahedron(double base_edge, double height, double alpha)\n" "\n" @@ -128424,6 +130307,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorTetrahedron_swigregister", FormFactorTetrahedron_swigregister, METH_O, NULL}, { "FormFactorTetrahedron_swiginit", FormFactorTetrahedron_swiginit, METH_VARARGS, NULL}, { "new_FormFactorTruncatedCube", _wrap_new_FormFactorTruncatedCube, METH_VARARGS, "\n" + "FormFactorTruncatedCube(vdouble1d_t P)\n" "new_FormFactorTruncatedCube(double length, double removed_length) -> FormFactorTruncatedCube\n" "FormFactorTruncatedCube::FormFactorTruncatedCube(double length, double removed_length)\n" "\n" @@ -128467,6 +130351,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorTruncatedCube_swigregister", FormFactorTruncatedCube_swigregister, METH_O, NULL}, { "FormFactorTruncatedCube_swiginit", FormFactorTruncatedCube_swiginit, METH_VARARGS, NULL}, { "new_FormFactorTruncatedSphere", _wrap_new_FormFactorTruncatedSphere, METH_VARARGS, "\n" + "FormFactorTruncatedSphere(vdouble1d_t P)\n" "new_FormFactorTruncatedSphere(double radius, double height, double dh) -> FormFactorTruncatedSphere\n" "FormFactorTruncatedSphere::FormFactorTruncatedSphere(double radius, double height, double dh=0.0)\n" "\n" @@ -128532,6 +130417,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorTruncatedSphere_swigregister", FormFactorTruncatedSphere_swigregister, METH_O, NULL}, { "FormFactorTruncatedSphere_swiginit", FormFactorTruncatedSphere_swiginit, METH_VARARGS, NULL}, { "new_FormFactorTruncatedSpheroid", _wrap_new_FormFactorTruncatedSpheroid, METH_VARARGS, "\n" + "FormFactorTruncatedSpheroid(vdouble1d_t P)\n" "new_FormFactorTruncatedSpheroid(double radius, double height, double height_flattening, double dh) -> FormFactorTruncatedSpheroid\n" "FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(double radius, double height, double height_flattening, double dh=0.0)\n" "\n" @@ -128619,7 +130505,10 @@ static PyMethodDef SwigMethods[] = { "complex_t ripples::factor_x_Lorentz(complex_t q, double l)\n" "\n" ""}, - { "new_FormFactorGaussSphere", _wrap_new_FormFactorGaussSphere, METH_O, "new_FormFactorGaussSphere(double mean_radius) -> FormFactorGaussSphere"}, + { "new_FormFactorGaussSphere", _wrap_new_FormFactorGaussSphere, METH_VARARGS, "\n" + "FormFactorGaussSphere(vdouble1d_t P)\n" + "new_FormFactorGaussSphere(double mean_radius) -> FormFactorGaussSphere\n" + ""}, { "FormFactorGaussSphere_clone", _wrap_FormFactorGaussSphere_clone, METH_O, "\n" "FormFactorGaussSphere_clone(FormFactorGaussSphere self) -> FormFactorGaussSphere\n" "IFormFactorBorn* IFormFactorBorn::clone() const override=0\n" @@ -128653,6 +130542,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorGaussSphere_swigregister", FormFactorGaussSphere_swigregister, METH_O, NULL}, { "FormFactorGaussSphere_swiginit", FormFactorGaussSphere_swiginit, METH_VARARGS, NULL}, { "new_FormFactorSphereGaussianRadius", _wrap_new_FormFactorSphereGaussianRadius, METH_VARARGS, "\n" + "FormFactorSphereGaussianRadius(vdouble1d_t P)\n" "new_FormFactorSphereGaussianRadius(double mean, double sigma) -> FormFactorSphereGaussianRadius\n" "FormFactorSphereGaussianRadius::FormFactorSphereGaussianRadius(double mean, double sigma)\n" "\n" @@ -128689,6 +130579,7 @@ static PyMethodDef SwigMethods[] = { { "FormFactorSphereGaussianRadius_swigregister", FormFactorSphereGaussianRadius_swigregister, METH_O, NULL}, { "FormFactorSphereGaussianRadius_swiginit", FormFactorSphereGaussianRadius_swiginit, METH_VARARGS, NULL}, { "new_FormFactorSphereLogNormalRadius", _wrap_new_FormFactorSphereLogNormalRadius, METH_VARARGS, "\n" + "FormFactorSphereLogNormalRadius(vdouble1d_t P, size_t n_samples=0)\n" "new_FormFactorSphereLogNormalRadius(double mean, double scale_param, size_t n_samples) -> FormFactorSphereLogNormalRadius\n" "FormFactorSphereLogNormalRadius::FormFactorSphereLogNormalRadius(double mean, double scale_param, size_t n_samples)\n" "\n" -- GitLab