From 8d021495b56774510e96b891106c3a5ce0348a29 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Fri, 11 Dec 2020 16:23:44 +0100
Subject: [PATCH] exclude last interface classes from Python reference

---
 Device/Unit/IUnitConverter.h            | 8 ++++++--
 Param/Distrib/Distributions.h           | 4 ++++
 Param/Distrib/RangedDistributions.h     | 4 ++++
 Sample/Correlations/FTDecay1D.h         | 4 ++++
 Sample/Correlations/FTDecay2D.h         | 4 ++++
 Sample/Correlations/FTDistributions1D.h | 4 ++++
 Sample/Correlations/FTDistributions2D.h | 4 ++++
 Sample/Scattering/Rotations.h           | 4 ++++
 8 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/Device/Unit/IUnitConverter.h b/Device/Unit/IUnitConverter.h
index 00463e64843..62d68c6a2db 100644
--- a/Device/Unit/IUnitConverter.h
+++ b/Device/Unit/IUnitConverter.h
@@ -38,6 +38,8 @@ const std::map<Axes::Units, const char*> axisUnitLabel = {
     {Axes::Units::DEGREES, "deg"},       {Axes::Units::MM, "mm"},     {Axes::Units::QSPACE, "1/nm"},
     {Axes::Units::QXQY, "1/nm"},         {Axes::Units::RQ4, "nm^-4?"}};
 
+#ifndef USER_API
+
 //! Interface to provide axis translations to different units for simulation output
 //! @ingroup simulation_internal
 
@@ -65,16 +67,18 @@ public:
     //! Creates OutputData array in converter units.
     virtual std::unique_ptr<OutputData<double>> createConvertedData(const OutputData<double>& data,
                                                                     Axes::Units units) const;
-#endif // USER_API
+#endif // SWIG
 
 protected:
     void checkIndex(size_t i_axis) const;
 #ifndef SWIG
     [[noreturn]] void throwUnitsError(std::string method, std::vector<Axes::Units> available) const;
-#endif // USER_API
+#endif // SWIG
 
 private:
     virtual std::vector<std::map<Axes::Units, std::string>> createNameMaps() const = 0;
 };
 
+#endif // USER_API
+
 #endif // BORNAGAIN_DEVICE_UNIT_IUNITCONVERTER_H
diff --git a/Param/Distrib/Distributions.h b/Param/Distrib/Distributions.h
index b6399d2fe65..8da4263d7f5 100644
--- a/Param/Distrib/Distributions.h
+++ b/Param/Distrib/Distributions.h
@@ -26,6 +26,8 @@ class ParameterSample;
 //  interface IDistribution1D
 //  ************************************************************************************************
 
+#ifndef USER_API
+
 //! Interface for one-dimensional distributions.
 //! @ingroup distribution_internal
 
@@ -74,6 +76,8 @@ protected:
     generateSamplesFromValues(const std::vector<double>& sample_values) const;
 };
 
+#endif // USER_API
+
 //  ************************************************************************************************
 //  class DistributionGate
 //  ************************************************************************************************
diff --git a/Param/Distrib/RangedDistributions.h b/Param/Distrib/RangedDistributions.h
index 1224d9fc9c7..197d4ce19f4 100644
--- a/Param/Distrib/RangedDistributions.h
+++ b/Param/Distrib/RangedDistributions.h
@@ -27,6 +27,8 @@ class ParameterSample;
 //  interface class IDistribution1D
 //  ************************************************************************************************
 
+#ifndef USER_API
+
 //! Interface for one-dimensional ranged distributions.
 //! All derived distributions
 //! allow for generating samples in-place for known mean and standard deviation
@@ -85,6 +87,8 @@ private:
     RealLimits m_limits;
 };
 
+#endif // USER_API
+
 //  ************************************************************************************************
 //  specific distribution classes
 //  ************************************************************************************************
diff --git a/Sample/Correlations/FTDecay1D.h b/Sample/Correlations/FTDecay1D.h
index 4b0ba58d857..6157b922575 100644
--- a/Sample/Correlations/FTDecay1D.h
+++ b/Sample/Correlations/FTDecay1D.h
@@ -20,6 +20,8 @@
 #include "Param/Node/INode.h"
 #include <utility>
 
+#ifndef USER_API
+
 //! Interface for a one-dimensional decay function,
 //!   with evaluate(q) returning the Fourier transform,
 //!   normalized to \f$\int dq\; {\rm evaluate}(q) = 1\f$.
@@ -36,6 +38,8 @@ protected:
     const double& m_decay_length;
 };
 
+#endif // USER_API
+
 //! One-dimensional Cauchy decay function in reciprocal space;
 //! corresponds to exp(-|x|/decay_length) in real space.
 //! @ingroup decayFT
diff --git a/Sample/Correlations/FTDecay2D.h b/Sample/Correlations/FTDecay2D.h
index ef5a266cd33..a7cf7e59fab 100644
--- a/Sample/Correlations/FTDecay2D.h
+++ b/Sample/Correlations/FTDecay2D.h
@@ -20,6 +20,8 @@
 #include "Param/Node/INode.h"
 #include <utility>
 
+#ifndef USER_API
+
 //! Interface for two-dimensional decay function in reciprocal space.
 //! @ingroup decayFT_internal
 class IFTDecayFunction2D : public ICloneable, public INode {
@@ -54,6 +56,8 @@ private:
                                                                double b, double alpha) const;
 };
 
+#endif // USER_API
+
 //! Two-dimensional Cauchy decay function in reciprocal space;
 //! corresponds to exp(-r) in real space,
 //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$.
diff --git a/Sample/Correlations/FTDistributions1D.h b/Sample/Correlations/FTDistributions1D.h
index f69dd293fac..70751259002 100644
--- a/Sample/Correlations/FTDistributions1D.h
+++ b/Sample/Correlations/FTDistributions1D.h
@@ -19,6 +19,8 @@
 #include "Param/Node/INode.h"
 #include "Sample/Correlations/IDistribution1DSampler.h"
 
+#ifndef USER_API
+
 //! Interface for a one-dimensional distribution, with normalization adjusted so that
 //! the Fourier transform evaluate(q) is a decay function that starts at evaluate(0)=1.
 //! @ingroup distribution_internal
@@ -46,6 +48,8 @@ protected:
     const double& m_omega;
 };
 
+#endif // USER_API
+
 //! Exponential IFTDistribution1D exp(-|omega*x|);
 //! its Fourier transform evaluate(q) is a Cauchy-Lorentzian starting at evaluate(0)=1.
 //! @ingroup distributionFT
diff --git a/Sample/Correlations/FTDistributions2D.h b/Sample/Correlations/FTDistributions2D.h
index 4e6f1405c37..695ae5b66ba 100644
--- a/Sample/Correlations/FTDistributions2D.h
+++ b/Sample/Correlations/FTDistributions2D.h
@@ -20,6 +20,8 @@
 #include "Param/Node/INode.h"
 #include "Sample/Correlations/IDistribution2DSampler.h"
 
+#ifndef USER_API
+
 //! Interface for two-dimensional distributions in Fourier space.
 //! @ingroup distribution_internal
 
@@ -53,6 +55,8 @@ protected:
     const double& m_gamma;
 };
 
+#endif // USER_API
+
 //! Two-dimensional Cauchy distribution in Fourier space;
 //! corresponds to a normalized exp(-r) in real space,
 //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$.
diff --git a/Sample/Scattering/Rotations.h b/Sample/Scattering/Rotations.h
index 52f309e0919..a85525f5160 100644
--- a/Sample/Scattering/Rotations.h
+++ b/Sample/Scattering/Rotations.h
@@ -20,6 +20,8 @@
 
 class Transform3D;
 
+#ifndef USER_API
+
 //! Abstract base class for rotations.
 //! @ingroup samples
 
@@ -47,6 +49,8 @@ public:
 
 IRotation* createProduct(const IRotation& left, const IRotation& right);
 
+#endif // USER_API
+
 //! The identity rotation, which leaves everything in place.
 
 class IdentityRotation : public IRotation // TODO RECONSIDER: merge with class IRotation
-- 
GitLab