From 1cffa674d1959ff8a5ada635a5c69a4f8e2e577f Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Wed, 23 Sep 2020 18:25:36 +0200
Subject: [PATCH] Windows: rm BA_CORE_API and WinDll.h fromm Fit

---
 Core/Parametrization/RealParameter.h          |  1 +
 Fit/Kernel/FitOptions.h                       |  3 +-
 Fit/Kernel/IFunctionAdapter.h                 |  3 +-
 Fit/Kernel/Kernel.h                           |  3 +-
 Fit/Kernel/Minimizer.h                        |  3 +-
 Fit/Kernel/MinimizerResult.h                  |  3 +-
 Fit/Kernel/Parameter.h                        |  3 +-
 Fit/Kernel/Parameters.h                       |  3 +-
 Fit/Kernel/PyCallback.h                       |  3 +-
 Fit/Minimizer/IMinimizer.h                    |  3 +-
 Fit/Minimizer/MinimizerCatalog.h              |  3 +-
 Fit/Minimizer/MinimizerFactory.h              |  3 +-
 Fit/Minimizer/MinimizerInfo.h                 |  5 +-
 Fit/Minimizer/MinimizerOptions.h              |  2 +-
 Fit/Minimizer/TestMinimizer.h                 |  2 +-
 .../GSLLevenbergMarquardtMinimizer.h          |  2 +-
 Fit/RootAdapter/GSLMultiMinimizer.h           |  2 +-
 Fit/RootAdapter/GeneticMinimizer.h            |  2 +-
 Fit/RootAdapter/MinimizerResultUtils.h        |  3 +-
 Fit/RootAdapter/Minuit2Minimizer.h            |  2 +-
 Fit/RootAdapter/ObjectiveFunctionAdapter.h    |  1 -
 Fit/RootAdapter/RootMinimizerAdapter.h        |  2 +-
 Fit/RootAdapter/SimAnMinimizer.h              |  2 +-
 Fit/TestEngine/MinimizerTestPlan.h            |  3 +-
 Fit/TestEngine/Numeric.h                      |  9 +-
 Fit/TestEngine/ParameterPlan.h                |  3 +-
 Fit/Tools/AttLimits.h                         |  3 +-
 Fit/Tools/Attributes.h                        |  3 +-
 Fit/Tools/MinimizerUtils.h                    | 11 ++-
 Fit/Tools/MultiOption.h                       |  3 +-
 Fit/Tools/OptionContainer.h                   |  3 +-
 Fit/Tools/RealLimits.h                        |  3 +-
 Fit/Tools/StringUtils.h                       | 15 ++--
 Fit/Tools/WallclockTimer.h                    |  3 +-
 .../JobWidgets/ParameterTuningDelegate.h      |  1 +
 auto/Wrap/doxygen_core.i                      | 90 ++++---------------
 auto/Wrap/doxygen_fit.i                       |  8 +-
 auto/Wrap/libBornAgainCore.py                 | 44 ++++++---
 auto/Wrap/libBornAgainCore_wrap.cpp           | 44 ++++++---
 39 files changed, 131 insertions(+), 174 deletions(-)

diff --git a/Core/Parametrization/RealParameter.h b/Core/Parametrization/RealParameter.h
index c433131eb2e..566837cb674 100644
--- a/Core/Parametrization/RealParameter.h
+++ b/Core/Parametrization/RealParameter.h
@@ -19,6 +19,7 @@
 #include "Core/Parametrization/Unit.h"
 #include "Fit/Tools/Attributes.h"
 #include "Fit/Tools/RealLimits.h"
+#include "Wrap/WinDllMacros.h"
 #include <string>
 
 class ParameterPool;
diff --git a/Fit/Kernel/FitOptions.h b/Fit/Kernel/FitOptions.h
index 54eb98d75c0..a33605b1cc7 100644
--- a/Fit/Kernel/FitOptions.h
+++ b/Fit/Kernel/FitOptions.h
@@ -15,11 +15,10 @@
 #ifndef BORNAGAIN_FIT_KERNEL_FITOPTIONS_H
 #define BORNAGAIN_FIT_KERNEL_FITOPTIONS_H
 
-#include "Wrap/WinDllMacros.h"
 
 //! General fitting options.
 
-class BA_CORE_API_ FitOptions
+class FitOptions
 {
 public:
     FitOptions();
diff --git a/Fit/Kernel/IFunctionAdapter.h b/Fit/Kernel/IFunctionAdapter.h
index 79c16362bc3..a87b126739e 100644
--- a/Fit/Kernel/IFunctionAdapter.h
+++ b/Fit/Kernel/IFunctionAdapter.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_FIT_KERNEL_IFUNCTIONADAPTER_H
 #define BORNAGAIN_FIT_KERNEL_IFUNCTIONADAPTER_H
 
-#include "Wrap/WinDllMacros.h"
 
 namespace Fit
 {
@@ -23,7 +22,7 @@ namespace Fit
 //! Base class for objective function adapters, which converts user functions
 //! to minimize into the function which minimization machinery expects.
 
-class BA_CORE_API_ IFunctionAdapter
+class IFunctionAdapter
 {
 public:
     IFunctionAdapter();
diff --git a/Fit/Kernel/Kernel.h b/Fit/Kernel/Kernel.h
index 6fd6eaaa551..2b34245c253 100644
--- a/Fit/Kernel/Kernel.h
+++ b/Fit/Kernel/Kernel.h
@@ -19,7 +19,6 @@
 #include "Fit/Kernel/MinimizerResult.h"
 #include "Fit/Kernel/Parameters.h"
 #include "Fit/Tools/WallclockTimer.h"
-#include "Wrap/WinDllMacros.h"
 #include <functional>
 #include <memory>
 #include <vector>
@@ -32,7 +31,7 @@ namespace Fit
 //! A main class to run fitting.
 //! @ingroup fitting
 
-class BA_CORE_API_ Kernel
+class Kernel
 {
 public:
     Kernel();
diff --git a/Fit/Kernel/Minimizer.h b/Fit/Kernel/Minimizer.h
index 352e7616bef..b3cb506df67 100644
--- a/Fit/Kernel/Minimizer.h
+++ b/Fit/Kernel/Minimizer.h
@@ -18,7 +18,6 @@
 #include "Fit/Kernel/KernelTypes.h"
 #include "Fit/Kernel/MinimizerResult.h"
 #include "Fit/Kernel/Parameters.h"
-#include "Wrap/WinDllMacros.h"
 #include <functional>
 #include <memory>
 #include <string>
@@ -35,7 +34,7 @@ class Kernel;
 //! A main class to run fitting.
 //! @ingroup fitting
 
-class BA_CORE_API_ Minimizer
+class Minimizer
 {
 public:
     Minimizer();
diff --git a/Fit/Kernel/MinimizerResult.h b/Fit/Kernel/MinimizerResult.h
index a625d23c47c..089bd4b2ee7 100644
--- a/Fit/Kernel/MinimizerResult.h
+++ b/Fit/Kernel/MinimizerResult.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_KERNEL_MINIMIZERRESULT_H
 
 #include "Fit/Kernel/Parameters.h"
-#include "Wrap/WinDllMacros.h"
 #include <string>
 
 namespace Fit
@@ -24,7 +23,7 @@ namespace Fit
 
 //! Result of minimization round.
 
-class BA_CORE_API_ MinimizerResult
+class MinimizerResult
 {
 public:
     MinimizerResult();
diff --git a/Fit/Kernel/Parameter.h b/Fit/Kernel/Parameter.h
index 04f037b30bf..9e4dac3bf70 100644
--- a/Fit/Kernel/Parameter.h
+++ b/Fit/Kernel/Parameter.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_KERNEL_PARAMETER_H
 
 #include "Fit/Tools/AttLimits.h"
-#include "Wrap/WinDllMacros.h"
 #include <string>
 
 namespace Fit
@@ -25,7 +24,7 @@ namespace Fit
 //! A fittable parameter with value, error, step, and limits.
 //! @ingroup fitting
 
-class BA_CORE_API_ Parameter
+class Parameter
 {
 public:
     Parameter();
diff --git a/Fit/Kernel/Parameters.h b/Fit/Kernel/Parameters.h
index cf31370b7f1..07ee7d017c7 100644
--- a/Fit/Kernel/Parameters.h
+++ b/Fit/Kernel/Parameters.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_KERNEL_PARAMETERS_H
 
 #include "Fit/Kernel/Parameter.h"
-#include "Wrap/WinDllMacros.h"
 #include <vector>
 
 namespace Fit
@@ -25,7 +24,7 @@ namespace Fit
 //! A collection of fit parameters.
 //! @ingroup fitting
 
-class BA_CORE_API_ Parameters
+class Parameters
 {
 public:
     using parameters_t = std::vector<Parameter>;
diff --git a/Fit/Kernel/PyCallback.h b/Fit/Kernel/PyCallback.h
index cd38370a24c..5d505f03105 100644
--- a/Fit/Kernel/PyCallback.h
+++ b/Fit/Kernel/PyCallback.h
@@ -16,13 +16,12 @@
 #define BORNAGAIN_FIT_KERNEL_PYCALLBACK_H
 
 #include "Fit/Kernel/Parameters.h"
-#include "Wrap/WinDllMacros.h"
 #include <vector>
 
 //! Base class to wrap Python callable and pass it to C++. Used in swig interface file,
 //! intended to be overloaded from Python.
 
-class BA_CORE_API_ PyCallback
+class PyCallback
 {
 public:
     enum CallbackType { SCALAR, RESIDUAL };
diff --git a/Fit/Minimizer/IMinimizer.h b/Fit/Minimizer/IMinimizer.h
index 615b6e04a67..1c6ad6ec372 100644
--- a/Fit/Minimizer/IMinimizer.h
+++ b/Fit/Minimizer/IMinimizer.h
@@ -17,7 +17,6 @@
 
 #include "Fit/Kernel/KernelTypes.h"
 #include "Fit/Kernel/MinimizerResult.h"
-#include "Wrap/WinDllMacros.h"
 #include <string>
 
 namespace Fit
@@ -28,7 +27,7 @@ class Parameters;
 //! Pure virtual interface for all kind minimizers.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ IMinimizer
+class IMinimizer
 {
 public:
     IMinimizer();
diff --git a/Fit/Minimizer/MinimizerCatalog.h b/Fit/Minimizer/MinimizerCatalog.h
index 3839a7c70f1..a58c69fbb4b 100644
--- a/Fit/Minimizer/MinimizerCatalog.h
+++ b/Fit/Minimizer/MinimizerCatalog.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_MINIMIZER_MINIMIZERCATALOG_H
 
 #include "Fit/Minimizer/MinimizerInfo.h"
-#include "Wrap/WinDllMacros.h"
 #include <map>
 
 //! Hard-coded information about all minimizers available.
@@ -34,7 +33,7 @@ Genetic        | Default
 Test           | Default
 */
 
-class BA_CORE_API_ MinimizerCatalog
+class MinimizerCatalog
 {
 public:
     MinimizerCatalog();
diff --git a/Fit/Minimizer/MinimizerFactory.h b/Fit/Minimizer/MinimizerFactory.h
index b7e80b7fd98..01c994ded0c 100644
--- a/Fit/Minimizer/MinimizerFactory.h
+++ b/Fit/Minimizer/MinimizerFactory.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_MINIMIZER_MINIMIZERFACTORY_H
 
 #include "Fit/Minimizer/MinimizerCatalog.h"
-#include "Wrap/WinDllMacros.h"
 #include <string>
 
 class IMinimizer;
@@ -24,7 +23,7 @@ class IMinimizer;
 //! Factory to create minimizers.
 //! @ingroup fitting
 
-class BA_CORE_API_ MinimizerFactory
+class MinimizerFactory
 {
 public:
     static IMinimizer* createMinimizer(const std::string& minimizerName,
diff --git a/Fit/Minimizer/MinimizerInfo.h b/Fit/Minimizer/MinimizerInfo.h
index 77cb9687786..b065b888344 100644
--- a/Fit/Minimizer/MinimizerInfo.h
+++ b/Fit/Minimizer/MinimizerInfo.h
@@ -15,14 +15,13 @@
 #ifndef BORNAGAIN_FIT_MINIMIZER_MINIMIZERINFO_H
 #define BORNAGAIN_FIT_MINIMIZER_MINIMIZERINFO_H
 
-#include "Wrap/WinDllMacros.h"
 #include <string>
 #include <vector>
 
 //! A name and a description.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ AlgorithmInfo
+class AlgorithmInfo
 {
 public:
     AlgorithmInfo() = delete;
@@ -42,7 +41,7 @@ private:
 //! Info about a minimizer, including list of defined minimization algorithms.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ MinimizerInfo
+class MinimizerInfo
 {
 public:
     MinimizerInfo() = delete;
diff --git a/Fit/Minimizer/MinimizerOptions.h b/Fit/Minimizer/MinimizerOptions.h
index c1df1b1b4dc..98c3bd951ee 100644
--- a/Fit/Minimizer/MinimizerOptions.h
+++ b/Fit/Minimizer/MinimizerOptions.h
@@ -20,7 +20,7 @@
 //! Collection of internal minimizer settings.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ MinimizerOptions : public OptionContainer
+class MinimizerOptions : public OptionContainer
 {
 public:
     //! Returns string with all options (i.e. "Strategy=1;Tolerance=0.01;")
diff --git a/Fit/Minimizer/TestMinimizer.h b/Fit/Minimizer/TestMinimizer.h
index 46c224dc2a6..9eed755e141 100644
--- a/Fit/Minimizer/TestMinimizer.h
+++ b/Fit/Minimizer/TestMinimizer.h
@@ -19,7 +19,7 @@
 
 //! A trivial minimizer that calls the objective function once. Used to test the whole chain.
 
-class BA_CORE_API_ TestMinimizer : public IMinimizer
+class TestMinimizer : public IMinimizer
 {
 public:
     TestMinimizer();
diff --git a/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h b/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h
index 535a05e569b..4e95c904c0d 100644
--- a/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h
+++ b/Fit/RootAdapter/GSLLevenbergMarquardtMinimizer.h
@@ -30,7 +30,7 @@ class GSLNLSMinimizer;
 //! (http://www.gnu.org/software/gsl/manual/html_node/Nonlinear-Least_002dSquares-Fitting.html).
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ GSLLevenbergMarquardtMinimizer : public RootMinimizerAdapter
+class GSLLevenbergMarquardtMinimizer : public RootMinimizerAdapter
 {
 public:
     GSLLevenbergMarquardtMinimizer();
diff --git a/Fit/RootAdapter/GSLMultiMinimizer.h b/Fit/RootAdapter/GSLMultiMinimizer.h
index a6c25772426..91c89c3cf2e 100644
--- a/Fit/RootAdapter/GSLMultiMinimizer.h
+++ b/Fit/RootAdapter/GSLMultiMinimizer.h
@@ -28,7 +28,7 @@ class GSLMinimizer;
 //! Wrapper for the CERN ROOT facade of the GSL multi minimizer family (gradient descent based).
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ GSLMultiMinimizer : public RootMinimizerAdapter
+class GSLMultiMinimizer : public RootMinimizerAdapter
 {
 public:
     explicit GSLMultiMinimizer(const std::string& algorithmName = "ConjugateFR");
diff --git a/Fit/RootAdapter/GeneticMinimizer.h b/Fit/RootAdapter/GeneticMinimizer.h
index 5e6c47e95f4..9620547135c 100644
--- a/Fit/RootAdapter/GeneticMinimizer.h
+++ b/Fit/RootAdapter/GeneticMinimizer.h
@@ -28,7 +28,7 @@ class GeneticMinimizer;
 //! Wrapper for the CERN ROOT Genetic minimizer.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ GeneticMinimizer : public RootMinimizerAdapter
+class GeneticMinimizer : public RootMinimizerAdapter
 {
 public:
     GeneticMinimizer();
diff --git a/Fit/RootAdapter/MinimizerResultUtils.h b/Fit/RootAdapter/MinimizerResultUtils.h
index 71674a71a1c..49e364006dd 100644
--- a/Fit/RootAdapter/MinimizerResultUtils.h
+++ b/Fit/RootAdapter/MinimizerResultUtils.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_FIT_ROOTADAPTER_MINIMIZERRESULTUTILS_H
 #define BORNAGAIN_FIT_ROOTADAPTER_MINIMIZERRESULTUTILS_H
 
-#include "Wrap/WinDllMacros.h"
 #include <string>
 
 class RootMinimizerAdapter;
@@ -30,7 +29,7 @@ namespace MinimizerResultUtils
 {
 
 //! Reports results of minimization in the form of multi-line string
-BA_CORE_API_ std::string reportToString(const RootMinimizerAdapter& minimizer);
+std::string reportToString(const RootMinimizerAdapter& minimizer);
 
 //! Reports fit parameters settings and final results
 std::string reportParameters(const Fit::Parameters& parameters);
diff --git a/Fit/RootAdapter/Minuit2Minimizer.h b/Fit/RootAdapter/Minuit2Minimizer.h
index 7dcfe4cba80..7d454426de8 100644
--- a/Fit/RootAdapter/Minuit2Minimizer.h
+++ b/Fit/RootAdapter/Minuit2Minimizer.h
@@ -30,7 +30,7 @@ class Minuit2Minimizer;
 //! See Minuit2 user manual https://root.cern.ch/root/htmldoc/guides/minuit2/Minuit2.pdf.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ Minuit2Minimizer : public RootMinimizerAdapter
+class Minuit2Minimizer : public RootMinimizerAdapter
 {
 public:
     Minuit2Minimizer(const std::string& algorithmName = "Migrad");
diff --git a/Fit/RootAdapter/ObjectiveFunctionAdapter.h b/Fit/RootAdapter/ObjectiveFunctionAdapter.h
index 33fe0c1adc0..72362d5cdfc 100644
--- a/Fit/RootAdapter/ObjectiveFunctionAdapter.h
+++ b/Fit/RootAdapter/ObjectiveFunctionAdapter.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_ROOTADAPTER_OBJECTIVEFUNCTIONADAPTER_H
 
 #include "Fit/Kernel/KernelTypes.h"
-#include "Wrap/WinDllMacros.h"
 #include <memory>
 
 class RootScalarFunction;
diff --git a/Fit/RootAdapter/RootMinimizerAdapter.h b/Fit/RootAdapter/RootMinimizerAdapter.h
index 28a38c87ad6..5e22ef0da67 100644
--- a/Fit/RootAdapter/RootMinimizerAdapter.h
+++ b/Fit/RootAdapter/RootMinimizerAdapter.h
@@ -40,7 +40,7 @@ class Minimizer;
 //! Pure virtual interface that adapts the CERN ROOT minimizer to our IMinimizer.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ RootMinimizerAdapter : public IMinimizer
+class RootMinimizerAdapter : public IMinimizer
 {
 public:
     typedef ROOT::Math::Minimizer root_minimizer_t;
diff --git a/Fit/RootAdapter/SimAnMinimizer.h b/Fit/RootAdapter/SimAnMinimizer.h
index ef129a90b78..e929fb20ebb 100644
--- a/Fit/RootAdapter/SimAnMinimizer.h
+++ b/Fit/RootAdapter/SimAnMinimizer.h
@@ -28,7 +28,7 @@ class GSLSimAnMinimizer;
 //! Wrapper for the CERN ROOT facade of the GSL simmulated annealing minimizer.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ SimAnMinimizer : public RootMinimizerAdapter
+class SimAnMinimizer : public RootMinimizerAdapter
 {
 public:
     SimAnMinimizer();
diff --git a/Fit/TestEngine/MinimizerTestPlan.h b/Fit/TestEngine/MinimizerTestPlan.h
index 5c86798b3c3..0269affb52f 100644
--- a/Fit/TestEngine/MinimizerTestPlan.h
+++ b/Fit/TestEngine/MinimizerTestPlan.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_TESTENGINE_MINIMIZERTESTPLAN_H
 
 #include "Fit/TestEngine/ParameterPlan.h"
-#include "Wrap/WinDllMacros.h"
 #include <vector>
 
 namespace Fit
@@ -29,7 +28,7 @@ class Minimizer;
 //! Defines objective function to fit, expected minimum, initial fit parameters and
 //! expected values of fit parameters at minimum.
 
-class BA_CORE_API_ MinimizerTestPlan
+class MinimizerTestPlan
 {
 public:
     MinimizerTestPlan(const std::string& name);
diff --git a/Fit/TestEngine/Numeric.h b/Fit/TestEngine/Numeric.h
index 3189bb45710..2d157ff61e3 100644
--- a/Fit/TestEngine/Numeric.h
+++ b/Fit/TestEngine/Numeric.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_FIT_TESTENGINE_NUMERIC_H
 #define BORNAGAIN_FIT_TESTENGINE_NUMERIC_H
 
-#include "Wrap/WinDllMacros.h"
 #include <limits>
 
 //! Floating-point epsilon, tolerances, almost-equal.
@@ -23,13 +22,13 @@
 namespace Numeric
 {
 
-bool BA_CORE_API_ AreAlmostEqual(double a, double b, double tolerance_factor = 1.0);
+bool AreAlmostEqual(double a, double b, double tolerance_factor = 1.0);
 
-double BA_CORE_API_ GetAbsoluteDifference(double a, double b);
+double GetAbsoluteDifference(double a, double b);
 
-double BA_CORE_API_ GetRelativeDifference(double a, double b);
+double GetRelativeDifference(double a, double b);
 
-double BA_CORE_API_ GetLogDifference(double a, double b);
+double GetLogDifference(double a, double b);
 
 } // namespace Numeric
 
diff --git a/Fit/TestEngine/ParameterPlan.h b/Fit/TestEngine/ParameterPlan.h
index 4716f1fd8d1..b2a1bb0c6b9 100644
--- a/Fit/TestEngine/ParameterPlan.h
+++ b/Fit/TestEngine/ParameterPlan.h
@@ -16,12 +16,11 @@
 #define BORNAGAIN_FIT_TESTENGINE_PARAMETERPLAN_H
 
 #include "Fit/Kernel/Parameter.h"
-#include "Wrap/WinDllMacros.h"
 
 //! Defines initial settings of single fit parameter and the final value which has to be found
 //! in the course of the fit.
 
-class BA_CORE_API_ ParameterPlan
+class ParameterPlan
 {
 public:
     ParameterPlan(const Fit::Parameter& param, double expected_value, double tolerance = 0.01)
diff --git a/Fit/Tools/AttLimits.h b/Fit/Tools/AttLimits.h
index 2772166a02b..7d2eb8880b4 100644
--- a/Fit/Tools/AttLimits.h
+++ b/Fit/Tools/AttLimits.h
@@ -17,13 +17,12 @@
 
 #include "Fit/Tools/Attributes.h"
 #include "Fit/Tools/RealLimits.h"
-#include "Wrap/WinDllMacros.h"
 #include <string>
 
 //! Attributes and limits of a fit parameter, and coupling between these properties.
 //! @ingroup fitting
 
-class BA_CORE_API_ AttLimits
+class AttLimits
 {
 public:
     AttLimits();
diff --git a/Fit/Tools/Attributes.h b/Fit/Tools/Attributes.h
index 90e6f155012..fc4a449e016 100644
--- a/Fit/Tools/Attributes.h
+++ b/Fit/Tools/Attributes.h
@@ -15,13 +15,12 @@
 #ifndef BORNAGAIN_FIT_TOOLS_ATTRIBUTES_H
 #define BORNAGAIN_FIT_TOOLS_ATTRIBUTES_H
 
-#include "Wrap/WinDllMacros.h"
 #include <ostream>
 
 //! Attributes for a fit parameter. Currently, the only attribute is fixed/free.
 //! @ingroup fitting
 
-class BA_CORE_API_ Attributes
+class Attributes
 {
 public:
     Attributes() : m_is_fixed(false) {}
diff --git a/Fit/Tools/MinimizerUtils.h b/Fit/Tools/MinimizerUtils.h
index c27f82b66fd..d40297262a7 100644
--- a/Fit/Tools/MinimizerUtils.h
+++ b/Fit/Tools/MinimizerUtils.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_FIT_TOOLS_MINIMIZERUTILS_H
 #define BORNAGAIN_FIT_TOOLS_MINIMIZERUTILS_H
 
-#include "Wrap/WinDllMacros.h"
 #include <map>
 #include <string>
 #include <vector>
@@ -25,15 +24,15 @@
 namespace MinimizerUtils
 {
 
-BA_CORE_API_ std::string toString(const std::vector<std::string>& v, const std::string& delim = "");
+std::string toString(const std::vector<std::string>& v, const std::string& delim = "");
 
-BA_CORE_API_ std::map<int, std::string> gslErrorDescriptionMap();
+std::map<int, std::string> gslErrorDescriptionMap();
 
-BA_CORE_API_ std::string gslErrorDescription(int errorCode);
+std::string gslErrorDescription(int errorCode);
 
-BA_CORE_API_ bool numbersDiffer(double a, double b, double tol);
+bool numbersDiffer(double a, double b, double tol);
 
-BA_CORE_API_ std::string sectionString(const std::string& sectionName = "",
+std::string sectionString(const std::string& sectionName = "",
                                        size_t report_width = 80);
 
 } // namespace MinimizerUtils
diff --git a/Fit/Tools/MultiOption.h b/Fit/Tools/MultiOption.h
index a62159e6e6b..77030f67c39 100644
--- a/Fit/Tools/MultiOption.h
+++ b/Fit/Tools/MultiOption.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_FIT_TOOLS_MULTIOPTION_H
 #define BORNAGAIN_FIT_TOOLS_MULTIOPTION_H
 
-#include "Wrap/WinDllMacros.h"
 #include <boost/variant.hpp>
 #include <string>
 
@@ -23,7 +22,7 @@
 //! Relies on boost::variant, will be switched to std::variant in C++-17.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ MultiOption
+class MultiOption
 {
 public:
     using variant_t = boost::variant<int, double, std::string>;
diff --git a/Fit/Tools/OptionContainer.h b/Fit/Tools/OptionContainer.h
index 15b6b9ecc58..424ff4fe63d 100644
--- a/Fit/Tools/OptionContainer.h
+++ b/Fit/Tools/OptionContainer.h
@@ -16,7 +16,6 @@
 #define BORNAGAIN_FIT_TOOLS_OPTIONCONTAINER_H
 
 #include "Fit/Tools/MultiOption.h"
-#include "Wrap/WinDllMacros.h"
 #include <map>
 #include <memory>
 #include <stdexcept>
@@ -25,7 +24,7 @@
 //! Stores multi option (int,double,string) in a container.
 //! @ingroup fitting_internal
 
-class BA_CORE_API_ OptionContainer
+class OptionContainer
 {
 public:
     using option_t = std::shared_ptr<MultiOption>;
diff --git a/Fit/Tools/RealLimits.h b/Fit/Tools/RealLimits.h
index c74684eb755..b1b4f41fcd3 100644
--- a/Fit/Tools/RealLimits.h
+++ b/Fit/Tools/RealLimits.h
@@ -15,14 +15,13 @@
 #ifndef BORNAGAIN_FIT_TOOLS_REALLIMITS_H
 #define BORNAGAIN_FIT_TOOLS_REALLIMITS_H
 
-#include "Wrap/WinDllMacros.h"
 #include <ostream>
 #include <string>
 
 //! Limits for a real fit parameter.
 //! @ingroup fitting
 
-class BA_CORE_API_ RealLimits
+class RealLimits
 {
 public:
     RealLimits();
diff --git a/Fit/Tools/StringUtils.h b/Fit/Tools/StringUtils.h
index 703c8c8ab35..b9cf49f6281 100644
--- a/Fit/Tools/StringUtils.h
+++ b/Fit/Tools/StringUtils.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_FIT_TOOLS_STRINGUTILS_H
 #define BORNAGAIN_FIT_TOOLS_STRINGUTILS_H
 
-#include "Wrap/WinDllMacros.h"
 #include <iomanip>
 #include <sstream>
 #include <string>
@@ -27,28 +26,28 @@ namespace StringUtils
 {
 
 //! Returns true if text matches pattern with wildcards '*' and '?'.
-BA_CORE_API_ bool matchesPattern(const std::string& text, const std::string& wildcardPattern);
+bool matchesPattern(const std::string& text, const std::string& wildcardPattern);
 
-BA_CORE_API_ std::string padRight(const std::string& name, size_t length);
+std::string padRight(const std::string& name, size_t length);
 
 //! Split string into vector of string using delimeter.
-BA_CORE_API_ std::vector<std::string> split(const std::string& text, const std::string& delimeter);
+std::vector<std::string> split(const std::string& text, const std::string& delimeter);
 
 //! Replaces all occurences of items from string text with delimiter
-BA_CORE_API_ void replaceItemsFromString(std::string& text, const std::vector<std::string>& items,
+void replaceItemsFromString(std::string& text, const std::vector<std::string>& items,
                                          const std::string& replacement = "");
 
 //! Returns string obtain by joining vector elements
-BA_CORE_API_ std::string join(const std::vector<std::string>& joinable, const std::string& joint);
+std::string join(const std::vector<std::string>& joinable, const std::string& joint);
 
 //! Removes multiple occurences of given substring from a string and returns result.
-BA_CORE_API_ std::string removeSubstring(const std::string& text, const std::string& substr);
+std::string removeSubstring(const std::string& text, const std::string& substr);
 
 //! Returns scientific string representing given value of any numeric type.
 template <typename T> std::string scientific(const T value, int n = 10);
 
 //! Returns new string which is lower case of text.
-BA_CORE_API_ std::string to_lower(std::string text);
+std::string to_lower(std::string text);
 
 } // namespace StringUtils
 
diff --git a/Fit/Tools/WallclockTimer.h b/Fit/Tools/WallclockTimer.h
index c951cf440b7..b0214d88e13 100644
--- a/Fit/Tools/WallclockTimer.h
+++ b/Fit/Tools/WallclockTimer.h
@@ -15,14 +15,13 @@
 #ifndef BORNAGAIN_FIT_TOOLS_WALLCLOCKTIMER_H
 #define BORNAGAIN_FIT_TOOLS_WALLCLOCKTIMER_H
 
-#include "Wrap/WinDllMacros.h"
 #include <memory>
 
 struct WallclockTimerState;
 
 //! A timer for measuring real (wall-clock) time spent between 'start' and 'stop' commands.
 
-class BA_CORE_API_ WallclockTimer
+class WallclockTimer
 {
 public:
     WallclockTimer();
diff --git a/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.h b/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.h
index bf0cd9605d6..98263abf505 100644
--- a/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.h
+++ b/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.h
@@ -16,6 +16,7 @@
 #define BORNAGAIN_GUI_COREGUI_VIEWS_JOBWIDGETS_PARAMETERTUNINGDELEGATE_H
 
 #include "Fit/Tools/RealLimits.h"
+#include "Wrap/WinDllMacros.h"
 #include <QItemDelegate>
 #include <memory>
 
diff --git a/auto/Wrap/doxygen_core.i b/auto/Wrap/doxygen_core.i
index a26c470a434..5afa349f1c3 100644
--- a/auto/Wrap/doxygen_core.i
+++ b/auto/Wrap/doxygen_core.i
@@ -4392,52 +4392,6 @@ Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This m
 ";
 
 
-// File: classFormFactorPolyhedron.xml
-%feature("docstring") FormFactorPolyhedron "
-
-A polyhedron, for form factor computation.
-
-C++ includes: FormFactorPolyhedron.h
-";
-
-%feature("docstring")  FormFactorPolyhedron::FormFactorPolyhedron "FormFactorPolyhedron::FormFactorPolyhedron()
-";
-
-%feature("docstring")  FormFactorPolyhedron::FormFactorPolyhedron "FormFactorPolyhedron::FormFactorPolyhedron(const NodeMeta &meta, const std::vector< double > &PValues)
-";
-
-%feature("docstring")  FormFactorPolyhedron::bottomZ "double FormFactorPolyhedron::bottomZ(const IRotation &rotation) const override final
-
-Returns the z-coordinate of the lowest point in this shape after a given rotation. 
-";
-
-%feature("docstring")  FormFactorPolyhedron::topZ "double FormFactorPolyhedron::topZ(const IRotation &rotation) const override final
-
-Returns the z-coordinate of the lowest point in this shape after a given rotation. 
-";
-
-%feature("docstring")  FormFactorPolyhedron::evaluate_for_q "complex_t FormFactorPolyhedron::evaluate_for_q(cvector_t q) const override final
-
-Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. This method is public only for convenience of plotting form factors in Python. 
-";
-
-%feature("docstring")  FormFactorPolyhedron::evaluate_centered "complex_t FormFactorPolyhedron::evaluate_centered(cvector_t q) const
-";
-
-%feature("docstring")  FormFactorPolyhedron::volume "double FormFactorPolyhedron::volume() const override final
-
-Returns the total volume of the particle of this form factor's shape. 
-";
-
-%feature("docstring")  FormFactorPolyhedron::radialExtension "double FormFactorPolyhedron::radialExtension() const override final
-
-Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations 
-";
-
-%feature("docstring")  FormFactorPolyhedron::assert_platonic "void FormFactorPolyhedron::assert_platonic() const
-";
-
-
 // File: classFormFactorPrism3.xml
 %feature("docstring") FormFactorPrism3 "
 
@@ -5913,7 +5867,7 @@ returns vector of bin errors
 
 %feature("docstring")  Histogram1D::crop "Histogram1D * Histogram1D::crop(double xmin, double xmax)
 
-Create new histogram by applying crop on axis. 
+Creates new histogram by applying crop on axis. 
 ";
 
 
@@ -6063,7 +6017,7 @@ upper edje on x-axis
 
 %feature("docstring")  Histogram2D::crop "Histogram2D * Histogram2D::crop(double xmin, double ymin, double xmax, double ymax)
 
-Create new histogram by applying rectangular clip. 
+Creates new histogram by applying rectangular clip. 
 ";
 
 %feature("docstring")  Histogram2D::setContent "void Histogram2D::setContent(const std::vector< std::vector< double >> &data)
@@ -6660,7 +6614,7 @@ Returns vector of unmasked detector indices.
 
 %feature("docstring")  IDetector2D::createPixel "virtual IPixel* IDetector2D::createPixel(size_t index) const =0
 
-Create an  IPixel for the given  OutputData object and index. 
+Creates an  IPixel for the given  OutputData object and index. 
 ";
 
 %feature("docstring")  IDetector2D::indexOfSpecular "virtual size_t IDetector2D::indexOfSpecular(const Beam &beam) const =0
@@ -7050,9 +7004,6 @@ A prism with a polygonal base, for form factor computation.
 C++ includes: IFormFactorPrism.h
 ";
 
-%feature("docstring")  IFormFactorPrism::IFormFactorPrism "IFormFactorPrism::IFormFactorPrism()=default
-";
-
 %feature("docstring")  IFormFactorPrism::IFormFactorPrism "IFormFactorPrism::IFormFactorPrism(const NodeMeta &meta, const std::vector< double > &PValues)
 ";
 
@@ -9396,12 +9347,12 @@ Returns a clone of this  ISample object.
 
 %feature("docstring")  IParticle::createFormFactor "IFormFactor * IParticle::createFormFactor() const
 
-Create a form factor for this particle. 
+Creates a form factor for this particle. 
 ";
 
 %feature("docstring")  IParticle::createSlicedParticle "SlicedParticle IParticle::createSlicedParticle(ZLimits limits) const
 
-Create a sliced form factor for this particle. 
+Creates a sliced form factor for this particle. 
 ";
 
 %feature("docstring")  IParticle::position "kvector_t IParticle::position() const
@@ -10186,7 +10137,7 @@ Calls the  INodeVisitor's visit method.
 
 %feature("docstring")  Lattice::createTransformedLattice "Lattice Lattice::createTransformedLattice(const Transform3D &transform) const
 
-Create transformed lattice. 
+Creates transformed lattice. 
 ";
 
 %feature("docstring")  Lattice::initialize "void Lattice::initialize() const
@@ -11280,7 +11231,7 @@ Calls the  INodeVisitor's visit method.
 
 %feature("docstring")  MesoCrystal::createSlicedParticle "SlicedParticle MesoCrystal::createSlicedParticle(ZLimits limits) const override final
 
-Create a sliced form factor for this particle. 
+Creates a sliced form factor for this particle. 
 ";
 
 %feature("docstring")  MesoCrystal::getChildren "std::vector< const INode * > MesoCrystal::getChildren() const override final
@@ -12573,7 +12524,7 @@ Calls the  INodeVisitor's visit method.
 
 %feature("docstring")  Particle::createSlicedParticle "SlicedParticle Particle::createSlicedParticle(ZLimits limits) const override final
 
-Create a sliced form factor for this particle. 
+Creates a sliced form factor for this particle. 
 ";
 
 %feature("docstring")  Particle::setMaterial "void Particle::setMaterial(Material material)
@@ -12622,7 +12573,7 @@ Calls the  INodeVisitor's visit method.
 
 %feature("docstring")  ParticleComposition::createFormFactor "IFormFactor * ParticleComposition::createFormFactor() const override final
 
-Create a form factor for this particle. 
+Creates a form factor for this particle. 
 ";
 
 %feature("docstring")  ParticleComposition::addParticle "void ParticleComposition::addParticle(const IParticle &particle)
@@ -12696,7 +12647,7 @@ Calls the  INodeVisitor's visit method.
 
 %feature("docstring")  ParticleCoreShell::createSlicedParticle "SlicedParticle ParticleCoreShell::createSlicedParticle(ZLimits limits) const override final
 
-Create a sliced form factor for this particle. 
+Creates a sliced form factor for this particle. 
 ";
 
 %feature("docstring")  ParticleCoreShell::coreParticle "const Particle * ParticleCoreShell::coreParticle() const
@@ -17235,10 +17186,10 @@ C++ includes: WavevectorInfo.h
 ";
 
 
-// File: classConvolve_1_1Workspace.xml
+// File: classFourierTransform_1_1Workspace.xml
 
 
-// File: classFourierTransform_1_1Workspace.xml
+// File: classConvolve_1_1Workspace.xml
 
 
 // File: classZLimits.xml
@@ -17625,13 +17576,13 @@ Creates Fourier Transform ( OutputData format) of intensity map ( OutputData for
 
 
 // File: namespaceLatticeUtils.xml
-%feature("docstring")  LatticeUtils::CreateFCCLattice "Lattice LatticeUtils::CreateFCCLattice(double lattice_constant, const ILatticeOrientation &orientation)
+%feature("docstring")  LatticeUtils::createFCCLattice "Lattice LatticeUtils::createFCCLattice(double lattice_constant, const ILatticeOrientation &orientation)
 ";
 
-%feature("docstring")  LatticeUtils::CreateHCPLattice "Lattice LatticeUtils::CreateHCPLattice(double a, double c, const ILatticeOrientation &orientation)
+%feature("docstring")  LatticeUtils::createHCPLattice "Lattice LatticeUtils::createHCPLattice(double a, double c, const ILatticeOrientation &orientation)
 ";
 
-%feature("docstring")  LatticeUtils::CreateBCTLattice "Lattice LatticeUtils::CreateBCTLattice(double a, double c, const ILatticeOrientation &orientation)
+%feature("docstring")  LatticeUtils::createBCTLattice "Lattice LatticeUtils::createBCTLattice(double a, double c, const ILatticeOrientation &orientation)
 ";
 
 
@@ -19079,9 +19030,6 @@ Generate z values (equidistant) for use in MaterialProfile.
 // File: FormFactorLongBoxLorentz_8h.xml
 
 
-// File: FormFactorPolyhedron_8h.xml
-
-
 // File: FormFactorPrism3_8cpp.xml
 
 
@@ -19915,14 +19863,14 @@ magnetization (in A/m)
 
 
 // File: HomogeneousRegion_8cpp.xml
-%feature("docstring")  CreateAveragedMaterial "Material CreateAveragedMaterial(const Material &layer_mat, const std::vector< HomogeneousRegion > &regions)
+%feature("docstring")  createAveragedMaterial "Material createAveragedMaterial(const Material &layer_mat, const std::vector< HomogeneousRegion > &regions)
 
 Creates averaged material. Square refractive index of returned material is arithmetic mean over  regions and  layer_mat. Magnetization (if present) is averaged linearly. 
 ";
 
 
 // File: HomogeneousRegion_8h.xml
-%feature("docstring")  CreateAveragedMaterial "BA_CORE_API_ Material CreateAveragedMaterial(const Material &layer_mat, const std::vector< HomogeneousRegion > &regions)
+%feature("docstring")  createAveragedMaterial "BA_CORE_API_ Material createAveragedMaterial(const Material &layer_mat, const std::vector< HomogeneousRegion > &regions)
 
 Creates averaged material. Square refractive index of returned material is arithmetic mean over  regions and  layer_mat. Magnetization (if present) is averaged linearly. 
 ";
@@ -20040,12 +19988,12 @@ Creates averaged material. Square refractive index of returned material is arith
 
 
 // File: IFormFactor_8cpp.xml
-%feature("docstring")  CreateTransformedFormFactor "IFormFactor* CreateTransformedFormFactor(const IFormFactor &formfactor, const IRotation &rot, kvector_t translation)
+%feature("docstring")  createTransformedFormFactor "IFormFactor* createTransformedFormFactor(const IFormFactor &formfactor, const IRotation &rot, kvector_t translation)
 ";
 
 
 // File: IFormFactor_8h.xml
-%feature("docstring")  CreateTransformedFormFactor "IFormFactor* CreateTransformedFormFactor(const IFormFactor &formfactor, const IRotation &rot, kvector_t translation)
+%feature("docstring")  createTransformedFormFactor "IFormFactor* createTransformedFormFactor(const IFormFactor &formfactor, const IRotation &rot, kvector_t translation)
 ";
 
 
diff --git a/auto/Wrap/doxygen_fit.i b/auto/Wrap/doxygen_fit.i
index 3c1ed362836..9cb3be9dfac 100644
--- a/auto/Wrap/doxygen_fit.i
+++ b/auto/Wrap/doxygen_fit.i
@@ -1415,22 +1415,22 @@ Returns horizontal line of 80 characters length with section name in it.
 
 
 // File: namespaceNumeric.xml
-%feature("docstring")  Numeric::AreAlmostEqual "bool BA_CORE_API_ Numeric::AreAlmostEqual(double a, double b, double tolerance)
+%feature("docstring")  Numeric::AreAlmostEqual "bool Numeric::AreAlmostEqual(double a, double b, double tolerance)
 
 Returns true if two doubles agree within epsilon*tolerance. 
 ";
 
-%feature("docstring")  Numeric::GetAbsoluteDifference "double BA_CORE_API_ Numeric::GetAbsoluteDifference(double a, double b)
+%feature("docstring")  Numeric::GetAbsoluteDifference "double Numeric::GetAbsoluteDifference(double a, double b)
 
 Returns the absolute value of the difference between a and b. 
 ";
 
-%feature("docstring")  Numeric::GetRelativeDifference "double BA_CORE_API_ Numeric::GetRelativeDifference(double a, double b)
+%feature("docstring")  Numeric::GetRelativeDifference "double Numeric::GetRelativeDifference(double a, double b)
 
 Returns the safe relative difference, which is 2(|a-b|)/(|a|+|b|) except in special cases. 
 ";
 
-%feature("docstring")  Numeric::GetLogDifference "double BA_CORE_API_ Numeric::GetLogDifference(double a, double b)
+%feature("docstring")  Numeric::GetLogDifference "double Numeric::GetLogDifference(double a, double b)
 
 Returns the difference of the logarithm; input values are truncated at the minimum positive value 
 ";
diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py
index 537cbe73e2e..218a0c3c28f 100644
--- a/auto/Wrap/libBornAgainCore.py
+++ b/auto/Wrap/libBornAgainCore.py
@@ -8167,7 +8167,11 @@ _libBornAgainCore.IFormFactor_swigregister(IFormFactor)
 
 
 def createTransformedFormFactor(formfactor, rot, translation):
-    r"""createTransformedFormFactor(IFormFactor formfactor, IRotation rot, kvector_t translation) -> IFormFactor"""
+    r"""
+    createTransformedFormFactor(IFormFactor formfactor, IRotation rot, kvector_t translation) -> IFormFactor
+    IFormFactor* createTransformedFormFactor(const IFormFactor &formfactor, const IRotation &rot, kvector_t translation)
+
+    """
     return _libBornAgainCore.createTransformedFormFactor(formfactor, rot, translation)
 class IFormFactorBorn(IFormFactor):
     r"""
@@ -9603,7 +9607,7 @@ class IParticle(IAbstractParticle):
         createFormFactor(IParticle self) -> IFormFactor
         IFormFactor * IParticle::createFormFactor() const
 
-        Create a form factor for this particle. 
+        Creates a form factor for this particle. 
 
         """
         return _libBornAgainCore.IParticle_createFormFactor(self)
@@ -9613,7 +9617,7 @@ class IParticle(IAbstractParticle):
         createSlicedParticle(IParticle self, ZLimits limits) -> SlicedParticle
         SlicedParticle IParticle::createSlicedParticle(ZLimits limits) const
 
-        Create a sliced form factor for this particle. 
+        Creates a sliced form factor for this particle. 
 
         """
         return _libBornAgainCore.IParticle_createSlicedParticle(self, limits)
@@ -9789,7 +9793,7 @@ class MesoCrystal(IParticle):
         createSlicedParticle(MesoCrystal self, ZLimits limits) -> SlicedParticle
         SlicedParticle MesoCrystal::createSlicedParticle(ZLimits limits) const override final
 
-        Create a sliced form factor for this particle. 
+        Creates a sliced form factor for this particle. 
 
         """
         return _libBornAgainCore.MesoCrystal_createSlicedParticle(self, limits)
@@ -9856,7 +9860,7 @@ class Particle(IParticle):
         createSlicedParticle(Particle self, ZLimits limits) -> SlicedParticle
         SlicedParticle Particle::createSlicedParticle(ZLimits limits) const override final
 
-        Create a sliced form factor for this particle. 
+        Creates a sliced form factor for this particle. 
 
         """
         return _libBornAgainCore.Particle_createSlicedParticle(self, limits)
@@ -9949,7 +9953,7 @@ class ParticleComposition(IParticle):
         createFormFactor(ParticleComposition self) -> IFormFactor
         IFormFactor * ParticleComposition::createFormFactor() const override final
 
-        Create a form factor for this particle. 
+        Creates a form factor for this particle. 
 
         """
         return _libBornAgainCore.ParticleComposition_createFormFactor(self)
@@ -10061,7 +10065,7 @@ class ParticleCoreShell(IParticle):
         createSlicedParticle(ParticleCoreShell self, ZLimits limits) -> SlicedParticle
         SlicedParticle ParticleCoreShell::createSlicedParticle(ZLimits limits) const override final
 
-        Create a sliced form factor for this particle. 
+        Creates a sliced form factor for this particle. 
 
         """
         return _libBornAgainCore.ParticleCoreShell_createSlicedParticle(self, limits)
@@ -18618,7 +18622,7 @@ class IDetector2D(IDetector):
         createPixel(IDetector2D self, size_t index) -> IPixel
         virtual IPixel* IDetector2D::createPixel(size_t index) const =0
 
-        Create an  IPixel for the given  OutputData object and index. 
+        Creates an  IPixel for the given  OutputData object and index. 
 
         """
         return _libBornAgainCore.IDetector2D_createPixel(self, index)
@@ -20140,7 +20144,7 @@ class Histogram1D(IHistogram):
         crop(Histogram1D self, double xmin, double xmax) -> Histogram1D
         Histogram1D * Histogram1D::crop(double xmin, double xmax)
 
-        Create new histogram by applying crop on axis. 
+        Creates new histogram by applying crop on axis. 
 
         """
         return _libBornAgainCore.Histogram1D_crop(self, xmin, xmax)
@@ -20253,7 +20257,7 @@ class Histogram2D(IHistogram):
         crop(Histogram2D self, double xmin, double ymin, double xmax, double ymax) -> Histogram2D
         Histogram2D * Histogram2D::crop(double xmin, double ymin, double xmax, double ymax)
 
-        Create new histogram by applying rectangular clip. 
+        Creates new histogram by applying rectangular clip. 
 
         """
         return _libBornAgainCore.Histogram2D_crop(self, xmin, ymin, xmax, ymax)
@@ -21380,7 +21384,7 @@ class Lattice(INode):
         createTransformedLattice(Lattice self, Transform3D const & transform) -> Lattice
         Lattice Lattice::createTransformedLattice(const Transform3D &transform) const
 
-        Create transformed lattice. 
+        Creates transformed lattice. 
 
         """
         return _libBornAgainCore.Lattice_createTransformedLattice(self, transform)
@@ -21855,15 +21859,27 @@ _libBornAgainCore.HexagonalLattice_swigregister(HexagonalLattice)
 
 
 def createFCCLattice(lattice_constant, orientation):
-    r"""createFCCLattice(double lattice_constant, ILatticeOrientation orientation) -> Lattice"""
+    r"""
+    createFCCLattice(double lattice_constant, ILatticeOrientation orientation) -> Lattice
+    Lattice LatticeUtils::createFCCLattice(double lattice_constant, const ILatticeOrientation &orientation)
+
+    """
     return _libBornAgainCore.createFCCLattice(lattice_constant, orientation)
 
 def createHCPLattice(a, c, orientation):
-    r"""createHCPLattice(double a, double c, ILatticeOrientation orientation) -> Lattice"""
+    r"""
+    createHCPLattice(double a, double c, ILatticeOrientation orientation) -> Lattice
+    Lattice LatticeUtils::createHCPLattice(double a, double c, const ILatticeOrientation &orientation)
+
+    """
     return _libBornAgainCore.createHCPLattice(a, c, orientation)
 
 def createBCTLattice(a, c, orientation):
-    r"""createBCTLattice(double a, double c, ILatticeOrientation orientation) -> Lattice"""
+    r"""
+    createBCTLattice(double a, double c, ILatticeOrientation orientation) -> Lattice
+    Lattice LatticeUtils::createBCTLattice(double a, double c, const ILatticeOrientation &orientation)
+
+    """
     return _libBornAgainCore.createBCTLattice(a, c, orientation)
 class Material(object):
     r"""
diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp
index 3c24727a700..a05b903e10b 100644
--- a/auto/Wrap/libBornAgainCore_wrap.cpp
+++ b/auto/Wrap/libBornAgainCore_wrap.cpp
@@ -125127,7 +125127,11 @@ static PyMethodDef SwigMethods[] = {
 	 { "disown_IFormFactor", _wrap_disown_IFormFactor, METH_O, NULL},
 	 { "IFormFactor_swigregister", IFormFactor_swigregister, METH_O, NULL},
 	 { "IFormFactor_swiginit", IFormFactor_swiginit, METH_VARARGS, NULL},
-	 { "createTransformedFormFactor", _wrap_createTransformedFormFactor, METH_VARARGS, "createTransformedFormFactor(IFormFactor formfactor, IRotation rot, kvector_t translation) -> IFormFactor"},
+	 { "createTransformedFormFactor", _wrap_createTransformedFormFactor, METH_VARARGS, "\n"
+		"createTransformedFormFactor(IFormFactor formfactor, IRotation rot, kvector_t translation) -> IFormFactor\n"
+		"IFormFactor* createTransformedFormFactor(const IFormFactor &formfactor, const IRotation &rot, kvector_t translation)\n"
+		"\n"
+		""},
 	 { "new_IFormFactorBorn", _wrap_new_IFormFactorBorn, METH_VARARGS, "\n"
 		"IFormFactorBorn()\n"
 		"new_IFormFactorBorn(PyObject * _self, NodeMeta meta, vdouble1d_t PValues) -> IFormFactorBorn\n"
@@ -125917,14 +125921,14 @@ static PyMethodDef SwigMethods[] = {
 		"IParticle_createFormFactor(IParticle self) -> IFormFactor\n"
 		"IFormFactor * IParticle::createFormFactor() const\n"
 		"\n"
-		"Create a form factor for this particle. \n"
+		"Creates a form factor for this particle. \n"
 		"\n"
 		""},
 	 { "IParticle_createSlicedParticle", _wrap_IParticle_createSlicedParticle, METH_VARARGS, "\n"
 		"IParticle_createSlicedParticle(IParticle self, ZLimits limits) -> SlicedParticle\n"
 		"SlicedParticle IParticle::createSlicedParticle(ZLimits limits) const\n"
 		"\n"
-		"Create a sliced form factor for this particle. \n"
+		"Creates a sliced form factor for this particle. \n"
 		"\n"
 		""},
 	 { "IParticle_position", _wrap_IParticle_position, METH_O, "\n"
@@ -126044,7 +126048,7 @@ static PyMethodDef SwigMethods[] = {
 		"MesoCrystal_createSlicedParticle(MesoCrystal self, ZLimits limits) -> SlicedParticle\n"
 		"SlicedParticle MesoCrystal::createSlicedParticle(ZLimits limits) const override final\n"
 		"\n"
-		"Create a sliced form factor for this particle. \n"
+		"Creates a sliced form factor for this particle. \n"
 		"\n"
 		""},
 	 { "MesoCrystal_getChildren", _wrap_MesoCrystal_getChildren, METH_O, "\n"
@@ -126082,7 +126086,7 @@ static PyMethodDef SwigMethods[] = {
 		"Particle_createSlicedParticle(Particle self, ZLimits limits) -> SlicedParticle\n"
 		"SlicedParticle Particle::createSlicedParticle(ZLimits limits) const override final\n"
 		"\n"
-		"Create a sliced form factor for this particle. \n"
+		"Creates a sliced form factor for this particle. \n"
 		"\n"
 		""},
 	 { "Particle_setMaterial", _wrap_Particle_setMaterial, METH_VARARGS, "\n"
@@ -126141,7 +126145,7 @@ static PyMethodDef SwigMethods[] = {
 		"ParticleComposition_createFormFactor(ParticleComposition self) -> IFormFactor\n"
 		"IFormFactor * ParticleComposition::createFormFactor() const override final\n"
 		"\n"
-		"Create a form factor for this particle. \n"
+		"Creates a form factor for this particle. \n"
 		"\n"
 		""},
 	 { "ParticleComposition_addParticle", _wrap_ParticleComposition_addParticle, METH_VARARGS, "\n"
@@ -126213,7 +126217,7 @@ static PyMethodDef SwigMethods[] = {
 		"ParticleCoreShell_createSlicedParticle(ParticleCoreShell self, ZLimits limits) -> SlicedParticle\n"
 		"SlicedParticle ParticleCoreShell::createSlicedParticle(ZLimits limits) const override final\n"
 		"\n"
-		"Create a sliced form factor for this particle. \n"
+		"Creates a sliced form factor for this particle. \n"
 		"\n"
 		""},
 	 { "ParticleCoreShell_coreParticle", _wrap_ParticleCoreShell_coreParticle, METH_O, "\n"
@@ -131185,7 +131189,7 @@ static PyMethodDef SwigMethods[] = {
 		"IDetector2D_createPixel(IDetector2D self, size_t index) -> IPixel\n"
 		"virtual IPixel* IDetector2D::createPixel(size_t index) const =0\n"
 		"\n"
-		"Create an  IPixel for the given  OutputData object and index. \n"
+		"Creates an  IPixel for the given  OutputData object and index. \n"
 		"\n"
 		""},
 	 { "IDetector2D_indexOfSpecular", _wrap_IDetector2D_indexOfSpecular, METH_VARARGS, "\n"
@@ -132060,7 +132064,7 @@ static PyMethodDef SwigMethods[] = {
 		"Histogram1D_crop(Histogram1D self, double xmin, double xmax) -> Histogram1D\n"
 		"Histogram1D * Histogram1D::crop(double xmin, double xmax)\n"
 		"\n"
-		"Create new histogram by applying crop on axis. \n"
+		"Creates new histogram by applying crop on axis. \n"
 		"\n"
 		""},
 	 { "delete_Histogram1D", _wrap_delete_Histogram1D, METH_O, "delete_Histogram1D(Histogram1D self)"},
@@ -132138,7 +132142,7 @@ static PyMethodDef SwigMethods[] = {
 		"Histogram2D_crop(Histogram2D self, double xmin, double ymin, double xmax, double ymax) -> Histogram2D\n"
 		"Histogram2D * Histogram2D::crop(double xmin, double ymin, double xmax, double ymax)\n"
 		"\n"
-		"Create new histogram by applying rectangular clip. \n"
+		"Creates new histogram by applying rectangular clip. \n"
 		"\n"
 		""},
 	 { "Histogram2D_setContent", _wrap_Histogram2D_setContent, METH_VARARGS, "\n"
@@ -132806,7 +132810,7 @@ static PyMethodDef SwigMethods[] = {
 		"Lattice_createTransformedLattice(Lattice self, Transform3D const & transform) -> Lattice\n"
 		"Lattice Lattice::createTransformedLattice(const Transform3D &transform) const\n"
 		"\n"
-		"Create transformed lattice. \n"
+		"Creates transformed lattice. \n"
 		"\n"
 		""},
 	 { "Lattice_initialize", _wrap_Lattice_initialize, METH_O, "\n"
@@ -133070,9 +133074,21 @@ static PyMethodDef SwigMethods[] = {
 	 { "delete_HexagonalLattice", _wrap_delete_HexagonalLattice, METH_O, "delete_HexagonalLattice(HexagonalLattice self)"},
 	 { "HexagonalLattice_swigregister", HexagonalLattice_swigregister, METH_O, NULL},
 	 { "HexagonalLattice_swiginit", HexagonalLattice_swiginit, METH_VARARGS, NULL},
-	 { "createFCCLattice", _wrap_createFCCLattice, METH_VARARGS, "createFCCLattice(double lattice_constant, ILatticeOrientation orientation) -> Lattice"},
-	 { "createHCPLattice", _wrap_createHCPLattice, METH_VARARGS, "createHCPLattice(double a, double c, ILatticeOrientation orientation) -> Lattice"},
-	 { "createBCTLattice", _wrap_createBCTLattice, METH_VARARGS, "createBCTLattice(double a, double c, ILatticeOrientation orientation) -> Lattice"},
+	 { "createFCCLattice", _wrap_createFCCLattice, METH_VARARGS, "\n"
+		"createFCCLattice(double lattice_constant, ILatticeOrientation orientation) -> Lattice\n"
+		"Lattice LatticeUtils::createFCCLattice(double lattice_constant, const ILatticeOrientation &orientation)\n"
+		"\n"
+		""},
+	 { "createHCPLattice", _wrap_createHCPLattice, METH_VARARGS, "\n"
+		"createHCPLattice(double a, double c, ILatticeOrientation orientation) -> Lattice\n"
+		"Lattice LatticeUtils::createHCPLattice(double a, double c, const ILatticeOrientation &orientation)\n"
+		"\n"
+		""},
+	 { "createBCTLattice", _wrap_createBCTLattice, METH_VARARGS, "\n"
+		"createBCTLattice(double a, double c, ILatticeOrientation orientation) -> Lattice\n"
+		"Lattice LatticeUtils::createBCTLattice(double a, double c, const ILatticeOrientation &orientation)\n"
+		"\n"
+		""},
 	 { "new_Material", _wrap_new_Material, METH_VARARGS, "\n"
 		"Material(Material material)\n"
 		"new_Material(Material material) -> Material\n"
-- 
GitLab