From d65bd0da03e19fb159c6a03cfbc834fa73a220e5 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Wed, 23 Sep 2020 19:21:30 +0200 Subject: [PATCH] ditto for Core --- Core/Aggregate/IInterferenceFunction.h | 2 +- .../Aggregate/InterferenceFunction1DLattice.h | 2 +- .../Aggregate/InterferenceFunction2DLattice.h | 2 +- .../InterferenceFunction2DParaCrystal.h | 2 +- .../InterferenceFunction2DSuperLattice.h | 2 +- .../Aggregate/InterferenceFunction3DLattice.h | 2 +- .../InterferenceFunctionFinite2DLattice.h | 2 +- .../InterferenceFunctionFinite3DLattice.h | 2 +- Core/Aggregate/InterferenceFunctionHardDisk.h | 2 +- Core/Aggregate/InterferenceFunctionNone.h | 2 +- .../InterferenceFunctionRadialParaCrystal.h | 2 +- Core/Aggregate/InterferenceFunctionTwin.h | 2 +- Core/Aggregate/ParticleLayout.h | 2 +- Core/Basics/Exceptions.h | 27 +++-- Core/Basics/ICloneable.h | 3 +- Core/Beam/Beam.h | 2 +- Core/Beam/FootprintGauss.h | 2 +- Core/Beam/FootprintSquare.h | 2 +- Core/Beam/IFootprintFactor.h | 2 +- Core/Binning/Bin.h | 6 +- Core/Binning/ConstKBinAxis.h | 2 +- Core/Binning/CustomBinAxis.h | 2 +- Core/Binning/FixedBinAxis.h | 2 +- Core/Binning/IAxis.h | 2 +- Core/Binning/IPixel.h | 3 +- Core/Binning/PointwiseAxis.h | 2 +- Core/Binning/VariableBinAxis.h | 2 +- Core/Computation/ConstantBackground.h | 2 +- Core/Computation/IBackground.h | 2 +- Core/Computation/LayoutStrategyBuilder.h | 2 +- Core/Computation/MultiLayerFuncs.h | 7 +- Core/Computation/PoissonNoiseBackground.h | 2 +- Core/Computation/ProcessedSample.h | 2 +- Core/Computation/ProfileHelper.h | 3 +- Core/Computation/ProgressHandler.h | 3 +- Core/Correlations/FTDecay1D.h | 10 +- Core/Correlations/FTDecay2D.h | 8 +- Core/Correlations/FTDistributions1D.h | 14 +-- Core/Correlations/FTDistributions2D.h | 12 +-- Core/Correlations/IDistribution1DSampler.h | 13 ++- Core/Correlations/IDistribution2DSampler.cpp | 2 +- Core/Correlations/IDistribution2DSampler.h | 11 +- Core/Correlations/ILayout.h | 2 +- Core/Correlations/IPeakShape.h | 14 +-- Core/Detector/ConvolutionDetectorResolution.h | 2 +- Core/Detector/Convolve.h | 3 +- Core/Detector/DetectionProperties.h | 3 +- Core/Detector/DetectorContext.h | 3 +- Core/Detector/DetectorFunctions.h | 7 +- Core/Detector/DetectorMask.h | 2 +- Core/Detector/IDetector.h | 2 +- Core/Detector/IDetector2D.h | 2 +- Core/Detector/IDetectorResolution.h | 2 +- Core/Detector/IResolutionFunction2D.h | 2 +- Core/Detector/IsGISAXSDetector.h | 2 +- Core/Detector/RectangularDetector.h | 2 +- Core/Detector/RectangularPixel.h | 2 +- Core/Detector/RegionOfInterest.h | 2 +- Core/Detector/ResolutionFunction2DGaussian.h | 2 +- Core/Detector/ScanResolution.h | 2 +- Core/Detector/SimulationArea.h | 5 +- Core/Detector/SimulationAreaIterator.h | 3 +- Core/Detector/SpecularDetector1D.h | 2 +- Core/Detector/SphericalDetector.h | 2 +- Core/Detector/SphericalPixel.h | 2 +- Core/Export/ExportToPython.h | 7 +- Core/Export/SampleLabelHandler.h | 2 +- Core/Export/SampleToPython.h | 3 +- Core/Export/SimulationToPython.h | 3 +- Core/Fitting/FitObjective.h | 2 +- Core/Fitting/FitPrintService.h | 3 +- Core/Fitting/FitStatus.h | 3 +- Core/Fitting/FitTypes.h | 1 - Core/Fitting/IObserver.h | 5 +- Core/Fitting/IterationInfo.h | 3 +- Core/Fitting/ObjectiveMetric.h | 12 +-- Core/Fitting/ObjectiveMetricUtils.h | 19 ++-- Core/Fitting/PyFittingCallbacks.h | 5 +- Core/Fitting/SimDataPair.h | 2 +- Core/HardParticle/FormFactorAnisoPyramid.h | 2 +- Core/HardParticle/FormFactorBar.h | 4 +- Core/HardParticle/FormFactorBox.h | 2 +- Core/HardParticle/FormFactorCantellatedCube.h | 2 +- Core/HardParticle/FormFactorCone.h | 2 +- Core/HardParticle/FormFactorCone6.h | 2 +- Core/HardParticle/FormFactorCosineRipple.h | 6 +- Core/HardParticle/FormFactorCuboctahedron.h | 2 +- Core/HardParticle/FormFactorDodecahedron.h | 2 +- Core/HardParticle/FormFactorDot.h | 2 +- .../FormFactorEllipsoidalCylinder.h | 2 +- Core/HardParticle/FormFactorFullSphere.h | 2 +- Core/HardParticle/FormFactorFullSpheroid.h | 2 +- Core/HardParticle/FormFactorHemiEllipsoid.h | 2 +- Core/HardParticle/FormFactorHollowSphere.h | 2 +- Core/HardParticle/FormFactorIcosahedron.h | 2 +- Core/HardParticle/FormFactorLongBoxGauss.h | 2 +- Core/HardParticle/FormFactorLongBoxLorentz.h | 2 +- Core/HardParticle/FormFactorPrism3.h | 2 +- Core/HardParticle/FormFactorPrism6.h | 2 +- Core/HardParticle/FormFactorPyramid.h | 2 +- Core/HardParticle/FormFactorSawtoothRipple.h | 6 +- Core/HardParticle/FormFactorTetrahedron.h | 2 +- Core/HardParticle/FormFactorTruncatedCube.h | 2 +- Core/HardParticle/FormFactorTruncatedSphere.h | 2 +- .../FormFactorTruncatedSpheroid.h | 2 +- Core/HardParticle/IFormFactorPolyhedron.h | 2 +- Core/HardParticle/IFormFactorPrism.h | 2 +- Core/HardParticle/IProfileRipple.h | 8 +- Core/HardParticle/Polyhedron.h | 2 +- Core/HardParticle/Prism.h | 2 +- Core/InputOutput/DataFormatUtils.h | 19 ++-- Core/InputOutput/IntensityDataIOFactory.h | 3 +- Core/InputOutput/OutputDataReadFactory.h | 2 +- Core/InputOutput/OutputDataReadStrategy.h | 11 +- Core/InputOutput/OutputDataReader.h | 2 +- Core/InputOutput/OutputDataWriteFactory.h | 2 +- Core/InputOutput/OutputDataWriteStrategy.h | 9 +- Core/InputOutput/OutputDataWriter.h | 2 +- Core/InputOutput/TiffHandler.h | 2 +- Core/Instrument/AngularSpecScan.h | 2 +- Core/Instrument/ChiSquaredModule.h | 2 +- Core/Instrument/FourierTransform.h | 3 +- Core/Instrument/IChiSquaredModule.h | 2 +- Core/Instrument/ISpecularScan.h | 2 +- Core/Instrument/Instrument.h | 2 +- Core/Instrument/PyArrayImportUtils.h | 5 +- Core/Instrument/QSpecScan.h | 2 +- Core/Instrument/SimulationResult.h | 3 +- Core/Instrument/SpectrumUtils.h | 3 +- Core/Instrument/VarianceFunctions.h | 7 +- Core/Intensity/ArrayUtils.h | 1 - Core/Intensity/AxisNames.h | 18 ++-- Core/Intensity/CumulativeValue.h | 7 +- Core/Intensity/Histogram1D.h | 2 +- Core/Intensity/Histogram2D.h | 2 +- Core/Intensity/IHistogram.h | 2 +- Core/Intensity/IIntensityFunction.h | 7 +- Core/Intensity/IUnitConverter.h | 4 +- Core/Intensity/IntensityDataFunctions.h | 30 +++--- Core/Intensity/LLData.h | 2 +- Core/Intensity/SimpleUnitConverters.h | 10 +- Core/Intensity/UnitConverter1D.h | 6 +- Core/Lattice/ILatticeOrientation.h | 6 +- Core/Lattice/ISelectionRule.h | 2 +- Core/Lattice/Lattice.h | 2 +- Core/Lattice/Lattice2D.h | 8 +- Core/Lattice/LatticeUtils.h | 6 +- Core/Mask/Ellipse.h | 2 +- Core/Mask/IShape2D.h | 2 +- Core/Mask/InfinitePlane.h | 2 +- Core/Mask/Line.h | 6 +- Core/Mask/Polygon.h | 2 +- Core/Mask/Rectangle.h | 2 +- Core/Material/BaseMaterialImpl.h | 2 +- Core/Material/MagneticMaterialImpl.h | 2 +- Core/Material/Material.h | 8 +- Core/Material/MaterialBySLDImpl.h | 4 +- Core/Material/MaterialFactoryFuncs.h | 10 +- Core/Material/MaterialUtils.h | 8 +- Core/Material/RefractiveMaterialImpl.h | 4 +- Core/Multilayer/FormFactorCoherentPart.h | 3 +- Core/Multilayer/FormFactorCoherentSum.h | 2 +- Core/Multilayer/IFresnelMap.h | 3 +- .../IInterferenceFunctionStrategy.h | 2 +- Core/Multilayer/IMultiLayerBuilder.h | 2 +- Core/Multilayer/ISpecularStrategy.h | 2 +- Core/Multilayer/KzComputation.h | 6 +- Core/Multilayer/Layer.h | 2 +- Core/Multilayer/LayerFillLimits.h | 2 +- Core/Multilayer/LayerInterface.h | 2 +- Core/Multilayer/LayerRoughness.h | 2 +- Core/Multilayer/MatrixFresnelMap.h | 2 +- Core/Multilayer/MultiLayer.h | 2 +- Core/Multilayer/MultiLayerUtils.h | 17 ++- Core/Multilayer/RoughnessModels.h | 3 +- Core/Multilayer/SampleBuilderNode.h | 2 +- Core/Multilayer/SampleProvider.h | 2 +- Core/Multilayer/ScalarFresnelMap.h | 2 +- Core/Multilayer/Slice.h | 2 +- .../SpecularMagneticNewNCStrategy.h | 2 +- Core/Multilayer/SpecularMagneticNewStrategy.h | 2 +- .../SpecularMagneticNewTanhStrategy.h | 2 +- Core/Multilayer/SpecularMagneticOldStrategy.h | 2 +- Core/Multilayer/SpecularMagneticStrategy.h | 2 +- Core/Multilayer/SpecularScalarNCStrategy.h | 2 +- Core/Multilayer/SpecularScalarStrategy.h | 2 +- Core/Multilayer/SpecularScalarTanhStrategy.h | 2 +- Core/Multilayer/SpecularSimulationElement.h | 2 +- Core/Parametrization/DistributionHandler.h | 2 +- Core/Parametrization/Distributions.h | 14 +-- Core/Parametrization/INode.h | 6 +- Core/Parametrization/INodeVisitor.h | 7 +- Core/Parametrization/IParameterized.h | 2 +- Core/Parametrization/IterationStrategy.h | 7 +- Core/Parametrization/NodeIterator.h | 2 +- Core/Parametrization/NodeUtils.h | 5 +- Core/Parametrization/ParameterDistribution.h | 2 +- Core/Parametrization/ParameterPattern.h | 3 +- Core/Parametrization/ParameterPool.h | 2 +- Core/Parametrization/ParameterUtils.h | 5 +- Core/Parametrization/RangedDistributions.h | 12 +-- Core/Parametrization/RealParameter.h | 3 +- Core/Parametrization/SimulationOptions.h | 2 +- Core/Parametrization/ThreadInfo.h | 3 +- Core/Particle/Crystal.h | 2 +- Core/Particle/FormFactorCoreShell.h | 2 +- Core/Particle/FormFactorCrystal.h | 2 +- Core/Particle/FormFactorWeighted.h | 2 +- Core/Particle/HomogeneousRegion.h | 2 +- Core/Particle/IAbstractParticle.h | 2 +- Core/Particle/IClusteredParticles.h | 2 +- Core/Particle/IParticle.h | 2 +- Core/Particle/MesoCrystal.h | 2 +- Core/Particle/Particle.h | 2 +- Core/Particle/ParticleComposition.h | 2 +- Core/Particle/ParticleCoreShell.h | 2 +- Core/Particle/ParticleDistribution.h | 2 +- Core/PyIO/PyEmbeddedUtils.h | 15 ++- Core/PyIO/PyImport.h | 5 +- Core/PyIO/PythonFormatting.h | 13 ++- Core/RT/ILayerRTCoefficients.h | 2 +- Core/RT/MatrixRTCoefficients.h | 2 +- Core/RT/MatrixRTCoefficients_v2.h | 2 +- Core/RT/MatrixRTCoefficients_v3.h | 2 +- Core/RT/ScalarRTCoefficients.h | 2 +- Core/Scattering/FormFactorDecoratorMaterial.h | 2 +- .../FormFactorDecoratorPositionFactor.h | 2 +- Core/Scattering/FormFactorDecoratorRotation.h | 2 +- Core/Scattering/IFormFactor.h | 2 +- Core/Scattering/IFormFactorBorn.h | 2 +- Core/Scattering/IFormFactorDecorator.h | 2 +- Core/Scattering/ISample.h | 2 +- Core/Scattering/Rotations.h | 14 +-- Core/Scattering/ZLimits.h | 13 ++- Core/Simulation/DepthProbeSimulation.h | 2 +- Core/Simulation/GISASSimulation.h | 2 +- Core/Simulation/OffSpecSimulation.h | 2 +- Core/Simulation/Simulation.h | 2 +- Core/Simulation/Simulation2D.h | 2 +- Core/Simulation/SimulationFactory.h | 2 +- Core/Simulation/SpecularSimulation.h | 2 +- Core/Simulation/StandardSimulations.h | 91 ++++++++-------- Core/Simulation/UnitConverterUtils.h | 6 +- Core/SimulationElement/DepthProbeElement.h | 2 +- Core/SimulationElement/PolarizationHandler.h | 3 +- Core/SimulationElement/SimulationElement.h | 2 +- Core/SoftParticle/FormFactorGauss.h | 2 +- .../FormFactorSphereGaussianRadius.h | 2 +- .../FormFactorSphereLogNormalRadius.h | 2 +- Core/StandardSamples/BoxCompositionBuilder.h | 12 +-- .../BoxesSquareLatticeBuilder.h | 2 +- .../CoreShellParticleBuilder.h | 4 +- .../StandardSamples/CustomMorphologyBuilder.h | 2 +- .../CylindersAndPrismsBuilder.h | 2 +- Core/StandardSamples/CylindersBuilder.h | 8 +- Core/StandardSamples/FeNiBiLayerBuilder.h | 12 +-- .../HomogeneousMultilayerBuilder.h | 2 +- Core/StandardSamples/LatticeBuilder.h | 2 +- .../LayersWithAbsorptionBuilder.h | 2 +- .../LayersWithAbsorptionBySLDBuilder.h | 2 +- Core/StandardSamples/MagneticLayersBuilder.h | 10 +- .../MagneticParticlesBuilder.h | 6 +- Core/StandardSamples/MesoCrystalBuilder.h | 2 +- .../MultiLayerWithNCRoughnessBuilder.h | 2 +- .../MultiLayerWithRoughnessBuilder.h | 2 +- Core/StandardSamples/MultipleLayoutBuilder.h | 2 +- Core/StandardSamples/ParaCrystalBuilder.h | 8 +- .../ParticleCompositionBuilder.h | 2 +- .../ParticleDistributionsBuilder.h | 2 +- .../StandardSamples/ParticleInTheAirBuilder.h | 2 +- Core/StandardSamples/PercusYevickBuilder.h | 2 +- .../PlainMultiLayerBySLDBuilder.h | 2 +- Core/StandardSamples/ResonatorBuilder.h | 2 +- Core/StandardSamples/RipplesBuilder.h | 6 +- Core/StandardSamples/RotatedPyramidsBuilder.h | 2 +- Core/StandardSamples/SampleBuilderFactory.h | 2 +- .../SizeDistributionModelsBuilder.h | 8 +- Core/StandardSamples/SlicedCylindersBuilder.h | 6 +- Core/StandardSamples/SlicedParticleBuilder.h | 2 +- .../ThickAbsorptiveSampleBuilder.h | 2 +- Core/StandardSamples/TransformationsBuilder.h | 2 +- Core/StandardSamples/TwoDimLatticeBuilder.h | 12 +-- .../TwoLayerRoughnessBuilder.h | 2 +- Core/Tools/FileSystemUtils.h | 25 +++-- Core/Tools/Integrator.h | 5 +- Core/Tools/MathFunctions.cpp | 4 +- Core/Tools/MathFunctions.h | 49 +++++---- Core/Tools/Precomputed.h | 1 - Core/Tools/PyFmt.h | 41 ++++--- Core/Tools/SysUtils.h | 9 +- Core/Vector/BasicVector3D.h | 27 +++-- Core/Vector/Transform3D.cpp | 8 +- Core/Vector/Transform3D.h | 2 +- Core/Vector/WavevectorInfo.h | 2 +- GUI/coregui/Models/GUIDomainSampleVisitor.h | 1 + GUI/coregui/Models/GUIObjectBuilder.h | 1 + GUI/coregui/Models/TransformToDomain.h | 1 + .../CsvImportAssistant/CsvImportTable.h | 1 + auto/Wrap/doxygen_core.i | 100 +++++++++--------- auto/Wrap/libBornAgainCore.py | 18 ++-- auto/Wrap/libBornAgainCore_wrap.cpp | 18 ++-- 301 files changed, 717 insertions(+), 773 deletions(-) diff --git a/Core/Aggregate/IInterferenceFunction.h b/Core/Aggregate/IInterferenceFunction.h index a18434af142..974c4fa79c2 100644 --- a/Core/Aggregate/IInterferenceFunction.h +++ b/Core/Aggregate/IInterferenceFunction.h @@ -21,7 +21,7 @@ //! Pure virtual base class of interference functions. //! @ingroup distribution_internal -class BA_CORE_API_ IInterferenceFunction : public ISample +class IInterferenceFunction : public ISample { public: IInterferenceFunction(const NodeMeta& meta, const std::vector<double>& PValues); diff --git a/Core/Aggregate/InterferenceFunction1DLattice.h b/Core/Aggregate/InterferenceFunction1DLattice.h index 5768877219b..4f1e1116c1f 100644 --- a/Core/Aggregate/InterferenceFunction1DLattice.h +++ b/Core/Aggregate/InterferenceFunction1DLattice.h @@ -22,7 +22,7 @@ class IFTDecayFunction1D; //! Interference function of a 1D lattice. //! @ingroup interference -class BA_CORE_API_ InterferenceFunction1DLattice : public IInterferenceFunction +class InterferenceFunction1DLattice : public IInterferenceFunction { public: InterferenceFunction1DLattice(double length, double xi); diff --git a/Core/Aggregate/InterferenceFunction2DLattice.h b/Core/Aggregate/InterferenceFunction2DLattice.h index b6c9cbdf576..8671cd338ed 100644 --- a/Core/Aggregate/InterferenceFunction2DLattice.h +++ b/Core/Aggregate/InterferenceFunction2DLattice.h @@ -23,7 +23,7 @@ //! Interference function of a 2D lattice. //! @ingroup interference -class BA_CORE_API_ InterferenceFunction2DLattice : public IInterferenceFunction +class InterferenceFunction2DLattice : public IInterferenceFunction { public: InterferenceFunction2DLattice(double length_1, double length_2, double alpha, double xi); diff --git a/Core/Aggregate/InterferenceFunction2DParaCrystal.h b/Core/Aggregate/InterferenceFunction2DParaCrystal.h index ce7cf10f7a6..ba9f7ede404 100644 --- a/Core/Aggregate/InterferenceFunction2DParaCrystal.h +++ b/Core/Aggregate/InterferenceFunction2DParaCrystal.h @@ -26,7 +26,7 @@ class IFTDistribution2D; //! Interference function of a 2D paracrystal. //! @ingroup interference -class BA_CORE_API_ InterferenceFunction2DParaCrystal : public IInterferenceFunction +class InterferenceFunction2DParaCrystal : public IInterferenceFunction { public: InterferenceFunction2DParaCrystal(const Lattice2D& lattice, double damping_length, diff --git a/Core/Aggregate/InterferenceFunction2DSuperLattice.h b/Core/Aggregate/InterferenceFunction2DSuperLattice.h index aadaceb843e..ab8d9bd4cde 100644 --- a/Core/Aggregate/InterferenceFunction2DSuperLattice.h +++ b/Core/Aggregate/InterferenceFunction2DSuperLattice.h @@ -22,7 +22,7 @@ //! each lattice site. //! @ingroup interference -class BA_CORE_API_ InterferenceFunction2DSuperLattice : public IInterferenceFunction +class InterferenceFunction2DSuperLattice : public IInterferenceFunction { public: InterferenceFunction2DSuperLattice(const Lattice2D& lattice, unsigned size_1, unsigned size_2); diff --git a/Core/Aggregate/InterferenceFunction3DLattice.h b/Core/Aggregate/InterferenceFunction3DLattice.h index a37dcfe1bf5..79848beb6af 100644 --- a/Core/Aggregate/InterferenceFunction3DLattice.h +++ b/Core/Aggregate/InterferenceFunction3DLattice.h @@ -23,7 +23,7 @@ class IPeakShape; //! Interference function of a 3D lattice. //! @ingroup interference -class BA_CORE_API_ InterferenceFunction3DLattice : public IInterferenceFunction +class InterferenceFunction3DLattice : public IInterferenceFunction { public: InterferenceFunction3DLattice(const Lattice& lattice); diff --git a/Core/Aggregate/InterferenceFunctionFinite2DLattice.h b/Core/Aggregate/InterferenceFunctionFinite2DLattice.h index dcae005653b..e1c97d17c94 100644 --- a/Core/Aggregate/InterferenceFunctionFinite2DLattice.h +++ b/Core/Aggregate/InterferenceFunctionFinite2DLattice.h @@ -21,7 +21,7 @@ //! Interference function of a finite 2D lattice. //! @ingroup interference -class BA_CORE_API_ InterferenceFunctionFinite2DLattice : public IInterferenceFunction +class InterferenceFunctionFinite2DLattice : public IInterferenceFunction { public: InterferenceFunctionFinite2DLattice(const Lattice2D& lattice, unsigned N_1, unsigned N_2); diff --git a/Core/Aggregate/InterferenceFunctionFinite3DLattice.h b/Core/Aggregate/InterferenceFunctionFinite3DLattice.h index cb78ed80172..b84d77f251f 100644 --- a/Core/Aggregate/InterferenceFunctionFinite3DLattice.h +++ b/Core/Aggregate/InterferenceFunctionFinite3DLattice.h @@ -21,7 +21,7 @@ //! Interference function of a finite 3D lattice. //! @ingroup interference -class BA_CORE_API_ InterferenceFunctionFinite3DLattice : public IInterferenceFunction +class InterferenceFunctionFinite3DLattice : public IInterferenceFunction { public: InterferenceFunctionFinite3DLattice(const Lattice& lattice, unsigned N_1, unsigned N_2, diff --git a/Core/Aggregate/InterferenceFunctionHardDisk.h b/Core/Aggregate/InterferenceFunctionHardDisk.h index 18c5b38dddc..780af54965d 100644 --- a/Core/Aggregate/InterferenceFunctionHardDisk.h +++ b/Core/Aggregate/InterferenceFunctionHardDisk.h @@ -24,7 +24,7 @@ //! DOI: 10.1080/00268979500101211 //! @ingroup interference -class BA_CORE_API_ InterferenceFunctionHardDisk : public IInterferenceFunction +class InterferenceFunctionHardDisk : public IInterferenceFunction { public: InterferenceFunctionHardDisk(double radius, double density, double position_var = 0); diff --git a/Core/Aggregate/InterferenceFunctionNone.h b/Core/Aggregate/InterferenceFunctionNone.h index e1540911611..d5f5b69efcd 100644 --- a/Core/Aggregate/InterferenceFunctionNone.h +++ b/Core/Aggregate/InterferenceFunctionNone.h @@ -20,7 +20,7 @@ //! Default interference function (i.e. absence of any interference). //! @ingroup interference -class BA_CORE_API_ InterferenceFunctionNone : public IInterferenceFunction +class InterferenceFunctionNone : public IInterferenceFunction { public: InterferenceFunctionNone(); diff --git a/Core/Aggregate/InterferenceFunctionRadialParaCrystal.h b/Core/Aggregate/InterferenceFunctionRadialParaCrystal.h index f39491b33f2..a308c6abb1d 100644 --- a/Core/Aggregate/InterferenceFunctionRadialParaCrystal.h +++ b/Core/Aggregate/InterferenceFunctionRadialParaCrystal.h @@ -23,7 +23,7 @@ //! Interference function of radial paracrystal. //! @ingroup interference -class BA_CORE_API_ InterferenceFunctionRadialParaCrystal : public IInterferenceFunction +class InterferenceFunctionRadialParaCrystal : public IInterferenceFunction { public: InterferenceFunctionRadialParaCrystal(double peak_distance, double damping_length); diff --git a/Core/Aggregate/InterferenceFunctionTwin.h b/Core/Aggregate/InterferenceFunctionTwin.h index a84be1e75c8..1ae81324938 100644 --- a/Core/Aggregate/InterferenceFunctionTwin.h +++ b/Core/Aggregate/InterferenceFunctionTwin.h @@ -21,7 +21,7 @@ //! from each other in a given direction. //! @ingroup interference -class BA_CORE_API_ InterferenceFunctionTwin : public IInterferenceFunction +class InterferenceFunctionTwin : public IInterferenceFunction { public: InterferenceFunctionTwin(const kvector_t& direction, double mean_distance, double std_dev); diff --git a/Core/Aggregate/ParticleLayout.h b/Core/Aggregate/ParticleLayout.h index 4d11e22cc05..d9a0a49dd39 100644 --- a/Core/Aggregate/ParticleLayout.h +++ b/Core/Aggregate/ParticleLayout.h @@ -27,7 +27,7 @@ class IParticle; //! Decorator class that adds particles to ISample objects. //! @ingroup samples -class BA_CORE_API_ ParticleLayout : public ILayout +class ParticleLayout : public ILayout { public: ParticleLayout(); diff --git a/Core/Basics/Exceptions.h b/Core/Basics/Exceptions.h index 1c745982d19..8caee6e2c84 100644 --- a/Core/Basics/Exceptions.h +++ b/Core/Basics/Exceptions.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_BASICS_EXCEPTIONS_H #define BORNAGAIN_CORE_BASICS_EXCEPTIONS_H -#include "Wrap/WinDllMacros.h" #include <stdexcept> #include <string> @@ -31,79 +30,79 @@ namespace Exceptions { -class BA_CORE_API_ NotImplementedException : public std::logic_error +class NotImplementedException : public std::logic_error { public: NotImplementedException(const std::string& message); }; -class BA_CORE_API_ NullPointerException : public std::logic_error +class NullPointerException : public std::logic_error { public: NullPointerException(const std::string& message); }; -class BA_CORE_API_ OutOfBoundsException : public std::logic_error +class OutOfBoundsException : public std::logic_error { public: OutOfBoundsException(const std::string& message); }; -class BA_CORE_API_ ClassInitializationException : public std::runtime_error +class ClassInitializationException : public std::runtime_error { public: ClassInitializationException(const std::string& message); }; -class BA_CORE_API_ UnknownClassRegistrationException : public std::runtime_error +class UnknownClassRegistrationException : public std::runtime_error { public: UnknownClassRegistrationException(const std::string& message); }; -class BA_CORE_API_ ExistingClassRegistrationException : public std::runtime_error +class ExistingClassRegistrationException : public std::runtime_error { public: ExistingClassRegistrationException(const std::string& message); }; -class BA_CORE_API_ LogicErrorException : public std::logic_error +class LogicErrorException : public std::logic_error { public: LogicErrorException(const std::string& message); }; -class BA_CORE_API_ RuntimeErrorException : public std::runtime_error +class RuntimeErrorException : public std::runtime_error { public: RuntimeErrorException(const std::string& message); }; -class BA_CORE_API_ DivisionByZeroException : public std::runtime_error +class DivisionByZeroException : public std::runtime_error { public: DivisionByZeroException(const std::string& message); }; -class BA_CORE_API_ DomainErrorException : public std::domain_error +class DomainErrorException : public std::domain_error { public: DomainErrorException(const std::string& message); }; -class BA_CORE_API_ FileNotIsOpenException : public std::runtime_error +class FileNotIsOpenException : public std::runtime_error { public: FileNotIsOpenException(const std::string& message); }; -class BA_CORE_API_ FileIsBadException : public std::runtime_error +class FileIsBadException : public std::runtime_error { public: FileIsBadException(const std::string& message); }; -class BA_CORE_API_ FormatErrorException : public std::runtime_error +class FormatErrorException : public std::runtime_error { public: FormatErrorException(const std::string& message); diff --git a/Core/Basics/ICloneable.h b/Core/Basics/ICloneable.h index b99104dcf44..dc464f71867 100644 --- a/Core/Basics/ICloneable.h +++ b/Core/Basics/ICloneable.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_BASICS_ICLONEABLE_H #define BORNAGAIN_CORE_BASICS_ICLONEABLE_H -#include "Wrap/WinDllMacros.h" //! Interface for polymorphic classes that should not be copied, except by explicit cloning. //! @@ -23,7 +22,7 @@ //! @ingroup tools_internal -class BA_CORE_API_ ICloneable +class ICloneable { public: ICloneable() = default; diff --git a/Core/Beam/Beam.h b/Core/Beam/Beam.h index 4f1f02574c7..6aac143f359 100644 --- a/Core/Beam/Beam.h +++ b/Core/Beam/Beam.h @@ -24,7 +24,7 @@ class IFootprintFactor; //! Beam defined by wavelength, direction and intensity. //! @ingroup beam -class BA_CORE_API_ Beam : public INode +class Beam : public INode { public: Beam(double wavelength, double alpha, double phi, double intensity); diff --git a/Core/Beam/FootprintGauss.h b/Core/Beam/FootprintGauss.h index 95ff547961f..abcfd3cbd5d 100644 --- a/Core/Beam/FootprintGauss.h +++ b/Core/Beam/FootprintGauss.h @@ -22,7 +22,7 @@ //! of \f[ \exp{-1/2} \f] from the peak intensity. //! @ingroup beam -class BA_CORE_API_ FootprintGauss : public IFootprintFactor +class FootprintGauss : public IFootprintFactor { public: FootprintGauss(const std::vector<double> P); diff --git a/Core/Beam/FootprintSquare.h b/Core/Beam/FootprintSquare.h index 18af9212806..d20c686c8ff 100644 --- a/Core/Beam/FootprintSquare.h +++ b/Core/Beam/FootprintSquare.h @@ -20,7 +20,7 @@ //! Calculates footprint coefficient for a square beam //! @ingroup beam -class BA_CORE_API_ FootprintSquare : public IFootprintFactor +class FootprintSquare : public IFootprintFactor { public: FootprintSquare(const std::vector<double> P); diff --git a/Core/Beam/IFootprintFactor.h b/Core/Beam/IFootprintFactor.h index b8acab2c169..eb2728d59c9 100644 --- a/Core/Beam/IFootprintFactor.h +++ b/Core/Beam/IFootprintFactor.h @@ -24,7 +24,7 @@ class Beam; //! Abstract base for classes that calculate the beam footprint factor //! @ingroup beam -class BA_CORE_API_ IFootprintFactor : public ICloneable, public INode +class IFootprintFactor : public ICloneable, public INode { public: IFootprintFactor(const NodeMeta& meta, const std::vector<double>& PValues); diff --git a/Core/Binning/Bin.h b/Core/Binning/Bin.h index 1da9f1381f4..fbffad5a409 100644 --- a/Core/Binning/Bin.h +++ b/Core/Binning/Bin.h @@ -17,7 +17,7 @@ #include "Core/Vector/Vectors3D.h" -struct BA_CORE_API_ Bin1D { +struct Bin1D { Bin1D() : m_lower(0), m_upper(0) {} Bin1D(double lower, double upper) : m_lower(lower), m_upper(upper) {} double m_lower; //!< lower bound of the bin @@ -33,7 +33,7 @@ bool BinContains(const Bin1D& bin, double value); //! An one-dimensional range of kvector_t's. //! @ingroup tools_internal -struct BA_CORE_API_ Bin1DKVector { +struct Bin1DKVector { Bin1DKVector() : m_q_lower(), m_q_upper() {} Bin1DKVector(const kvector_t lower, const kvector_t upper) : m_q_lower(lower), m_q_upper(upper) { @@ -49,7 +49,7 @@ struct BA_CORE_API_ Bin1DKVector { //! An one-dimensional range of cvector_t's. //! @ingroup tools_internal -class BA_CORE_API_ Bin1DCVector +class Bin1DCVector { public: Bin1DCVector() : m_q_lower(), m_q_upper() {} diff --git a/Core/Binning/ConstKBinAxis.h b/Core/Binning/ConstKBinAxis.h index 73bf8c32e09..322a44233ab 100644 --- a/Core/Binning/ConstKBinAxis.h +++ b/Core/Binning/ConstKBinAxis.h @@ -20,7 +20,7 @@ //! Axis with fixed bin size in sin(angle) space. //! @ingroup tools -class BA_CORE_API_ ConstKBinAxis : public VariableBinAxis +class ConstKBinAxis : public VariableBinAxis { public: //! ConstKBinAxis constructor. diff --git a/Core/Binning/CustomBinAxis.h b/Core/Binning/CustomBinAxis.h index c1ba1796516..87323134637 100644 --- a/Core/Binning/CustomBinAxis.h +++ b/Core/Binning/CustomBinAxis.h @@ -21,7 +21,7 @@ //! The main feature of the axis is that it produces zero bin sizes. //! @ingroup tools -class BA_CORE_API_ CustomBinAxis : public VariableBinAxis +class CustomBinAxis : public VariableBinAxis { public: //! CustomBinAxis constructor. diff --git a/Core/Binning/FixedBinAxis.h b/Core/Binning/FixedBinAxis.h index 18c8d4e5e29..f7be0f75c5e 100644 --- a/Core/Binning/FixedBinAxis.h +++ b/Core/Binning/FixedBinAxis.h @@ -20,7 +20,7 @@ //! Axis with fixed bin size. //! @ingroup tools -class BA_CORE_API_ FixedBinAxis : public IAxis +class FixedBinAxis : public IAxis { public: //! FixedBinAxis constructor. diff --git a/Core/Binning/IAxis.h b/Core/Binning/IAxis.h index bf99876e972..fbc56fc768d 100644 --- a/Core/Binning/IAxis.h +++ b/Core/Binning/IAxis.h @@ -21,7 +21,7 @@ //! Interface for one-dimensional axes. //! @ingroup tools_internal -class BA_CORE_API_ IAxis +class IAxis { public: //! constructors diff --git a/Core/Binning/IPixel.h b/Core/Binning/IPixel.h index 9fef46a7774..87640c3a56d 100644 --- a/Core/Binning/IPixel.h +++ b/Core/Binning/IPixel.h @@ -16,12 +16,11 @@ #define BORNAGAIN_CORE_BINNING_IPIXEL_H #include "Core/Vector/Vectors3D.h" -#include "Wrap/WinDllMacros.h" //! Interface for a function that maps [0,1]x[0,1] to the kvectors in a pixel. //! @ingroup detector -class BA_CORE_API_ IPixel +class IPixel { public: virtual ~IPixel() {} diff --git a/Core/Binning/PointwiseAxis.h b/Core/Binning/PointwiseAxis.h index 68a7f8f37d1..71994ed6d8d 100644 --- a/Core/Binning/PointwiseAxis.h +++ b/Core/Binning/PointwiseAxis.h @@ -29,7 +29,7 @@ //! values passed to the constructor. //! @ingroup tools -class BA_CORE_API_ PointwiseAxis : public IAxis +class PointwiseAxis : public IAxis { public: template <class String, class Vector> diff --git a/Core/Binning/VariableBinAxis.h b/Core/Binning/VariableBinAxis.h index d53b10e9b66..ccc68771e42 100644 --- a/Core/Binning/VariableBinAxis.h +++ b/Core/Binning/VariableBinAxis.h @@ -20,7 +20,7 @@ //! Axis with variable bin size. //! @ingroup tools -class BA_CORE_API_ VariableBinAxis : public IAxis +class VariableBinAxis : public IAxis { public: //! VariableBinAxis constructor. diff --git a/Core/Computation/ConstantBackground.h b/Core/Computation/ConstantBackground.h index 42359175a65..39a49bec6c3 100644 --- a/Core/Computation/ConstantBackground.h +++ b/Core/Computation/ConstantBackground.h @@ -21,7 +21,7 @@ //! //! @ingroup simulation -class BA_CORE_API_ ConstantBackground : public IBackground +class ConstantBackground : public IBackground { public: ConstantBackground(const std::vector<double> P); diff --git a/Core/Computation/IBackground.h b/Core/Computation/IBackground.h index dad00303b69..4f1f3173e44 100644 --- a/Core/Computation/IBackground.h +++ b/Core/Computation/IBackground.h @@ -22,7 +22,7 @@ //! //! @ingroup algorithms_internal -class BA_CORE_API_ IBackground : public ICloneable, public INode +class IBackground : public ICloneable, public INode { public: IBackground(const NodeMeta& meta, const std::vector<double>& PValues); diff --git a/Core/Computation/LayoutStrategyBuilder.h b/Core/Computation/LayoutStrategyBuilder.h index 4d9b93d3590..ec54ca820af 100644 --- a/Core/Computation/LayoutStrategyBuilder.h +++ b/Core/Computation/LayoutStrategyBuilder.h @@ -25,7 +25,7 @@ class ProcessedLayout; //! Methods to generate a simulation strategy for a ParticleLayoutComputation. //! @ingroup algorithms_internal -class BA_CORE_API_ LayoutStrategyBuilder +class LayoutStrategyBuilder { public: LayoutStrategyBuilder(const ProcessedLayout* p_layout, const SimulationOptions& sim_params, diff --git a/Core/Computation/MultiLayerFuncs.h b/Core/Computation/MultiLayerFuncs.h index 3c387f5dd36..0cb62aa69bc 100644 --- a/Core/Computation/MultiLayerFuncs.h +++ b/Core/Computation/MultiLayerFuncs.h @@ -16,7 +16,6 @@ #define BORNAGAIN_CORE_COMPUTATION_MULTILAYERFUNCS_H #include "Core/Basics/Complex.h" -#include "Wrap/WinDllMacros.h" #include <utility> #include <vector> @@ -25,13 +24,13 @@ class MultiLayer; //! @ingroup materials //! Calculate average material profile for given multilayer -BA_CORE_API_ std::vector<complex_t> MaterialProfile(const MultiLayer& multilayer, int n_points, +std::vector<complex_t> MaterialProfile(const MultiLayer& multilayer, int n_points, double z_min, double z_max); //! Get default z limits for generating a material profile -BA_CORE_API_ std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer& multilayer); +std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer& multilayer); //! Generate z values (equidistant) for use in MaterialProfile -BA_CORE_API_ std::vector<double> GenerateZValues(int n_points, double z_min, double z_max); +std::vector<double> GenerateZValues(int n_points, double z_min, double z_max); #endif // BORNAGAIN_CORE_COMPUTATION_MULTILAYERFUNCS_H diff --git a/Core/Computation/PoissonNoiseBackground.h b/Core/Computation/PoissonNoiseBackground.h index 8f96804e3e5..2262e32d593 100644 --- a/Core/Computation/PoissonNoiseBackground.h +++ b/Core/Computation/PoissonNoiseBackground.h @@ -21,7 +21,7 @@ //! //! @ingroup simulation -class BA_CORE_API_ PoissonNoiseBackground : public IBackground +class PoissonNoiseBackground : public IBackground { public: PoissonNoiseBackground(); diff --git a/Core/Computation/ProcessedSample.h b/Core/Computation/ProcessedSample.h index 7e2fe152504..b4e7d5b1d40 100644 --- a/Core/Computation/ProcessedSample.h +++ b/Core/Computation/ProcessedSample.h @@ -36,7 +36,7 @@ class SimulationOptions; //! //! @ingroup algorithms_internal -class BA_CORE_API_ ProcessedSample +class ProcessedSample { public: ProcessedSample(const MultiLayer& sample, const SimulationOptions& options); diff --git a/Core/Computation/ProfileHelper.h b/Core/Computation/ProfileHelper.h index f657b1e04ff..f2094d75c4a 100644 --- a/Core/Computation/ProfileHelper.h +++ b/Core/Computation/ProfileHelper.h @@ -17,7 +17,6 @@ #include "Core/Basics/Complex.h" #include "Core/Material/Material.h" -#include "Wrap/WinDllMacros.h" #include <utility> #include <vector> @@ -30,7 +29,7 @@ class ProcessedSample; //! //! @ingroup algorithms_internal -class BA_CORE_API_ ProfileHelper +class ProfileHelper { public: ProfileHelper(const ProcessedSample& sample); diff --git a/Core/Computation/ProgressHandler.h b/Core/Computation/ProgressHandler.h index 68727dda8e6..5cb4fb6a365 100644 --- a/Core/Computation/ProgressHandler.h +++ b/Core/Computation/ProgressHandler.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_COMPUTATION_PROGRESSHANDLER_H #define BORNAGAIN_CORE_COMPUTATION_PROGRESSHANDLER_H -#include "Wrap/WinDllMacros.h" #include <functional> class MultiLayer; @@ -28,7 +27,7 @@ class MultiLayer; //! //! @ingroup algorithms_internal -class BA_CORE_API_ ProgressHandler +class ProgressHandler { public: typedef std::function<bool(size_t)> Callback_t; diff --git a/Core/Correlations/FTDecay1D.h b/Core/Correlations/FTDecay1D.h index 977f31d385a..2b3d535caec 100644 --- a/Core/Correlations/FTDecay1D.h +++ b/Core/Correlations/FTDecay1D.h @@ -24,7 +24,7 @@ //! with evaluate(q) returning the Fourier transform, //! normalized to \f$\int dq\; {\rm evaluate}(q) = 1\f$. //! @ingroup distribution_internal -class BA_CORE_API_ IFTDecayFunction1D : public ICloneable, public INode +class IFTDecayFunction1D : public ICloneable, public INode { public: IFTDecayFunction1D(const NodeMeta& meta, const std::vector<double>& PValues); @@ -40,7 +40,7 @@ protected: //! One-dimensional Cauchy decay function in reciprocal space; //! corresponds to exp(-|x|/decay_length) in real space. //! @ingroup decayFT -class BA_CORE_API_ FTDecayFunction1DCauchy : public IFTDecayFunction1D +class FTDecayFunction1DCauchy : public IFTDecayFunction1D { public: FTDecayFunction1DCauchy(const std::vector<double> P); @@ -54,7 +54,7 @@ public: //! One-dimensional Gauss decay function in reciprocal space; //! corresponds to exp[-x^2/(2*decay_length^2)] in real space. //! @ingroup decayFT -class BA_CORE_API_ FTDecayFunction1DGauss : public IFTDecayFunction1D +class FTDecayFunction1DGauss : public IFTDecayFunction1D { public: FTDecayFunction1DGauss(const std::vector<double> P); @@ -68,7 +68,7 @@ public: //! One-dimensional triangle decay function in reciprocal space; //! corresponds to 1-|x|/decay_length if |x|<decay_length (and 0 otherwise) in real space. //! @ingroup decayFT -class BA_CORE_API_ FTDecayFunction1DTriangle : public IFTDecayFunction1D +class FTDecayFunction1DTriangle : public IFTDecayFunction1D { public: FTDecayFunction1DTriangle(const std::vector<double> P); @@ -82,7 +82,7 @@ public: //! One-dimensional pseudo-Voigt decay function in reciprocal space; //! corresponds to eta*Gauss + (1-eta)*Cauchy. //! @ingroup decayFT -class BA_CORE_API_ FTDecayFunction1DVoigt : public IFTDecayFunction1D +class FTDecayFunction1DVoigt : public IFTDecayFunction1D { public: //! Constructor of pseudo-Voigt decay function. diff --git a/Core/Correlations/FTDecay2D.h b/Core/Correlations/FTDecay2D.h index a7c1cd57f91..5ac26288245 100644 --- a/Core/Correlations/FTDecay2D.h +++ b/Core/Correlations/FTDecay2D.h @@ -22,7 +22,7 @@ //! Interface for two-dimensional decay function in reciprocal space. //! @ingroup decayFT_internal -class BA_CORE_API_ IFTDecayFunction2D : public ICloneable, public INode +class IFTDecayFunction2D : public ICloneable, public INode { public: IFTDecayFunction2D(const NodeMeta& meta, const std::vector<double>& PValues); @@ -59,7 +59,7 @@ private: //! corresponds to exp(-r) in real space, //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. //! @ingroup decayFT -class BA_CORE_API_ FTDecayFunction2DCauchy : public IFTDecayFunction2D +class FTDecayFunction2DCauchy : public IFTDecayFunction2D { public: FTDecayFunction2DCauchy(const std::vector<double> P); @@ -74,7 +74,7 @@ public: //! corresponds to exp(-r^2/2) in real space, //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. //! @ingroup decayFT -class BA_CORE_API_ FTDecayFunction2DGauss : public IFTDecayFunction2D +class FTDecayFunction2DGauss : public IFTDecayFunction2D { public: FTDecayFunction2DGauss(const std::vector<double> P); @@ -88,7 +88,7 @@ public: //! Two-dimensional pseudo-Voigt decay function in reciprocal space; //! corresponds to eta*Gauss + (1-eta)*Cauchy. //! @ingroup decayFT -class BA_CORE_API_ FTDecayFunction2DVoigt : public IFTDecayFunction2D +class FTDecayFunction2DVoigt : public IFTDecayFunction2D { public: FTDecayFunction2DVoigt(const std::vector<double> P); diff --git a/Core/Correlations/FTDistributions1D.h b/Core/Correlations/FTDistributions1D.h index 85987b95377..578a6cccfa9 100644 --- a/Core/Correlations/FTDistributions1D.h +++ b/Core/Correlations/FTDistributions1D.h @@ -23,7 +23,7 @@ //! the Fourier transform evaluate(q) is a decay function that starts at evaluate(0)=1. //! @ingroup distribution_internal -class BA_CORE_API_ IFTDistribution1D : public ICloneable, public INode +class IFTDistribution1D : public ICloneable, public INode { public: IFTDistribution1D(const NodeMeta& meta, const std::vector<double>& PValues); @@ -51,7 +51,7 @@ protected: //! its Fourier transform evaluate(q) is a Cauchy-Lorentzian starting at evaluate(0)=1. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution1DCauchy : public IFTDistribution1D +class FTDistribution1DCauchy : public IFTDistribution1D { public: FTDistribution1DCauchy(const std::vector<double> P); @@ -71,7 +71,7 @@ public: //! its Fourier transform evaluate(q) is a Gaussian starting at evaluate(0)=1. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution1DGauss : public IFTDistribution1D +class FTDistribution1DGauss : public IFTDistribution1D { public: FTDistribution1DGauss(const std::vector<double> P); @@ -91,7 +91,7 @@ public: //! its Fourier transform evaluate(q) is a sinc function starting at evaluate(0)=1. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution1DGate : public IFTDistribution1D +class FTDistribution1DGate : public IFTDistribution1D { public: FTDistribution1DGate(const std::vector<double> P); @@ -111,7 +111,7 @@ public: //! its Fourier transform evaluate(q) is a squared sinc function starting at evaluate(0)=1. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution1DTriangle : public IFTDistribution1D +class FTDistribution1DTriangle : public IFTDistribution1D { public: FTDistribution1DTriangle(const std::vector<double> P); @@ -132,7 +132,7 @@ public: //! its Fourier transform evaluate(q) starts at evaluate(0)=1. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution1DCosine : public IFTDistribution1D +class FTDistribution1DCosine : public IFTDistribution1D { public: FTDistribution1DCosine(const std::vector<double> P); @@ -153,7 +153,7 @@ public: //! starting at 1 for q=0. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution1DVoigt : public IFTDistribution1D +class FTDistribution1DVoigt : public IFTDistribution1D { public: //! Constructor of one-dimensional pseudo-Voigt probability distribution. diff --git a/Core/Correlations/FTDistributions2D.h b/Core/Correlations/FTDistributions2D.h index 3e782e12f42..0ee697e5af5 100644 --- a/Core/Correlations/FTDistributions2D.h +++ b/Core/Correlations/FTDistributions2D.h @@ -23,7 +23,7 @@ //! Interface for two-dimensional distributions in Fourier space. //! @ingroup distribution_internal -class BA_CORE_API_ IFTDistribution2D : public ICloneable, public INode +class IFTDistribution2D : public ICloneable, public INode { public: IFTDistribution2D(const NodeMeta& meta, const std::vector<double>& PValues); @@ -59,7 +59,7 @@ protected: //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution2DCauchy : public IFTDistribution2D +class FTDistribution2DCauchy : public IFTDistribution2D { public: FTDistribution2DCauchy(const std::vector<double> P); @@ -78,7 +78,7 @@ public: //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution2DGauss : public IFTDistribution2D +class FTDistribution2DGauss : public IFTDistribution2D { public: FTDistribution2DGauss(const std::vector<double> P); @@ -97,7 +97,7 @@ public: //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution2DGate : public IFTDistribution2D +class FTDistribution2DGate : public IFTDistribution2D { public: FTDistribution2DGate(const std::vector<double> P); @@ -116,7 +116,7 @@ public: //! with \f$r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}\f$. //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution2DCone : public IFTDistribution2D +class FTDistribution2DCone : public IFTDistribution2D { public: FTDistribution2DCone(const std::vector<double> P); @@ -134,7 +134,7 @@ public: //! corresponds to eta*Gauss + (1-eta)*Cauchy //! @ingroup distributionFT -class BA_CORE_API_ FTDistribution2DVoigt : public IFTDistribution2D +class FTDistribution2DVoigt : public IFTDistribution2D { public: FTDistribution2DVoigt(const std::vector<double> P); diff --git a/Core/Correlations/IDistribution1DSampler.h b/Core/Correlations/IDistribution1DSampler.h index db8ca13d39a..75550b94ca6 100644 --- a/Core/Correlations/IDistribution1DSampler.h +++ b/Core/Correlations/IDistribution1DSampler.h @@ -15,9 +15,8 @@ #ifndef BORNAGAIN_CORE_CORRELATIONS_IDISTRIBUTION1DSAMPLER_H #define BORNAGAIN_CORE_CORRELATIONS_IDISTRIBUTION1DSAMPLER_H -#include "Wrap/WinDllMacros.h" -class BA_CORE_API_ IDistribution1DSampler +class IDistribution1DSampler { public: IDistribution1DSampler() {} @@ -26,7 +25,7 @@ public: virtual double randomSample() const = 0; }; -class BA_CORE_API_ Distribution1DCauchySampler : public IDistribution1DSampler +class Distribution1DCauchySampler : public IDistribution1DSampler { public: Distribution1DCauchySampler(double lambda) : m_lambda(lambda) {} @@ -36,7 +35,7 @@ private: double m_lambda; }; -class BA_CORE_API_ Distribution1DGaussSampler : public IDistribution1DSampler +class Distribution1DGaussSampler : public IDistribution1DSampler { public: Distribution1DGaussSampler(double mean, double stddev) : m_mean(mean), m_stddev(stddev) {} @@ -46,7 +45,7 @@ private: double m_mean, m_stddev; }; -class BA_CORE_API_ Distribution1DGateSampler : public IDistribution1DSampler +class Distribution1DGateSampler : public IDistribution1DSampler { public: Distribution1DGateSampler(double a, double b) : m_a(a), m_b(b) {} @@ -56,7 +55,7 @@ private: double m_a, m_b; // the left and right limits of the Gate (Uniform) distribution }; -class BA_CORE_API_ Distribution1DTriangleSampler : public IDistribution1DSampler +class Distribution1DTriangleSampler : public IDistribution1DSampler { public: Distribution1DTriangleSampler(double omega) : m_omega(omega) {} @@ -66,7 +65,7 @@ private: double m_omega; // half the base of the symmetrical Triangle distribution }; -class BA_CORE_API_ Distribution1DCosineSampler : public IDistribution1DSampler +class Distribution1DCosineSampler : public IDistribution1DSampler { public: Distribution1DCosineSampler(double omega) : m_omega(omega) {} diff --git a/Core/Correlations/IDistribution2DSampler.cpp b/Core/Correlations/IDistribution2DSampler.cpp index f1d889c3d5a..9e7cbbea49b 100644 --- a/Core/Correlations/IDistribution2DSampler.cpp +++ b/Core/Correlations/IDistribution2DSampler.cpp @@ -20,7 +20,7 @@ namespace double sigma_scale = 3.0; size_t n_boxes = 256; // number of boxes for Ziggurat sampling -struct BA_CORE_API_ ZigguratBox { +struct ZigguratBox { ZigguratBox(double x_min, double x_max, double y_max, double y_lower) : m_x_min(x_min), m_x_max(x_max), m_y_max(y_max), m_y_lower(y_lower) { diff --git a/Core/Correlations/IDistribution2DSampler.h b/Core/Correlations/IDistribution2DSampler.h index 6415d938c5b..b215b9383ca 100644 --- a/Core/Correlations/IDistribution2DSampler.h +++ b/Core/Correlations/IDistribution2DSampler.h @@ -15,10 +15,9 @@ #ifndef BORNAGAIN_CORE_CORRELATIONS_IDISTRIBUTION2DSAMPLER_H #define BORNAGAIN_CORE_CORRELATIONS_IDISTRIBUTION2DSAMPLER_H -#include "Wrap/WinDllMacros.h" #include <utility> -class BA_CORE_API_ IDistribution2DSampler +class IDistribution2DSampler { public: IDistribution2DSampler() {} @@ -27,7 +26,7 @@ public: virtual std::pair<double, double> randomSample() const = 0; }; -class BA_CORE_API_ Distribution2DCauchySampler : public IDistribution2DSampler +class Distribution2DCauchySampler : public IDistribution2DSampler { public: Distribution2DCauchySampler(double omega_x, double omega_y) @@ -40,7 +39,7 @@ private: double m_omega_x, m_omega_y; }; -class BA_CORE_API_ Distribution2DGaussSampler : public IDistribution2DSampler +class Distribution2DGaussSampler : public IDistribution2DSampler { public: Distribution2DGaussSampler(double omega_x, double omega_y) @@ -53,7 +52,7 @@ private: double m_omega_x, m_omega_y; }; -class BA_CORE_API_ Distribution2DGateSampler : public IDistribution2DSampler +class Distribution2DGateSampler : public IDistribution2DSampler { public: Distribution2DGateSampler(double omega_x, double omega_y) @@ -66,7 +65,7 @@ private: double m_omega_x, m_omega_y; }; -class BA_CORE_API_ Distribution2DConeSampler : public IDistribution2DSampler +class Distribution2DConeSampler : public IDistribution2DSampler { public: Distribution2DConeSampler(double omega_x, double omega_y) diff --git a/Core/Correlations/ILayout.h b/Core/Correlations/ILayout.h index 2f5c0adf9cb..fb7ea917a27 100644 --- a/Core/Correlations/ILayout.h +++ b/Core/Correlations/ILayout.h @@ -28,7 +28,7 @@ class IInterferenceFunction; // NOTE: When domain structures are implemented, this interface would probably undergo // major changes, because a domain layout would not contain particles -class BA_CORE_API_ ILayout : public ISample +class ILayout : public ISample { public: ILayout(); diff --git a/Core/Correlations/IPeakShape.h b/Core/Correlations/IPeakShape.h index cbbfad4dbc6..9f33836dbda 100644 --- a/Core/Correlations/IPeakShape.h +++ b/Core/Correlations/IPeakShape.h @@ -22,7 +22,7 @@ //! //! @ingroup samples_internal -class BA_CORE_API_ IPeakShape : public ISample +class IPeakShape : public ISample { public: IPeakShape() = default; @@ -44,7 +44,7 @@ public: //! //! @ingroup samples_internal -class BA_CORE_API_ IsotropicGaussPeakShape : public IPeakShape +class IsotropicGaussPeakShape : public IPeakShape { public: IsotropicGaussPeakShape(double max_intensity, double domainsize); @@ -66,7 +66,7 @@ private: //! //! @ingroup samples_internal -class BA_CORE_API_ IsotropicLorentzPeakShape : public IPeakShape +class IsotropicLorentzPeakShape : public IPeakShape { public: IsotropicLorentzPeakShape(double max_intensity, double domainsize); @@ -89,7 +89,7 @@ private: //! //! @ingroup samples_internal -class BA_CORE_API_ GaussFisherPeakShape : public IPeakShape +class GaussFisherPeakShape : public IPeakShape { public: GaussFisherPeakShape(double max_intensity, double radial_size, double kappa); @@ -114,7 +114,7 @@ private: //! //! @ingroup samples_internal -class BA_CORE_API_ LorentzFisherPeakShape : public IPeakShape +class LorentzFisherPeakShape : public IPeakShape { public: LorentzFisherPeakShape(double max_intensity, double radial_size, double kappa); @@ -139,7 +139,7 @@ private: //! //! @ingroup samples_internal -class BA_CORE_API_ MisesFisherGaussPeakShape : public IPeakShape +class MisesFisherGaussPeakShape : public IPeakShape { public: MisesFisherGaussPeakShape(double max_intensity, double radial_size, kvector_t zenith, @@ -169,7 +169,7 @@ private: //! //! @ingroup samples_internal -class BA_CORE_API_ MisesGaussPeakShape : public IPeakShape +class MisesGaussPeakShape : public IPeakShape { public: MisesGaussPeakShape(double max_intensity, double radial_size, kvector_t zenith, double kappa); diff --git a/Core/Detector/ConvolutionDetectorResolution.h b/Core/Detector/ConvolutionDetectorResolution.h index 56cd5f1cdf3..f9a83c79de6 100644 --- a/Core/Detector/ConvolutionDetectorResolution.h +++ b/Core/Detector/ConvolutionDetectorResolution.h @@ -23,7 +23,7 @@ //! Limitation: this class assumes that the data points are evenly distributed on each axis -class BA_CORE_API_ ConvolutionDetectorResolution : public IDetectorResolution +class ConvolutionDetectorResolution : public IDetectorResolution { public: typedef double (*cumulative_DF_1d)(double); diff --git a/Core/Detector/Convolve.h b/Core/Detector/Convolve.h index f899ff1648a..eca94494a27 100644 --- a/Core/Detector/Convolve.h +++ b/Core/Detector/Convolve.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_DETECTOR_CONVOLVE_H #define BORNAGAIN_CORE_DETECTOR_CONVOLVE_H -#include "Wrap/WinDllMacros.h" #include <fftw3.h> #include <vector> @@ -31,7 +30,7 @@ //! by Jeremy Fix, May 30, 2011 //! //! @ingroup tools_internal -class BA_CORE_API_ Convolve +class Convolve { public: //! definition of 1d vector of double diff --git a/Core/Detector/DetectionProperties.h b/Core/Detector/DetectionProperties.h index 26760cc7578..4f23df1d331 100644 --- a/Core/Detector/DetectionProperties.h +++ b/Core/Detector/DetectionProperties.h @@ -18,12 +18,11 @@ #include "Core/Parametrization/INode.h" #include "Core/Vector/EigenCore.h" #include "Core/Vector/Vectors3D.h" -#include "Wrap/WinDllMacros.h" //! Detector properties (efficiency, transmission). //! @ingroup detector -class BA_CORE_API_ DetectionProperties : public INode +class DetectionProperties : public INode { public: DetectionProperties(kvector_t direction, double efficiency, double total_transmission); diff --git a/Core/Detector/DetectorContext.h b/Core/Detector/DetectorContext.h index d0b99059344..032a4e5a90f 100644 --- a/Core/Detector/DetectorContext.h +++ b/Core/Detector/DetectorContext.h @@ -17,7 +17,6 @@ #include "Core/Binning/IPixel.h" #include "Core/Vector/EigenCore.h" -#include "Wrap/WinDllMacros.h" #include <memory> #include <vector> @@ -26,7 +25,7 @@ class IDetector2D; //! Holds precalculated information for faster SimulationElement generation. //! @ingroup detector -class BA_CORE_API_ DetectorContext +class DetectorContext { public: DetectorContext(const IDetector2D* detector); diff --git a/Core/Detector/DetectorFunctions.h b/Core/Detector/DetectorFunctions.h index fcacdf197e5..cb031dfcd16 100644 --- a/Core/Detector/DetectorFunctions.h +++ b/Core/Detector/DetectorFunctions.h @@ -16,7 +16,6 @@ #define BORNAGAIN_CORE_DETECTOR_DETECTORFUNCTIONS_H #include "Core/Detector/IDetector.h" -#include "Wrap/WinDllMacros.h" #include <functional> #include <memory> #include <string> @@ -32,16 +31,16 @@ namespace DetectorFunctions { //! Returns true if the data has same axes size (nx,ny) with the detector. -BA_CORE_API_ bool hasSameDimensions(const IDetector& detector, const OutputData<double>& data); +bool hasSameDimensions(const IDetector& detector, const OutputData<double>& data); // TODO replace two functions below with the template function after change of // OutputData::getAxis signature //! Returns string representation of axes dimension in the form "(nx,ny)" -BA_CORE_API_ std::string axesToString(const IDetector& detector); +std::string axesToString(const IDetector& detector); //! Returns string representation of axes dimension in the form "(nx,ny)" -BA_CORE_API_ std::string axesToString(const OutputData<double>& data); +std::string axesToString(const OutputData<double>& data); } // namespace DetectorFunctions diff --git a/Core/Detector/DetectorMask.h b/Core/Detector/DetectorMask.h index 6c9fee74ab0..f8e057b15f3 100644 --- a/Core/Detector/DetectorMask.h +++ b/Core/Detector/DetectorMask.h @@ -25,7 +25,7 @@ class Histogram2D; //! Collection of detector masks. //! @ingroup detector -class BA_CORE_API_ DetectorMask +class DetectorMask { public: DetectorMask(); diff --git a/Core/Detector/IDetector.h b/Core/Detector/IDetector.h index fc62b1dd8d4..d5a08c34ca8 100644 --- a/Core/Detector/IDetector.h +++ b/Core/Detector/IDetector.h @@ -34,7 +34,7 @@ class RegionOfInterest; //! Abstract detector interface. //! @ingroup detector -class BA_CORE_API_ IDetector : public ICloneable, public INode +class IDetector : public ICloneable, public INode { public: using const_iterator = const SimulationAreaIterator&; diff --git a/Core/Detector/IDetector2D.h b/Core/Detector/IDetector2D.h index 59a30a61f25..d64eea7eb1f 100644 --- a/Core/Detector/IDetector2D.h +++ b/Core/Detector/IDetector2D.h @@ -27,7 +27,7 @@ class DetectorContext; //! Abstract 2D detector interface. //! @ingroup detector -class BA_CORE_API_ IDetector2D : public IDetector +class IDetector2D : public IDetector { public: IDetector2D(); diff --git a/Core/Detector/IDetectorResolution.h b/Core/Detector/IDetectorResolution.h index 54aa1769c20..7f1337f4c2b 100644 --- a/Core/Detector/IDetectorResolution.h +++ b/Core/Detector/IDetectorResolution.h @@ -22,7 +22,7 @@ //! Interface for detector resolution algorithms //! @ingroup algorithms_internal -class BA_CORE_API_ IDetectorResolution : public ICloneable, public INode +class IDetectorResolution : public ICloneable, public INode { public: virtual ~IDetectorResolution() {} diff --git a/Core/Detector/IResolutionFunction2D.h b/Core/Detector/IResolutionFunction2D.h index f97ceb2b718..f6702a73666 100644 --- a/Core/Detector/IResolutionFunction2D.h +++ b/Core/Detector/IResolutionFunction2D.h @@ -21,7 +21,7 @@ //! Interface providing two-dimensional resolution function. //! @ingroup algorithms_internal -class BA_CORE_API_ IResolutionFunction2D : public ICloneable, public INode +class IResolutionFunction2D : public ICloneable, public INode { public: IResolutionFunction2D() = default; diff --git a/Core/Detector/IsGISAXSDetector.h b/Core/Detector/IsGISAXSDetector.h index 9dbe5d724d8..0bfdc109ed1 100644 --- a/Core/Detector/IsGISAXSDetector.h +++ b/Core/Detector/IsGISAXSDetector.h @@ -20,7 +20,7 @@ //! A spherical detector used for validation with IsGISAXS results. //! @ingroup detector -class BA_CORE_API_ IsGISAXSDetector : public SphericalDetector +class IsGISAXSDetector : public SphericalDetector { public: IsGISAXSDetector(); diff --git a/Core/Detector/RectangularDetector.h b/Core/Detector/RectangularDetector.h index 3e6150cbff1..d5e2b9cf91c 100644 --- a/Core/Detector/RectangularDetector.h +++ b/Core/Detector/RectangularDetector.h @@ -23,7 +23,7 @@ class RectangularPixel; //! A flat rectangular detector with axes and resolution function. //! @ingroup detector -class BA_CORE_API_ RectangularDetector : public IDetector2D +class RectangularDetector : public IDetector2D { public: enum EDetectorArrangement { diff --git a/Core/Detector/RectangularPixel.h b/Core/Detector/RectangularPixel.h index c9589c73198..91e6976b452 100644 --- a/Core/Detector/RectangularPixel.h +++ b/Core/Detector/RectangularPixel.h @@ -19,7 +19,7 @@ //! A pixel in a RectangularDetector. -class BA_CORE_API_ RectangularPixel : public IPixel +class RectangularPixel : public IPixel { public: RectangularPixel(kvector_t corner_pos, kvector_t width, kvector_t height); diff --git a/Core/Detector/RegionOfInterest.h b/Core/Detector/RegionOfInterest.h index c03ed3c67b8..325c1cb7a83 100644 --- a/Core/Detector/RegionOfInterest.h +++ b/Core/Detector/RegionOfInterest.h @@ -27,7 +27,7 @@ template <class T> class OutputData; //! Defines rectangular area for the detector which will be simulated/fitted. //! @ingroup detector -class BA_CORE_API_ RegionOfInterest : public ICloneable +class RegionOfInterest : public ICloneable { public: RegionOfInterest(const IDetector2D& detector, double xlow, double ylow, double xup, double yup); diff --git a/Core/Detector/ResolutionFunction2DGaussian.h b/Core/Detector/ResolutionFunction2DGaussian.h index 35311b72651..8c863849b2a 100644 --- a/Core/Detector/ResolutionFunction2DGaussian.h +++ b/Core/Detector/ResolutionFunction2DGaussian.h @@ -20,7 +20,7 @@ //! Simple gaussian two-dimensional resolution function. //! @ingroup algorithms_internal -class BA_CORE_API_ ResolutionFunction2DGaussian : public IResolutionFunction2D +class ResolutionFunction2DGaussian : public IResolutionFunction2D { public: ResolutionFunction2DGaussian(double sigma_x, double sigma_y); diff --git a/Core/Detector/ScanResolution.h b/Core/Detector/ScanResolution.h index 9b986054626..cc873001f32 100644 --- a/Core/Detector/ScanResolution.h +++ b/Core/Detector/ScanResolution.h @@ -25,7 +25,7 @@ class RangedDistribution; class RealLimits; //! Container for reflectivity resolution data. -class BA_CORE_API_ ScanResolution : public ICloneable +class ScanResolution : public ICloneable { protected: using DistrOutput = std::vector<std::vector<ParameterSample>>; diff --git a/Core/Detector/SimulationArea.h b/Core/Detector/SimulationArea.h index ded320387e3..156e0aa96bd 100644 --- a/Core/Detector/SimulationArea.h +++ b/Core/Detector/SimulationArea.h @@ -16,7 +16,6 @@ #define BORNAGAIN_CORE_DETECTOR_SIMULATIONAREA_H #include "Core/Detector/SimulationAreaIterator.h" -#include "Wrap/WinDllMacros.h" class IDetector; @@ -24,7 +23,7 @@ class IDetector; //! and RegionOfInterest defined. //! @ingroup detector -class BA_CORE_API_ SimulationArea +class SimulationArea { public: using iterator = SimulationAreaIterator; @@ -59,7 +58,7 @@ inline size_t SimulationArea::totalSize() const //! to SimulationArea class, iterates also over masked areas. //! @ingroup detector -class BA_CORE_API_ SimulationRoiArea : public SimulationArea +class SimulationRoiArea : public SimulationArea { public: explicit SimulationRoiArea(const IDetector* detector); diff --git a/Core/Detector/SimulationAreaIterator.h b/Core/Detector/SimulationAreaIterator.h index 5f6dcd45688..04ba8389ed9 100644 --- a/Core/Detector/SimulationAreaIterator.h +++ b/Core/Detector/SimulationAreaIterator.h @@ -15,14 +15,13 @@ #ifndef BORNAGAIN_CORE_DETECTOR_SIMULATIONAREAITERATOR_H #define BORNAGAIN_CORE_DETECTOR_SIMULATIONAREAITERATOR_H -#include "Wrap/WinDllMacros.h" #include <cstdlib> class SimulationArea; //! An iterator for SimulationArea. //! @ingroup detector -class BA_CORE_API_ SimulationAreaIterator +class SimulationAreaIterator { public: explicit SimulationAreaIterator(const SimulationArea* area, size_t start_at_index); diff --git a/Core/Detector/SpecularDetector1D.h b/Core/Detector/SpecularDetector1D.h index 5f152964f80..b774c051816 100644 --- a/Core/Detector/SpecularDetector1D.h +++ b/Core/Detector/SpecularDetector1D.h @@ -22,7 +22,7 @@ class SpecularSimulationElement; //! 1D detector for specular simulations. Use of this detector is deprecated. //! @ingroup detector -class BA_CORE_API_ SpecularDetector1D : public IDetector +class SpecularDetector1D : public IDetector { public: SpecularDetector1D(const IAxis& axis); diff --git a/Core/Detector/SphericalDetector.h b/Core/Detector/SphericalDetector.h index 86ae5e72fc2..41d7b25b3f2 100644 --- a/Core/Detector/SphericalDetector.h +++ b/Core/Detector/SphericalDetector.h @@ -23,7 +23,7 @@ class SphericalPixel; //! A spherical detector with axes and resolution function. //! @ingroup detector -class BA_CORE_API_ SphericalDetector : public IDetector2D +class SphericalDetector : public IDetector2D { public: SphericalDetector(); diff --git a/Core/Detector/SphericalPixel.h b/Core/Detector/SphericalPixel.h index ff260e224a0..7cadd2d964f 100644 --- a/Core/Detector/SphericalPixel.h +++ b/Core/Detector/SphericalPixel.h @@ -21,7 +21,7 @@ struct Bin1D; //! A pixel in a SphericalDetector -class BA_CORE_API_ SphericalPixel : public IPixel +class SphericalPixel : public IPixel { public: SphericalPixel(const Bin1D& alpha_bin, const Bin1D& phi_bin); diff --git a/Core/Export/ExportToPython.h b/Core/Export/ExportToPython.h index c57e788d32c..62e55243517 100644 --- a/Core/Export/ExportToPython.h +++ b/Core/Export/ExportToPython.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_EXPORT_EXPORTTOPYTHON_H #define BORNAGAIN_CORE_EXPORT_EXPORTTOPYTHON_H -#include "Wrap/WinDllMacros.h" #include <string> class MultiLayer; @@ -26,9 +25,9 @@ class Simulation; namespace ExportToPython { -BA_CORE_API_ std::string generateSampleCode(const MultiLayer& multilayer); -BA_CORE_API_ std::string generateSimulationCode(const Simulation& simulation); -BA_CORE_API_ std::string generatePyExportTest(const Simulation& simulation); +std::string generateSampleCode(const MultiLayer& multilayer); +std::string generateSimulationCode(const Simulation& simulation); +std::string generatePyExportTest(const Simulation& simulation); } // namespace ExportToPython diff --git a/Core/Export/SampleLabelHandler.h b/Core/Export/SampleLabelHandler.h index b9fe315be32..65763eb2b07 100644 --- a/Core/Export/SampleLabelHandler.h +++ b/Core/Export/SampleLabelHandler.h @@ -42,7 +42,7 @@ template <class Key> class LabelMap : public OrderedMap<Key, std::string> //! The handler which construct labels for sample variables during python script generation. //! @ingroup tools_internal -class BA_CORE_API_ SampleLabelHandler +class SampleLabelHandler { public: typedef LabelMap<const Crystal*> crystals_t; diff --git a/Core/Export/SampleToPython.h b/Core/Export/SampleToPython.h index 199e9cb1943..4f9caa5b3b3 100644 --- a/Core/Export/SampleToPython.h +++ b/Core/Export/SampleToPython.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_EXPORT_SAMPLETOPYTHON_H #define BORNAGAIN_CORE_EXPORT_SAMPLETOPYTHON_H -#include "Wrap/WinDllMacros.h" #include <memory> #include <string> @@ -25,7 +24,7 @@ class SampleLabelHandler; //! Generates Python code snippet from domain (C++) objects representing sample construction. -class BA_CORE_API_ SampleToPython +class SampleToPython { public: SampleToPython(); diff --git a/Core/Export/SimulationToPython.h b/Core/Export/SimulationToPython.h index ef4b0d5912f..19586628d8a 100644 --- a/Core/Export/SimulationToPython.h +++ b/Core/Export/SimulationToPython.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_EXPORT_SIMULATIONTOPYTHON_H #define BORNAGAIN_CORE_EXPORT_SIMULATIONTOPYTHON_H -#include "Wrap/WinDllMacros.h" #include <memory> #include <string> @@ -28,7 +27,7 @@ class SpecularSimulation; //! Write a Python script that allows to run the current simulation. -class BA_CORE_API_ SimulationToPython +class SimulationToPython { public: enum EMainType { diff --git a/Core/Fitting/FitObjective.h b/Core/Fitting/FitObjective.h index 1522fa41538..416ae9e7f58 100644 --- a/Core/Fitting/FitObjective.h +++ b/Core/Fitting/FitObjective.h @@ -32,7 +32,7 @@ class PyObserverCallback; //! Holds vector of `SimDataPair`s (experimental data and simulation results) for use in fitting. //! @ingroup fitting_internal -class BA_CORE_API_ FitObjective +class FitObjective { static simulation_builder_t simulationBuilder(PyBuilderCallback& callback); diff --git a/Core/Fitting/FitPrintService.h b/Core/Fitting/FitPrintService.h index be56ef8665b..a17da81d8e8 100644 --- a/Core/Fitting/FitPrintService.h +++ b/Core/Fitting/FitPrintService.h @@ -16,14 +16,13 @@ #define BORNAGAIN_CORE_FITTING_FITPRINTSERVICE_H #include "Fit/Tools/WallclockTimer.h" -#include "Wrap/WinDllMacros.h" #include <string> class FitObjective; //! Prints fit statistics to standard output during minimizer iterations. -class BA_CORE_API_ FitPrintService +class FitPrintService { public: FitPrintService(); diff --git a/Core/Fitting/FitStatus.h b/Core/Fitting/FitStatus.h index 003ebb16425..db435ce43ef 100644 --- a/Core/Fitting/FitStatus.h +++ b/Core/Fitting/FitStatus.h @@ -18,7 +18,6 @@ #include "Core/Fitting/FitObserver.h" #include "Core/Fitting/FitTypes.h" #include "Core/Fitting/IterationInfo.h" -#include "Wrap/WinDllMacros.h" #include <functional> #include <vector> @@ -33,7 +32,7 @@ class FitPrintService; //! information which has to be collected during the fit. //! Owned by FitObjective. -class BA_CORE_API_ FitStatus +class FitStatus { public: FitStatus(const FitObjective* fit_objective); diff --git a/Core/Fitting/FitTypes.h b/Core/Fitting/FitTypes.h index 7844f04e9b7..9b99306a18c 100644 --- a/Core/Fitting/FitTypes.h +++ b/Core/Fitting/FitTypes.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_FITTING_FITTYPES_H #define BORNAGAIN_CORE_FITTING_FITTYPES_H -#include "Wrap/WinDllMacros.h" #include <functional> #include <memory> diff --git a/Core/Fitting/IObserver.h b/Core/Fitting/IObserver.h index 8e5529f708f..83f1cc46e43 100644 --- a/Core/Fitting/IObserver.h +++ b/Core/Fitting/IObserver.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_FITTING_IOBSERVER_H #define BORNAGAIN_CORE_FITTING_IOBSERVER_H -#include "Wrap/WinDllMacros.h" #include <list> #include <memory> @@ -24,7 +23,7 @@ class IObservable; //! Observer interface from %Observer pattern. //! @ingroup tools_internal -class BA_CORE_API_ IObserver +class IObserver { public: virtual ~IObserver(); @@ -36,7 +35,7 @@ public: //! Observable interface from %Observer pattern //! @ingroup tools_internal -class BA_CORE_API_ IObservable +class IObservable { public: //! Shared pointer is used when passing these objects from Python to C++ diff --git a/Core/Fitting/IterationInfo.h b/Core/Fitting/IterationInfo.h index 04f7f363a9c..5c009f46f4c 100644 --- a/Core/Fitting/IterationInfo.h +++ b/Core/Fitting/IterationInfo.h @@ -16,14 +16,13 @@ #define BORNAGAIN_CORE_FITTING_ITERATIONINFO_H #include "Fit/Kernel/Parameters.h" -#include "Wrap/WinDllMacros.h" #include <map> #include <string> //! Stores fit iteration info to track fit flow from various observers. //! Used in context of FitObjective. -class BA_CORE_API_ IterationInfo +class IterationInfo { public: IterationInfo(); diff --git a/Core/Fitting/ObjectiveMetric.h b/Core/Fitting/ObjectiveMetric.h index 3da96648ef9..558aa6180e9 100644 --- a/Core/Fitting/ObjectiveMetric.h +++ b/Core/Fitting/ObjectiveMetric.h @@ -23,7 +23,7 @@ class SimDataPair; //! Base class for metric implementations -class BA_CORE_API_ ObjectiveMetric : public ICloneable +class ObjectiveMetric : public ICloneable { public: ObjectiveMetric(std::function<double(double)> norm); @@ -70,7 +70,7 @@ private: //! derived from maximum likelihood with Gaussian uncertainties. //! With default L2 norm corresponds to the formula //! \f[\chi^2 = \sum \frac{(I - D)^2}{\delta_D^2}\f] -class BA_CORE_API_ Chi2Metric : public ObjectiveMetric +class Chi2Metric : public ObjectiveMetric { public: Chi2Metric(); @@ -106,7 +106,7 @@ public: //! \f[\chi^2 = \sum \frac{(I - D)^2}{max(I, 1)}\f] //! for unweighted experimental data. Falls to standard //! Chi2Metric when data uncertainties are taken into account. -class BA_CORE_API_ PoissonLikeMetric : public Chi2Metric +class PoissonLikeMetric : public Chi2Metric { public: PoissonLikeMetric(); @@ -130,7 +130,7 @@ public: //! being replaced by \f$ \log_{10} I \f$ and \f$\log_{10} D\f$ accordingly. //! With default L2 norm corresponds to the formula //! \f[\chi^2 = \sum \frac{(\log_{10} I - log_{10} D)^2 D^2 \ln^2{10}}{\delta_D^2}\f] -class BA_CORE_API_ LogMetric : public ObjectiveMetric +class LogMetric : public ObjectiveMetric { public: LogMetric(); @@ -164,7 +164,7 @@ public: //! \f[Result = \sum \frac{(I - D)^2}{(I + D)^2}\f] //! where \f$I\f$ is the simulated intensity, \f$D\f$ - experimental data. //! If weighting is on, falls back to the standard \f$\chi^2\f$ metric. -class BA_CORE_API_ RelativeDifferenceMetric : public Chi2Metric +class RelativeDifferenceMetric : public Chi2Metric { public: RelativeDifferenceMetric(); @@ -188,7 +188,7 @@ public: //! \f[Result = \sum (I \cdot Q^4 - D \cdot Q^4)^2\f] //! where \f$Q\f$ is the scattering vector magnitude. If weighting is on, //! coincides with the metric provided by Chi2Metric class. -class BA_CORE_API_ RQ4Metric : public Chi2Metric +class RQ4Metric : public Chi2Metric { public: RQ4Metric(); diff --git a/Core/Fitting/ObjectiveMetricUtils.h b/Core/Fitting/ObjectiveMetricUtils.h index e8ad28501e5..19a19fc0e60 100644 --- a/Core/Fitting/ObjectiveMetricUtils.h +++ b/Core/Fitting/ObjectiveMetricUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_FITTING_OBJECTIVEMETRICUTILS_H #define BORNAGAIN_CORE_FITTING_OBJECTIVEMETRICUTILS_H -#include "Wrap/WinDllMacros.h" #include <functional> #include <memory> #include <string> @@ -26,30 +25,30 @@ class ObjectiveMetric; namespace ObjectiveMetricUtils { //! Returns L1 normalization function. -BA_CORE_API_ const std::function<double(double)> l1Norm(); +const std::function<double(double)> l1Norm(); //! Returns L2 normalization function. -BA_CORE_API_ const std::function<double(double)> l2Norm(); +const std::function<double(double)> l2Norm(); //! Creates the specified metric with the default norm. -BA_CORE_API_ std::unique_ptr<ObjectiveMetric> createMetric(const std::string& metric); +std::unique_ptr<ObjectiveMetric> createMetric(const std::string& metric); //! Creates the metric with the specified norm -BA_CORE_API_ std::unique_ptr<ObjectiveMetric> createMetric(std::string metric, std::string norm); +std::unique_ptr<ObjectiveMetric> createMetric(std::string metric, std::string norm); //! Prints available metric options -BA_CORE_API_ std::string availableMetricOptions(); +std::string availableMetricOptions(); //! Returns the names of the norms used by ObjectiveMetric. -BA_CORE_API_ std::vector<std::string> normNames(); +std::vector<std::string> normNames(); //! Returns the names of the objective metrics used. -BA_CORE_API_ std::vector<std::string> metricNames(); +std::vector<std::string> metricNames(); //! Returns default norm name. -BA_CORE_API_ std::string defaultNormName(); +std::string defaultNormName(); //! Returns default metric name. -BA_CORE_API_ std::string defaultMetricName(); +std::string defaultMetricName(); } // namespace ObjectiveMetricUtils #endif // BORNAGAIN_CORE_FITTING_OBJECTIVEMETRICUTILS_H diff --git a/Core/Fitting/PyFittingCallbacks.h b/Core/Fitting/PyFittingCallbacks.h index 6c57ccdc52a..39b2c157551 100644 --- a/Core/Fitting/PyFittingCallbacks.h +++ b/Core/Fitting/PyFittingCallbacks.h @@ -18,7 +18,6 @@ //! Collection of wrapper classes to call Python callable from C++. #include "Fit/Kernel/Parameters.h" -#include "Wrap/WinDllMacros.h" class Simulation; @@ -26,7 +25,7 @@ class Simulation; //! 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_ PyBuilderCallback +class PyBuilderCallback { public: PyBuilderCallback(); @@ -41,7 +40,7 @@ class FitObjective; //! 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_ PyObserverCallback +class PyObserverCallback { public: PyObserverCallback(); diff --git a/Core/Fitting/SimDataPair.h b/Core/Fitting/SimDataPair.h index 49f704921d0..456a1d9601d 100644 --- a/Core/Fitting/SimDataPair.h +++ b/Core/Fitting/SimDataPair.h @@ -22,7 +22,7 @@ template <class T> class OutputData; //! Holds pair of simulation/experimental data to fit. -class BA_CORE_API_ SimDataPair +class SimDataPair { public: //! Constructs simulation/data pair for later fit. diff --git a/Core/HardParticle/FormFactorAnisoPyramid.h b/Core/HardParticle/FormFactorAnisoPyramid.h index 9b611f65c96..ba483d750d0 100644 --- a/Core/HardParticle/FormFactorAnisoPyramid.h +++ b/Core/HardParticle/FormFactorAnisoPyramid.h @@ -20,7 +20,7 @@ //! A frustum (truncated pyramid) with rectangular base. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorAnisoPyramid : public IFormFactorPolyhedron +class FormFactorAnisoPyramid : public IFormFactorPolyhedron { public: FormFactorAnisoPyramid(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorBar.h b/Core/HardParticle/FormFactorBar.h index fe3569c5b89..0f8c0dada56 100644 --- a/Core/HardParticle/FormFactorBar.h +++ b/Core/HardParticle/FormFactorBar.h @@ -19,7 +19,7 @@ //! The form factor of an elongated bar, with Gaussian profile in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorBarGauss : public IProfileRectangularRipple +class FormFactorBarGauss : public IProfileRectangularRipple { public: FormFactorBarGauss(const std::vector<double> P); @@ -33,7 +33,7 @@ private: //! The form factor of an elongated, with Lorentz form factor in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorBarLorentz : public IProfileRectangularRipple +class FormFactorBarLorentz : public IProfileRectangularRipple { public: FormFactorBarLorentz(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorBox.h b/Core/HardParticle/FormFactorBox.h index 96ad5644723..d4339f9f597 100644 --- a/Core/HardParticle/FormFactorBox.h +++ b/Core/HardParticle/FormFactorBox.h @@ -20,7 +20,7 @@ //! A rectangular prism (parallelepiped). //! @ingroup hardParticle -class BA_CORE_API_ FormFactorBox : public IFormFactorPrism +class FormFactorBox : public IFormFactorPrism { public: FormFactorBox(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorCantellatedCube.h b/Core/HardParticle/FormFactorCantellatedCube.h index 59282a3bcaa..e308faa8836 100644 --- a/Core/HardParticle/FormFactorCantellatedCube.h +++ b/Core/HardParticle/FormFactorCantellatedCube.h @@ -20,7 +20,7 @@ //! A cube, with truncation of all edges and corners, as in Croset (2017) Fig 7 //! @ingroup hardParticle -class BA_CORE_API_ FormFactorCantellatedCube : public IFormFactorPolyhedron +class FormFactorCantellatedCube : public IFormFactorPolyhedron { public: FormFactorCantellatedCube(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorCone.h b/Core/HardParticle/FormFactorCone.h index ff8b31ada3d..429894816ae 100644 --- a/Core/HardParticle/FormFactorCone.h +++ b/Core/HardParticle/FormFactorCone.h @@ -20,7 +20,7 @@ //! A conical frustum (cone truncated parallel to the base) with circular base. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorCone : public IFormFactorBorn +class FormFactorCone : public IFormFactorBorn { public: FormFactorCone(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorCone6.h b/Core/HardParticle/FormFactorCone6.h index 105ec353519..7a535b13591 100644 --- a/Core/HardParticle/FormFactorCone6.h +++ b/Core/HardParticle/FormFactorCone6.h @@ -20,7 +20,7 @@ //! A frustum (truncated pyramid) with regular hexagonal base. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorCone6 : public IFormFactorPolyhedron +class FormFactorCone6 : public IFormFactorPolyhedron { public: FormFactorCone6(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorCosineRipple.h b/Core/HardParticle/FormFactorCosineRipple.h index 863396cc177..3f422c183da 100644 --- a/Core/HardParticle/FormFactorCosineRipple.h +++ b/Core/HardParticle/FormFactorCosineRipple.h @@ -19,7 +19,7 @@ //! The form factor for a cosine ripple, with box profile in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorCosineRippleBox : public ICosineRipple +class FormFactorCosineRippleBox : public ICosineRipple { public: FormFactorCosineRippleBox(const std::vector<double> P); @@ -33,7 +33,7 @@ private: //! The form factor for a cosine ripple, with Gaussian profile in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorCosineRippleGauss : public ICosineRipple +class FormFactorCosineRippleGauss : public ICosineRipple { public: FormFactorCosineRippleGauss(const std::vector<double> P); @@ -47,7 +47,7 @@ private: //! The form factor for a cosine ripple, with Lorentz form factor in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorCosineRippleLorentz : public ICosineRipple +class FormFactorCosineRippleLorentz : public ICosineRipple { public: FormFactorCosineRippleLorentz(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorCuboctahedron.h b/Core/HardParticle/FormFactorCuboctahedron.h index 2cd3d5df794..f485c11c588 100644 --- a/Core/HardParticle/FormFactorCuboctahedron.h +++ b/Core/HardParticle/FormFactorCuboctahedron.h @@ -20,7 +20,7 @@ //! A truncated bifrustum with quadratic base. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorCuboctahedron : public IFormFactorPolyhedron +class FormFactorCuboctahedron : public IFormFactorPolyhedron { public: FormFactorCuboctahedron(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorDodecahedron.h b/Core/HardParticle/FormFactorDodecahedron.h index 909537b554c..040aa8e98cc 100644 --- a/Core/HardParticle/FormFactorDodecahedron.h +++ b/Core/HardParticle/FormFactorDodecahedron.h @@ -20,7 +20,7 @@ //! A regular dodecahedron. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorDodecahedron : public IFormFactorPolyhedron +class FormFactorDodecahedron : public IFormFactorPolyhedron { public: //! @brief Constructs a regular dodecahedron diff --git a/Core/HardParticle/FormFactorDot.h b/Core/HardParticle/FormFactorDot.h index 99f16ec1060..30b7767945c 100644 --- a/Core/HardParticle/FormFactorDot.h +++ b/Core/HardParticle/FormFactorDot.h @@ -20,7 +20,7 @@ //! A dot, with scattering power as a sphere of radius rscat, but with F(q)=const. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorDot : public IFormFactorBorn +class FormFactorDot : public IFormFactorBorn { public: FormFactorDot(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorEllipsoidalCylinder.h b/Core/HardParticle/FormFactorEllipsoidalCylinder.h index 910a2027077..d749461e446 100644 --- a/Core/HardParticle/FormFactorEllipsoidalCylinder.h +++ b/Core/HardParticle/FormFactorEllipsoidalCylinder.h @@ -20,7 +20,7 @@ //! A cylinder with elliptical base. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorEllipsoidalCylinder : public IFormFactorBorn +class FormFactorEllipsoidalCylinder : public IFormFactorBorn { public: FormFactorEllipsoidalCylinder(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorFullSphere.h b/Core/HardParticle/FormFactorFullSphere.h index eced2bd2f9f..8e7af272959 100644 --- a/Core/HardParticle/FormFactorFullSphere.h +++ b/Core/HardParticle/FormFactorFullSphere.h @@ -20,7 +20,7 @@ //! A full sphere. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorFullSphere : public IFormFactorBorn +class FormFactorFullSphere : public IFormFactorBorn { public: FormFactorFullSphere(const std::vector<double> P, bool position_at_center = false); diff --git a/Core/HardParticle/FormFactorFullSpheroid.h b/Core/HardParticle/FormFactorFullSpheroid.h index 18afd0b5ffa..89aabb68b55 100644 --- a/Core/HardParticle/FormFactorFullSpheroid.h +++ b/Core/HardParticle/FormFactorFullSpheroid.h @@ -20,7 +20,7 @@ //! A full spheroid (an ellipsoid with two equal axes, hence with circular cross section) //! @ingroup hardParticle -class BA_CORE_API_ FormFactorFullSpheroid : public IFormFactorBorn +class FormFactorFullSpheroid : public IFormFactorBorn { public: FormFactorFullSpheroid(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorHemiEllipsoid.h b/Core/HardParticle/FormFactorHemiEllipsoid.h index 7453c429dea..aec0e8f39da 100644 --- a/Core/HardParticle/FormFactorHemiEllipsoid.h +++ b/Core/HardParticle/FormFactorHemiEllipsoid.h @@ -21,7 +21,7 @@ //! obtained by truncating a full ellipsoid in the middle plane spanned by two principal axes. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorHemiEllipsoid : public IFormFactorBorn +class FormFactorHemiEllipsoid : public IFormFactorBorn { public: FormFactorHemiEllipsoid(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorHollowSphere.h b/Core/HardParticle/FormFactorHollowSphere.h index d08ceb7f05f..16d43b75cca 100644 --- a/Core/HardParticle/FormFactorHollowSphere.h +++ b/Core/HardParticle/FormFactorHollowSphere.h @@ -20,7 +20,7 @@ //! Integrated full sphere form factor over a uniform distribution of radii. //! @ingroup softParticle -class BA_CORE_API_ FormFactorHollowSphere : public IFormFactorBorn +class FormFactorHollowSphere : public IFormFactorBorn { public: FormFactorHollowSphere(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorIcosahedron.h b/Core/HardParticle/FormFactorIcosahedron.h index 95a65db811d..ae56d6f71af 100644 --- a/Core/HardParticle/FormFactorIcosahedron.h +++ b/Core/HardParticle/FormFactorIcosahedron.h @@ -20,7 +20,7 @@ //! A regular icosahedron. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorIcosahedron : public IFormFactorPolyhedron +class FormFactorIcosahedron : public IFormFactorPolyhedron { public: FormFactorIcosahedron(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorLongBoxGauss.h b/Core/HardParticle/FormFactorLongBoxGauss.h index a1e74f842a2..1a3a5162348 100644 --- a/Core/HardParticle/FormFactorLongBoxGauss.h +++ b/Core/HardParticle/FormFactorLongBoxGauss.h @@ -20,7 +20,7 @@ //! The form factor for a long rectangular box. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorLongBoxGauss : public IFormFactorBorn +class FormFactorLongBoxGauss : public IFormFactorBorn { public: //! @brief Box constructor diff --git a/Core/HardParticle/FormFactorLongBoxLorentz.h b/Core/HardParticle/FormFactorLongBoxLorentz.h index b36a799eed5..90eb44699cb 100644 --- a/Core/HardParticle/FormFactorLongBoxLorentz.h +++ b/Core/HardParticle/FormFactorLongBoxLorentz.h @@ -20,7 +20,7 @@ //! The form factor for a long rectangular box. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorLongBoxLorentz : public IFormFactorBorn +class FormFactorLongBoxLorentz : public IFormFactorBorn { public: //! @brief Box constructor diff --git a/Core/HardParticle/FormFactorPrism3.h b/Core/HardParticle/FormFactorPrism3.h index 5d53a51d1ba..d5d71fc469b 100644 --- a/Core/HardParticle/FormFactorPrism3.h +++ b/Core/HardParticle/FormFactorPrism3.h @@ -20,7 +20,7 @@ //! A prism based on an equilateral triangle. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorPrism3 : public IFormFactorPrism +class FormFactorPrism3 : public IFormFactorPrism { public: FormFactorPrism3(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorPrism6.h b/Core/HardParticle/FormFactorPrism6.h index 3262fef68c7..5d4e744b5b8 100644 --- a/Core/HardParticle/FormFactorPrism6.h +++ b/Core/HardParticle/FormFactorPrism6.h @@ -20,7 +20,7 @@ //! A prism based on a regular hexagonal. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorPrism6 : public IFormFactorPrism +class FormFactorPrism6 : public IFormFactorPrism { public: FormFactorPrism6(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorPyramid.h b/Core/HardParticle/FormFactorPyramid.h index 3c8e5ae1fd8..a88ed799bfc 100644 --- a/Core/HardParticle/FormFactorPyramid.h +++ b/Core/HardParticle/FormFactorPyramid.h @@ -20,7 +20,7 @@ //! A frustum with a quadratic base. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorPyramid : public IFormFactorPolyhedron +class FormFactorPyramid : public IFormFactorPolyhedron { public: FormFactorPyramid(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorSawtoothRipple.h b/Core/HardParticle/FormFactorSawtoothRipple.h index 3637acaa3b7..503fa64a4c3 100644 --- a/Core/HardParticle/FormFactorSawtoothRipple.h +++ b/Core/HardParticle/FormFactorSawtoothRipple.h @@ -19,7 +19,7 @@ //! The form factor for a cosine ripple, with box profile in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorSawtoothRippleBox : public ISawtoothRipple +class FormFactorSawtoothRippleBox : public ISawtoothRipple { public: FormFactorSawtoothRippleBox(const std::vector<double> P); @@ -33,7 +33,7 @@ private: //! The form factor for a cosine ripple, with Gaussian profile in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorSawtoothRippleGauss : public ISawtoothRipple +class FormFactorSawtoothRippleGauss : public ISawtoothRipple { public: FormFactorSawtoothRippleGauss(const std::vector<double> P); @@ -47,7 +47,7 @@ private: //! The form factor for a cosine ripple, with Lorentz form factor in elongation direction. //! @ingroup legacyGrating -class BA_CORE_API_ FormFactorSawtoothRippleLorentz : public ISawtoothRipple +class FormFactorSawtoothRippleLorentz : public ISawtoothRipple { public: FormFactorSawtoothRippleLorentz(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorTetrahedron.h b/Core/HardParticle/FormFactorTetrahedron.h index 8ebf0999c59..76d8d6abb62 100644 --- a/Core/HardParticle/FormFactorTetrahedron.h +++ b/Core/HardParticle/FormFactorTetrahedron.h @@ -20,7 +20,7 @@ //! A frustum with equilateral trigonal base. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorTetrahedron : public IFormFactorPolyhedron +class FormFactorTetrahedron : public IFormFactorPolyhedron { public: FormFactorTetrahedron(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorTruncatedCube.h b/Core/HardParticle/FormFactorTruncatedCube.h index 0e5433efcb2..0b080c75196 100644 --- a/Core/HardParticle/FormFactorTruncatedCube.h +++ b/Core/HardParticle/FormFactorTruncatedCube.h @@ -20,7 +20,7 @@ //! A cube, with tetrahedral truncation of all corners //! @ingroup hardParticle -class BA_CORE_API_ FormFactorTruncatedCube : public IFormFactorPolyhedron +class FormFactorTruncatedCube : public IFormFactorPolyhedron { public: FormFactorTruncatedCube(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorTruncatedSphere.h b/Core/HardParticle/FormFactorTruncatedSphere.h index aaab6b54cd4..ade3ff1f765 100644 --- a/Core/HardParticle/FormFactorTruncatedSphere.h +++ b/Core/HardParticle/FormFactorTruncatedSphere.h @@ -20,7 +20,7 @@ //! A truncated Sphere. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorTruncatedSphere : public IFormFactorBorn +class FormFactorTruncatedSphere : public IFormFactorBorn { public: FormFactorTruncatedSphere(const std::vector<double> P); diff --git a/Core/HardParticle/FormFactorTruncatedSpheroid.h b/Core/HardParticle/FormFactorTruncatedSpheroid.h index 887fa7a8ae2..be7b1e19cfd 100644 --- a/Core/HardParticle/FormFactorTruncatedSpheroid.h +++ b/Core/HardParticle/FormFactorTruncatedSpheroid.h @@ -21,7 +21,7 @@ //! An ellipsoid with two equal axis, truncated by a plane perpendicular to the third axis. //! @ingroup hardParticle -class BA_CORE_API_ FormFactorTruncatedSpheroid : public IFormFactorBorn +class FormFactorTruncatedSpheroid : public IFormFactorBorn { public: FormFactorTruncatedSpheroid(const std::vector<double> P); diff --git a/Core/HardParticle/IFormFactorPolyhedron.h b/Core/HardParticle/IFormFactorPolyhedron.h index 6adb96cf4a1..b47d3b0670a 100644 --- a/Core/HardParticle/IFormFactorPolyhedron.h +++ b/Core/HardParticle/IFormFactorPolyhedron.h @@ -23,7 +23,7 @@ class Polyhedron; //! A polyhedron, for form factor computation. -class BA_CORE_API_ IFormFactorPolyhedron : public IFormFactorBorn +class IFormFactorPolyhedron : public IFormFactorBorn { public: #ifdef POLYHEDRAL_DIAGNOSTIC diff --git a/Core/HardParticle/IFormFactorPrism.h b/Core/HardParticle/IFormFactorPrism.h index 3ebc35a9c54..5e6242fec7f 100644 --- a/Core/HardParticle/IFormFactorPrism.h +++ b/Core/HardParticle/IFormFactorPrism.h @@ -22,7 +22,7 @@ class Prism; //! A prism with a polygonal base, for form factor computation. -class BA_CORE_API_ IFormFactorPrism : public IFormFactorBorn +class IFormFactorPrism : public IFormFactorBorn { public: IFormFactorPrism(const NodeMeta& meta, const std::vector<double>& PValues); diff --git a/Core/HardParticle/IProfileRipple.h b/Core/HardParticle/IProfileRipple.h index c8c2be88181..7a3bae8580f 100644 --- a/Core/HardParticle/IProfileRipple.h +++ b/Core/HardParticle/IProfileRipple.h @@ -19,7 +19,7 @@ //! Base class for form factors with a cosine ripple profile in the yz plane. -class BA_CORE_API_ IProfileRipple : public IFormFactorBorn +class IProfileRipple : public IFormFactorBorn { public: IProfileRipple(const NodeMeta& meta, const std::vector<double>& PValues); @@ -44,7 +44,7 @@ protected: //! Base class for form factors with a rectangular ripple (bar) profile in the yz plane. -class BA_CORE_API_ IProfileRectangularRipple : public IProfileRipple +class IProfileRectangularRipple : public IProfileRipple { public: IProfileRectangularRipple(const NodeMeta& meta, const std::vector<double>& PValues); @@ -56,7 +56,7 @@ private: //! Base class for form factors with a cosine ripple profile in the yz plane. -class BA_CORE_API_ ICosineRipple : public IProfileRipple +class ICosineRipple : public IProfileRipple { public: ICosineRipple(const NodeMeta& meta, const std::vector<double>& PValues); @@ -68,7 +68,7 @@ private: //! Base class for form factors with a triangular ripple profile in the yz plane. -class BA_CORE_API_ ISawtoothRipple : public IProfileRipple +class ISawtoothRipple : public IProfileRipple { public: ISawtoothRipple(const NodeMeta& meta, const std::vector<double>& PValues); diff --git a/Core/HardParticle/Polyhedron.h b/Core/HardParticle/Polyhedron.h index 39c333b4ab0..295cf11e0d8 100644 --- a/Core/HardParticle/Polyhedron.h +++ b/Core/HardParticle/Polyhedron.h @@ -21,7 +21,7 @@ //! A polyhedron, implementation class for use in IFormFactorPolyhedron -class BA_CORE_API_ Polyhedron +class Polyhedron { public: Polyhedron() = delete; diff --git a/Core/HardParticle/Prism.h b/Core/HardParticle/Prism.h index 607888a67d6..1e4c508212b 100644 --- a/Core/HardParticle/Prism.h +++ b/Core/HardParticle/Prism.h @@ -19,7 +19,7 @@ #include "Core/HardParticle/PolyhedralTopology.h" #include <memory> -class BA_CORE_API_ Prism +class Prism { public: Prism() = delete; diff --git a/Core/InputOutput/DataFormatUtils.h b/Core/InputOutput/DataFormatUtils.h index 615ff8118df..9990373f879 100644 --- a/Core/InputOutput/DataFormatUtils.h +++ b/Core/InputOutput/DataFormatUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_INPUTOUTPUT_DATAFORMATUTILS_H #define BORNAGAIN_CORE_INPUTOUTPUT_DATAFORMATUTILS_H -#include "Wrap/WinDllMacros.h" #include <memory> #include <string> #include <vector> @@ -28,28 +27,28 @@ template <class T> class OutputData; namespace DataFormatUtils { //! Returns true if name contains *.gz extension -BA_CORE_API_ bool isCompressed(const std::string& name); +bool isCompressed(const std::string& name); //! Returns true if name contains *.gz extension -BA_CORE_API_ bool isGZipped(const std::string& name); +bool isGZipped(const std::string& name); //! Returns true if name contains *.bz2 extension -BA_CORE_API_ bool isBZipped(const std::string& name); +bool isBZipped(const std::string& name); //! Returns file extension after stripping '.gz' if any -BA_CORE_API_ std::string GetFileMainExtension(const std::string& name); +std::string GetFileMainExtension(const std::string& name); //! returns true if file name corresponds to BornAgain native format (compressed or not) -BA_CORE_API_ bool isIntFile(const std::string& file_name); +bool isIntFile(const std::string& file_name); //! returns true if file name corresponds to tiff file (can be also compressed) -BA_CORE_API_ bool isTiffFile(const std::string& file_name); +bool isTiffFile(const std::string& file_name); -BA_CORE_API_ std::unique_ptr<IAxis> createAxis(std::istream& input_stream); +std::unique_ptr<IAxis> createAxis(std::istream& input_stream); -BA_CORE_API_ void fillOutputData(OutputData<double>* data, std::istream& input_stream); +void fillOutputData(OutputData<double>* data, std::istream& input_stream); -BA_CORE_API_ std::vector<double> parse_doubles(const std::string& str); +std::vector<double> parse_doubles(const std::string& str); void readLineOfDoubles(std::vector<double>& buffer, std::istringstream& iss); } // namespace DataFormatUtils diff --git a/Core/InputOutput/IntensityDataIOFactory.h b/Core/InputOutput/IntensityDataIOFactory.h index 9c8f5260c00..3442df1996e 100644 --- a/Core/InputOutput/IntensityDataIOFactory.h +++ b/Core/InputOutput/IntensityDataIOFactory.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_INPUTOUTPUT_INTENSITYDATAIOFACTORY_H #define BORNAGAIN_CORE_INPUTOUTPUT_INTENSITYDATAIOFACTORY_H -#include "Wrap/WinDllMacros.h" #include <string> template <class T> class OutputData; @@ -44,7 +43,7 @@ IntensityDataIOFactory.writeIntensityData(histogram, "filename.tif.bz2") \endcode */ -class BA_CORE_API_ IntensityDataIOFactory +class IntensityDataIOFactory { public: //! Reads file and returns newly created OutputData object diff --git a/Core/InputOutput/OutputDataReadFactory.h b/Core/InputOutput/OutputDataReadFactory.h index 11991de8687..9c520b2cfd7 100644 --- a/Core/InputOutput/OutputDataReadFactory.h +++ b/Core/InputOutput/OutputDataReadFactory.h @@ -20,7 +20,7 @@ //! Creates reader appropariate for given type of files. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataReadFactory +class OutputDataReadFactory { public: static OutputDataReader* getReader(const std::string& file_name); diff --git a/Core/InputOutput/OutputDataReadStrategy.h b/Core/InputOutput/OutputDataReadStrategy.h index 6aa27c80965..925cc12146c 100644 --- a/Core/InputOutput/OutputDataReadStrategy.h +++ b/Core/InputOutput/OutputDataReadStrategy.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_INPUTOUTPUT_OUTPUTDATAREADSTRATEGY_H #define BORNAGAIN_CORE_INPUTOUTPUT_OUTPUTDATAREADSTRATEGY_H -#include "Wrap/WinDllMacros.h" #include <istream> template <class T> class OutputData; @@ -23,7 +22,7 @@ template <class T> class OutputData; //! Interface for reading strategy of OutputData from file. //! @ingroup input_output_internal -class BA_CORE_API_ IOutputDataReadStrategy +class IOutputDataReadStrategy { public: virtual ~IOutputDataReadStrategy() {} @@ -33,7 +32,7 @@ public: //! Strategy to read BornAgain native IntensityData from ASCII file. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataReadINTStrategy : public IOutputDataReadStrategy +class OutputDataReadINTStrategy : public IOutputDataReadStrategy { public: OutputData<double>* readOutputData(std::istream& input_stream); @@ -42,7 +41,7 @@ public: //! Strategy to read Reflectometry data from ASCII file. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataReadReflectometryStrategy : public IOutputDataReadStrategy +class OutputDataReadReflectometryStrategy : public IOutputDataReadStrategy { public: OutputData<double>* readOutputData(std::istream& input_stream); @@ -51,7 +50,7 @@ public: //! Strategy to read OutputData from simple ASCII file with the layout as in numpy.savetxt. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataReadNumpyTXTStrategy : public IOutputDataReadStrategy +class OutputDataReadNumpyTXTStrategy : public IOutputDataReadStrategy { public: OutputData<double>* readOutputData(std::istream& input_stream); @@ -64,7 +63,7 @@ class TiffHandler; //! Strategy to read a TIFF file. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataReadTiffStrategy : public IOutputDataReadStrategy +class OutputDataReadTiffStrategy : public IOutputDataReadStrategy { public: OutputDataReadTiffStrategy(); diff --git a/Core/InputOutput/OutputDataReader.h b/Core/InputOutput/OutputDataReader.h index 2587433072f..43977417326 100644 --- a/Core/InputOutput/OutputDataReader.h +++ b/Core/InputOutput/OutputDataReader.h @@ -23,7 +23,7 @@ template <class T> class OutputData; //! Reads OutputData from file using different reading strategies. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataReader +class OutputDataReader { public: OutputDataReader(const std::string& file_name); diff --git a/Core/InputOutput/OutputDataWriteFactory.h b/Core/InputOutput/OutputDataWriteFactory.h index a69c4824725..d57864d72d7 100644 --- a/Core/InputOutput/OutputDataWriteFactory.h +++ b/Core/InputOutput/OutputDataWriteFactory.h @@ -20,7 +20,7 @@ //! Creates writer appropariate for given type of files. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataWriteFactory +class OutputDataWriteFactory { public: static OutputDataWriter* getWriter(const std::string& file_name); diff --git a/Core/InputOutput/OutputDataWriteStrategy.h b/Core/InputOutput/OutputDataWriteStrategy.h index 742870bd3b0..34dcb7ceba1 100644 --- a/Core/InputOutput/OutputDataWriteStrategy.h +++ b/Core/InputOutput/OutputDataWriteStrategy.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_INPUTOUTPUT_OUTPUTDATAWRITESTRATEGY_H #define BORNAGAIN_CORE_INPUTOUTPUT_OUTPUTDATAWRITESTRATEGY_H -#include "Wrap/WinDllMacros.h" #include <istream> template <class T> class OutputData; @@ -23,7 +22,7 @@ template <class T> class OutputData; //! Strategy interface to write OututData in file //! @ingroup input_output_internal -class BA_CORE_API_ IOutputDataWriteStrategy +class IOutputDataWriteStrategy { public: IOutputDataWriteStrategy() {} @@ -35,7 +34,7 @@ public: //! Strategy to write OutputData to special BornAgain ASCII format //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataWriteINTStrategy : public IOutputDataWriteStrategy +class OutputDataWriteINTStrategy : public IOutputDataWriteStrategy { public: virtual void writeOutputData(const OutputData<double>& data, std::ostream& output_stream); @@ -44,7 +43,7 @@ public: //! Strategy to write OutputData to simple ASCII file with the layout as in numpy.savetxt //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataWriteNumpyTXTStrategy : public IOutputDataWriteStrategy +class OutputDataWriteNumpyTXTStrategy : public IOutputDataWriteStrategy { public: virtual void writeOutputData(const OutputData<double>& data, std::ostream& output_stream); @@ -57,7 +56,7 @@ class TiffHandler; //! Strategy to write OutputData to tiff files //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataWriteTiffStrategy : public IOutputDataWriteStrategy +class OutputDataWriteTiffStrategy : public IOutputDataWriteStrategy { public: OutputDataWriteTiffStrategy(); diff --git a/Core/InputOutput/OutputDataWriter.h b/Core/InputOutput/OutputDataWriter.h index d11a14db066..dcf702f864b 100644 --- a/Core/InputOutput/OutputDataWriter.h +++ b/Core/InputOutput/OutputDataWriter.h @@ -23,7 +23,7 @@ template <class T> class OutputData; //! Write OutputData to file using different witing strategies. //! @ingroup input_output_internal -class BA_CORE_API_ OutputDataWriter +class OutputDataWriter { public: OutputDataWriter(const std::string& file_name); diff --git a/Core/InputOutput/TiffHandler.h b/Core/InputOutput/TiffHandler.h index b77f7ef5b6f..b5a0adae2bd 100644 --- a/Core/InputOutput/TiffHandler.h +++ b/Core/InputOutput/TiffHandler.h @@ -24,7 +24,7 @@ //! Reads/write tiff files, should be used through TiffReadStrategy. //! @ingroup input_output_internal -class BA_CORE_API_ TiffHandler +class TiffHandler { public: TiffHandler(); diff --git a/Core/Instrument/AngularSpecScan.h b/Core/Instrument/AngularSpecScan.h index da1a2e5acdb..8a27b6112e1 100644 --- a/Core/Instrument/AngularSpecScan.h +++ b/Core/Instrument/AngularSpecScan.h @@ -24,7 +24,7 @@ class ScanResolution; //! Scan type with inclination angles as coordinate //! values and a unique wavelength. Features footprint correction. -class BA_CORE_API_ AngularSpecScan : public ISpecularScan +class AngularSpecScan : public ISpecularScan { public: AngularSpecScan(double wl, std::vector<double> inc_angle); diff --git a/Core/Instrument/ChiSquaredModule.h b/Core/Instrument/ChiSquaredModule.h index 002c98987bb..021c3300ee4 100644 --- a/Core/Instrument/ChiSquaredModule.h +++ b/Core/Instrument/ChiSquaredModule.h @@ -20,7 +20,7 @@ //! Calculation of chi2 between two data sets. //! @ingroup fitting -class BA_CORE_API_ ChiSquaredModule : public IChiSquaredModule +class ChiSquaredModule : public IChiSquaredModule { public: ChiSquaredModule() {} diff --git a/Core/Instrument/FourierTransform.h b/Core/Instrument/FourierTransform.h index c2568a37724..c9717b6ebef 100644 --- a/Core/Instrument/FourierTransform.h +++ b/Core/Instrument/FourierTransform.h @@ -16,7 +16,6 @@ #ifndef BORNAGAIN_CORE_INSTRUMENT_FOURIERTRANSFORM_H #define BORNAGAIN_CORE_INSTRUMENT_FOURIERTRANSFORM_H -#include "Wrap/WinDllMacros.h" #include <fftw3.h> #include <vector> @@ -32,7 +31,7 @@ //! by Jeremy Fix, May 30, 2011 //! //! @ingroup tools_internal -class BA_CORE_API_ FourierTransform +class FourierTransform { public: //! definition of 1D vector of double diff --git a/Core/Instrument/IChiSquaredModule.h b/Core/Instrument/IChiSquaredModule.h index 617a0d783d3..fdac8740f9e 100644 --- a/Core/Instrument/IChiSquaredModule.h +++ b/Core/Instrument/IChiSquaredModule.h @@ -24,7 +24,7 @@ class IIntensityFunction; //! Interface residual calculations. //! @ingroup fitting_internal -class BA_CORE_API_ IChiSquaredModule : public ICloneable +class IChiSquaredModule : public ICloneable { public: IChiSquaredModule(); diff --git a/Core/Instrument/ISpecularScan.h b/Core/Instrument/ISpecularScan.h index 2fb14b9925e..8a81d079c7a 100644 --- a/Core/Instrument/ISpecularScan.h +++ b/Core/Instrument/ISpecularScan.h @@ -26,7 +26,7 @@ class IFootprintFactor; class SpecularSimulationElement; //! Base abstract class for all types of specular scans. -class BA_CORE_API_ ISpecularScan : public ICloneable +class ISpecularScan : public ICloneable { public: enum SPECULAR_DATA_TYPE { angle, q }; diff --git a/Core/Instrument/Instrument.h b/Core/Instrument/Instrument.h index 11ebc136f5b..16527e51cd9 100644 --- a/Core/Instrument/Instrument.h +++ b/Core/Instrument/Instrument.h @@ -31,7 +31,7 @@ class SimulationElement; //! Assembles beam, detector and their relative positions with respect to the sample. //! @ingroup simulation_internal -class BA_CORE_API_ Instrument : public INode +class Instrument : public INode { public: Instrument(); diff --git a/Core/Instrument/PyArrayImportUtils.h b/Core/Instrument/PyArrayImportUtils.h index 69df6dc41d4..27d64694bd5 100644 --- a/Core/Instrument/PyArrayImportUtils.h +++ b/Core/Instrument/PyArrayImportUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_INSTRUMENT_PYARRAYIMPORTUTILS_H #define BORNAGAIN_CORE_INSTRUMENT_PYARRAYIMPORTUTILS_H -#include "Wrap/WinDllMacros.h" #include <vector> template <class T> class OutputData; @@ -27,9 +26,9 @@ namespace PyArrayImport { //! for importing 1D array of doubles from python into OutputData -BA_CORE_API_ OutputData<double>* importArrayToOutputData(const std::vector<double>& vec); +OutputData<double>* importArrayToOutputData(const std::vector<double>& vec); //! for importing 2D array of doubles from python into OutputData -BA_CORE_API_ OutputData<double>* +OutputData<double>* importArrayToOutputData(const std::vector<std::vector<double>>& vec); } // namespace PyArrayImport diff --git a/Core/Instrument/QSpecScan.h b/Core/Instrument/QSpecScan.h index 6feb0dd33ad..4558de32b99 100644 --- a/Core/Instrument/QSpecScan.h +++ b/Core/Instrument/QSpecScan.h @@ -26,7 +26,7 @@ class ScanResolution; //! as coordinate values. Wavelength and incident angles //! are not accessible separately. -class BA_CORE_API_ QSpecScan : public ISpecularScan +class QSpecScan : public ISpecularScan { public: //! Accepts qz-value vector (in inverse nm) diff --git a/Core/Instrument/SimulationResult.h b/Core/Instrument/SimulationResult.h index 4e12166e9bd..a1322ff1db2 100644 --- a/Core/Instrument/SimulationResult.h +++ b/Core/Instrument/SimulationResult.h @@ -17,7 +17,6 @@ #include "Core/Intensity/IUnitConverter.h" #include "Core/Tools/PyObject.h" -#include "Wrap/WinDllMacros.h" #include <memory> #include <vector> @@ -38,7 +37,7 @@ struct AxisInfo { //! Wrapper around OutputData<double> that also provides unit conversions. //! @ingroup detector -class BA_CORE_API_ SimulationResult +class SimulationResult { public: SimulationResult() = default; diff --git a/Core/Instrument/SpectrumUtils.h b/Core/Instrument/SpectrumUtils.h index 8e887005016..2e60dd42e49 100644 --- a/Core/Instrument/SpectrumUtils.h +++ b/Core/Instrument/SpectrumUtils.h @@ -16,7 +16,6 @@ #define BORNAGAIN_CORE_INSTRUMENT_SPECTRUMUTILS_H #include "Core/Intensity/Histogram2D.h" -#include "Wrap/WinDllMacros.h" #include <string> #include <vector> @@ -27,7 +26,7 @@ class Histogram2D; namespace SpectrumUtils { -BA_CORE_API_ std::vector<std::pair<double, double>> FindPeaks(const Histogram2D& hist, +std::vector<std::pair<double, double>> FindPeaks(const Histogram2D& hist, double sigma = 2, const std::string& option = {}, double threshold = 0.05); diff --git a/Core/Instrument/VarianceFunctions.h b/Core/Instrument/VarianceFunctions.h index d89159c5f1c..0b9f57f7ce4 100644 --- a/Core/Instrument/VarianceFunctions.h +++ b/Core/Instrument/VarianceFunctions.h @@ -15,12 +15,11 @@ #ifndef BORNAGAIN_CORE_INSTRUMENT_VARIANCEFUNCTIONS_H #define BORNAGAIN_CORE_INSTRUMENT_VARIANCEFUNCTIONS_H -#include "Wrap/WinDllMacros.h" //! Variance function interface. //! @ingroup fitting_internal -class BA_CORE_API_ IVarianceFunction +class IVarianceFunction { public: IVarianceFunction(); @@ -35,7 +34,7 @@ public: //! Returns 1.0 as variance value //! @ingroup fitting -class BA_CORE_API_ VarianceConstantFunction : public IVarianceFunction +class VarianceConstantFunction : public IVarianceFunction { public: VarianceConstantFunction* clone() const override; @@ -45,7 +44,7 @@ public: //! Returns max(sim, epsilon) //! @ingroup fitting -class BA_CORE_API_ VarianceSimFunction : public IVarianceFunction +class VarianceSimFunction : public IVarianceFunction { public: explicit VarianceSimFunction(double epsilon = 1.0); diff --git a/Core/Intensity/ArrayUtils.h b/Core/Intensity/ArrayUtils.h index 64ed3932a19..80498e63d58 100644 --- a/Core/Intensity/ArrayUtils.h +++ b/Core/Intensity/ArrayUtils.h @@ -16,7 +16,6 @@ #define BORNAGAIN_CORE_INTENSITY_ARRAYUTILS_H #include "Core/Intensity/OutputData.h" -#include "Wrap/WinDllMacros.h" #include <memory> #include <stdexcept> #include <vector> diff --git a/Core/Intensity/AxisNames.h b/Core/Intensity/AxisNames.h index aa96f7022a9..997e8d2a07e 100644 --- a/Core/Intensity/AxisNames.h +++ b/Core/Intensity/AxisNames.h @@ -24,15 +24,15 @@ namespace AxisNames { -BA_CORE_API_ std::map<AxesUnits, std::string> InitSphericalAxis0(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitSphericalAxis1(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitRectangularAxis0(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitRectangularAxis1(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitOffSpecAxis0(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitOffSpecAxis1(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitSpecAxis(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitSpecAxisQ(); -BA_CORE_API_ std::map<AxesUnits, std::string> InitSampleDepthAxis(); +std::map<AxesUnits, std::string> InitSphericalAxis0(); +std::map<AxesUnits, std::string> InitSphericalAxis1(); +std::map<AxesUnits, std::string> InitRectangularAxis0(); +std::map<AxesUnits, std::string> InitRectangularAxis1(); +std::map<AxesUnits, std::string> InitOffSpecAxis0(); +std::map<AxesUnits, std::string> InitOffSpecAxis1(); +std::map<AxesUnits, std::string> InitSpecAxis(); +std::map<AxesUnits, std::string> InitSpecAxisQ(); +std::map<AxesUnits, std::string> InitSampleDepthAxis(); } // namespace AxisNames #endif // BORNAGAIN_CORE_INTENSITY_AXISNAMES_H diff --git a/Core/Intensity/CumulativeValue.h b/Core/Intensity/CumulativeValue.h index 7e67ce17b33..b275ce53fbc 100644 --- a/Core/Intensity/CumulativeValue.h +++ b/Core/Intensity/CumulativeValue.h @@ -15,12 +15,11 @@ #ifndef BORNAGAIN_CORE_INTENSITY_CUMULATIVEVALUE_H #define BORNAGAIN_CORE_INTENSITY_CUMULATIVEVALUE_H -#include "Wrap/WinDllMacros.h" //! The cumulative value with average and rms on-the-flight calculations. //! @ingroup tools -class BA_CORE_API_ CumulativeValue +class CumulativeValue { public: CumulativeValue() { clear(); } @@ -42,7 +41,7 @@ private: double m_sum_of_weights; }; -BA_CORE_API_ bool operator<(const CumulativeValue& lhs, const CumulativeValue& rhs); -BA_CORE_API_ bool operator>(const CumulativeValue& lhs, const CumulativeValue& rhs); +bool operator<(const CumulativeValue& lhs, const CumulativeValue& rhs); +bool operator>(const CumulativeValue& lhs, const CumulativeValue& rhs); #endif // BORNAGAIN_CORE_INTENSITY_CUMULATIVEVALUE_H diff --git a/Core/Intensity/Histogram1D.h b/Core/Intensity/Histogram1D.h index 2b1a65da782..6cf06fe45a8 100644 --- a/Core/Intensity/Histogram1D.h +++ b/Core/Intensity/Histogram1D.h @@ -20,7 +20,7 @@ //! One dimensional histogram. //! @ingroup tools -class BA_CORE_API_ Histogram1D : public IHistogram +class Histogram1D : public IHistogram { public: //! Constructor for fix bin size histograms. diff --git a/Core/Intensity/Histogram2D.h b/Core/Intensity/Histogram2D.h index c29369c6bb0..5f643c16aa8 100644 --- a/Core/Intensity/Histogram2D.h +++ b/Core/Intensity/Histogram2D.h @@ -21,7 +21,7 @@ //! Two dimensional histogram. //! @ingroup tools -class BA_CORE_API_ Histogram2D : public IHistogram +class Histogram2D : public IHistogram { public: //! @brief Constructor for fix bin size histograms. diff --git a/Core/Intensity/IHistogram.h b/Core/Intensity/IHistogram.h index f1af008f2d1..29866264257 100644 --- a/Core/Intensity/IHistogram.h +++ b/Core/Intensity/IHistogram.h @@ -24,7 +24,7 @@ class Histogram1D; //! Base class for 1D and 2D histograms holding values of double type. //! @ingroup tools -class BA_CORE_API_ IHistogram +class IHistogram { public: enum DataType { INTEGRAL, AVERAGE, STANDARD_ERROR, NENTRIES }; diff --git a/Core/Intensity/IIntensityFunction.h b/Core/Intensity/IIntensityFunction.h index b3c780b4b1f..8ac7a76d850 100644 --- a/Core/Intensity/IIntensityFunction.h +++ b/Core/Intensity/IIntensityFunction.h @@ -16,12 +16,11 @@ #ifndef BORNAGAIN_CORE_INTENSITY_IINTENSITYFUNCTION_H #define BORNAGAIN_CORE_INTENSITY_IINTENSITYFUNCTION_H -#include "Wrap/WinDllMacros.h" //! Interface for applying arbitrary function to the measured intensity. //! @ingroup algorithms_internal -class BA_CORE_API_ IIntensityFunction +class IIntensityFunction { public: virtual ~IIntensityFunction(); @@ -32,7 +31,7 @@ public: //! Algorithm for applying log function to the measured intensity. //! @ingroup algorithms_internal -class BA_CORE_API_ IntensityFunctionLog : public IIntensityFunction +class IntensityFunctionLog : public IIntensityFunction { public: virtual IntensityFunctionLog* clone() const; @@ -42,7 +41,7 @@ public: //! Algorithm for applying sqrt function to the measured intensity. //! @ingroup algorithms_internal -class BA_CORE_API_ IntensityFunctionSqrt : public IIntensityFunction +class IntensityFunctionSqrt : public IIntensityFunction { public: virtual IntensityFunctionSqrt* clone() const; diff --git a/Core/Intensity/IUnitConverter.h b/Core/Intensity/IUnitConverter.h index 2328890fe25..9a3a72d3559 100644 --- a/Core/Intensity/IUnitConverter.h +++ b/Core/Intensity/IUnitConverter.h @@ -29,7 +29,7 @@ template <class T> class OutputData; //! @ingroup detector // workaround for SWIG (instead of just writing enum class AxesUnits...) -struct BA_CORE_API_ AxesUnitsWrap { +struct AxesUnitsWrap { enum AxesUnits { DEFAULT, NBINS, RADIANS, DEGREES, MM, QSPACE, QXQY, RQ4 }; #ifndef SWIG // TODO: to automatize enum to string convertion, one can possibly use this solution @@ -42,7 +42,7 @@ typedef AxesUnitsWrap::AxesUnits AxesUnits; //! Interface to provide axis translations to different units for simulation output //! @ingroup simulation_internal -class BA_CORE_API_ IUnitConverter : public ICloneable +class IUnitConverter : public ICloneable { public: virtual ~IUnitConverter(); diff --git a/Core/Intensity/IntensityDataFunctions.h b/Core/Intensity/IntensityDataFunctions.h index 73a1411fede..88468cd7019 100644 --- a/Core/Intensity/IntensityDataFunctions.h +++ b/Core/Intensity/IntensityDataFunctions.h @@ -29,60 +29,60 @@ namespace IntensityDataFunctions { //! Returns sum of relative differences between each pair of elements: //! (a, b) -> 2*abs(a - b)/(a + b) ( and zero if a-b=0 ) -BA_CORE_API_ double RelativeDifference(const SimulationResult& dat, const SimulationResult& ref); +double RelativeDifference(const SimulationResult& dat, const SimulationResult& ref); //! Returns relative difference between two data sets sum(dat[i] - ref[i])/ref[i]). -BA_CORE_API_ double getRelativeDifference(const OutputData<double>& dat, +double getRelativeDifference(const OutputData<double>& dat, const OutputData<double>& ref); //! Returns true is relative difference is below threshold; prints informative output -BA_CORE_API_ bool checkRelativeDifference(const OutputData<double>& dat, +bool checkRelativeDifference(const OutputData<double>& dat, const OutputData<double>& ref, const double threshold); -BA_CORE_API_ double getRelativeDifference(const IHistogram& dat, const IHistogram& ref); +double getRelativeDifference(const IHistogram& dat, const IHistogram& ref); //! Transforms coordinate on axis into the bin-fraction-coordinate. -BA_CORE_API_ double coordinateToBinf(double coordinate, const IAxis& axis); +double coordinateToBinf(double coordinate, const IAxis& axis); //! Transforms bin-fraction-coordinate into axis coordinate. -BA_CORE_API_ double coordinateFromBinf(double value, const IAxis& axis); +double coordinateFromBinf(double value, const IAxis& axis); //! Transforms x,y coordinate from OutputData axes coordinates to bin-fraction-coordinates. -BA_CORE_API_ void coordinateToBinf(double& x, double& y, const OutputData<double>& data); +void coordinateToBinf(double& x, double& y, const OutputData<double>& data); //! Transforms x,y coordinate from bin-fraction-coordinates to OutputData's axes coordinates. -BA_CORE_API_ void coordinateFromBinf(double& x, double& y, const OutputData<double>& data); +void coordinateFromBinf(double& x, double& y, const OutputData<double>& data); //! Creates a vector of vectors of double (2D Array) from OutputData. -BA_CORE_API_ std::vector<std::vector<double>> +std::vector<std::vector<double>> create2DArrayfromOutputData(const OutputData<double>& data); //! Creates a Fourier Transform of a 2D Array (vector of vectors). -BA_CORE_API_ std::vector<std::vector<double>> +std::vector<std::vector<double>> FT2DArray(const std::vector<std::vector<double>>& signal); #ifndef SWIG -BA_CORE_API_ std::unique_ptr<OutputData<double>> +std::unique_ptr<OutputData<double>> createRelativeDifferenceData(const OutputData<double>& data, const OutputData<double>& reference); //! Returns new object with input data rotated by //! n*90 deg counterclockwise (n > 0) or clockwise (n < 0) //! Axes are swapped if the data is effectively rotated by 90 or 270 degrees //! Applicable to 2D arrays only -BA_CORE_API_ std::unique_ptr<OutputData<double>> +std::unique_ptr<OutputData<double>> createRearrangedDataSet(const OutputData<double>& data, int n); //! Returns new IntensityData objects which axes clipped to represent the specified rectangle. -BA_CORE_API_ std::unique_ptr<OutputData<double>> +std::unique_ptr<OutputData<double>> createClippedDataSet(const OutputData<double>& origin, double x1, double y1, double x2, double y2); //! Creates OutputData from a 2D Array. -BA_CORE_API_ std::unique_ptr<OutputData<double>> +std::unique_ptr<OutputData<double>> createOutputDatafrom2DArray(const std::vector<std::vector<double>>& array_2d); //! Creates Fourier Transform (OutputData format) of intensity map (OutputData format). -BA_CORE_API_ std::unique_ptr<OutputData<double>> createFFT(const OutputData<double>& data); +std::unique_ptr<OutputData<double>> createFFT(const OutputData<double>& data); #endif // SWIG diff --git a/Core/Intensity/LLData.h b/Core/Intensity/LLData.h index 6ee6b59eb6c..174208066e9 100644 --- a/Core/Intensity/LLData.h +++ b/Core/Intensity/LLData.h @@ -71,7 +71,7 @@ private: }; #ifndef SWIG -template <> BA_CORE_API_ Eigen::Matrix2d LLData<Eigen::Matrix2d>::getZeroElement() const; +template <> Eigen::Matrix2d LLData<Eigen::Matrix2d>::getZeroElement() const; #endif // Global helper functions for arithmetic diff --git a/Core/Intensity/SimpleUnitConverters.h b/Core/Intensity/SimpleUnitConverters.h index 675aa0eb233..efed715448f 100644 --- a/Core/Intensity/SimpleUnitConverters.h +++ b/Core/Intensity/SimpleUnitConverters.h @@ -28,7 +28,7 @@ class SphericalDetector; //! Interface for objects that provide axis translations to different units for IDetector objects //! @ingroup simulation_internal -class BA_CORE_API_ UnitConverterSimple : public IUnitConverter +class UnitConverterSimple : public IUnitConverter { public: UnitConverterSimple(const Beam& beam); @@ -73,7 +73,7 @@ private: //! Its default units are radians for both axes //! @ingroup simulation_internal -class BA_CORE_API_ SphericalConverter : public UnitConverterSimple +class SphericalConverter : public UnitConverterSimple { public: SphericalConverter(const SphericalDetector& detector, const Beam& beam); @@ -97,7 +97,7 @@ private: //! Its default units are mm for both axes //! @ingroup simulation_internal -class BA_CORE_API_ RectangularConverter : public UnitConverterSimple +class RectangularConverter : public UnitConverterSimple { public: RectangularConverter(const RectangularDetector& detector, const Beam& beam); @@ -124,7 +124,7 @@ private: //! Its default units are radians for both axes //! @ingroup simulation_internal -class BA_CORE_API_ OffSpecularConverter : public UnitConverterSimple +class OffSpecularConverter : public UnitConverterSimple { public: OffSpecularConverter(const IDetector2D& detector, const Beam& beam, const IAxis& alpha_axis); @@ -145,7 +145,7 @@ private: //! Its default units are radians for x-axis and nm for y-axis //! @ingroup simulation_internal -class BA_CORE_API_ DepthProbeConverter : public UnitConverterSimple +class DepthProbeConverter : public UnitConverterSimple { public: DepthProbeConverter(const Beam& beam, const IAxis& alpha_axis, const IAxis& z_axis); diff --git a/Core/Intensity/UnitConverter1D.h b/Core/Intensity/UnitConverter1D.h index 22a72ea5a52..7f70d36b72c 100644 --- a/Core/Intensity/UnitConverter1D.h +++ b/Core/Intensity/UnitConverter1D.h @@ -26,7 +26,7 @@ class QSpecScan; //! Conversion of axis units for the case of 1D simulation result. -class BA_CORE_API_ UnitConverter1D : public IUnitConverter +class UnitConverter1D : public IUnitConverter { public: //! Factory function to create unit converter for particular type of specular data @@ -60,7 +60,7 @@ protected: }; //! Conversion of axis units for the case of conventional (angle-based) reflectometry. -class BA_CORE_API_ UnitConverterConvSpec : public UnitConverter1D +class UnitConverterConvSpec : public UnitConverter1D { public: //! Constructs the object for unit conversion. @@ -99,7 +99,7 @@ protected: }; //! Conversion of axis units for the case of q-defined reflectometry. -class BA_CORE_API_ UnitConverterQSpec : public UnitConverter1D +class UnitConverterQSpec : public UnitConverter1D { public: UnitConverterQSpec(const QSpecScan& handler); diff --git a/Core/Lattice/ILatticeOrientation.h b/Core/Lattice/ILatticeOrientation.h index 34f2fb8d386..3016acd20b4 100644 --- a/Core/Lattice/ILatticeOrientation.h +++ b/Core/Lattice/ILatticeOrientation.h @@ -18,7 +18,7 @@ #include "Core/Lattice/Lattice.h" #include "Core/Vector/Transform3D.h" -class BA_CORE_API_ ILatticeOrientation +class ILatticeOrientation { public: virtual ~ILatticeOrientation(); @@ -31,14 +31,14 @@ public: }; //! A direction in reciprocal space, specified by double-valued indices hkl. -struct BA_CORE_API_ MillerIndex { +struct MillerIndex { MillerIndex(double h_, double k_, double l_); double h, k, l; }; //! Specifies a rotation of a lattice through the Miller indices of two coordinate axes. -class BA_CORE_API_ MillerIndexOrientation : public ILatticeOrientation +class MillerIndexOrientation : public ILatticeOrientation { public: enum QComponent { QX, QY, QZ }; diff --git a/Core/Lattice/ISelectionRule.h b/Core/Lattice/ISelectionRule.h index 9eea2e0da9a..3393225df7b 100644 --- a/Core/Lattice/ISelectionRule.h +++ b/Core/Lattice/ISelectionRule.h @@ -20,7 +20,7 @@ //! Pure virtual base class for selection rules. //! @ingroup samples_internal -class BA_CORE_API_ ISelectionRule +class ISelectionRule { public: virtual ~ISelectionRule() {} diff --git a/Core/Lattice/Lattice.h b/Core/Lattice/Lattice.h index a84d178efb5..63462d0e3bf 100644 --- a/Core/Lattice/Lattice.h +++ b/Core/Lattice/Lattice.h @@ -25,7 +25,7 @@ class Transform3D; //! A lattice with three basis vectors. //! @ingroup samples -class BA_CORE_API_ Lattice : public INode +class Lattice : public INode { public: Lattice(); diff --git a/Core/Lattice/Lattice2D.h b/Core/Lattice/Lattice2D.h index 0c401b245d7..78587982f22 100644 --- a/Core/Lattice/Lattice2D.h +++ b/Core/Lattice/Lattice2D.h @@ -18,7 +18,7 @@ #include "Core/Basics/ICloneable.h" #include "Core/Parametrization/INode.h" -class BA_CORE_API_ Lattice2D : public ICloneable, public INode +class Lattice2D : public ICloneable, public INode { public: Lattice2D(const NodeMeta& meta, const std::vector<double>& PValues); @@ -47,7 +47,7 @@ protected: double m_xi; }; -class BA_CORE_API_ BasicLattice : public Lattice2D +class BasicLattice : public Lattice2D { public: BasicLattice(double length1, double length2, double angle, double xi); @@ -66,7 +66,7 @@ private: double m_angle; }; -class BA_CORE_API_ SquareLattice : public Lattice2D +class SquareLattice : public Lattice2D { public: SquareLattice(double length, double xi = 0.0); @@ -84,7 +84,7 @@ private: double m_length; }; -class BA_CORE_API_ HexagonalLattice : public Lattice2D +class HexagonalLattice : public Lattice2D { public: HexagonalLattice(double length, double xi); diff --git a/Core/Lattice/LatticeUtils.h b/Core/Lattice/LatticeUtils.h index 2394aca06c4..59a3b658ba1 100644 --- a/Core/Lattice/LatticeUtils.h +++ b/Core/Lattice/LatticeUtils.h @@ -22,10 +22,10 @@ class ILatticeOrientation; namespace LatticeUtils { -BA_CORE_API_ Lattice createFCCLattice(double lattice_constant, +Lattice createFCCLattice(double lattice_constant, const ILatticeOrientation& orientation); -BA_CORE_API_ Lattice createHCPLattice(double a, double c, const ILatticeOrientation& orientation); -BA_CORE_API_ Lattice createBCTLattice(double a, double c, const ILatticeOrientation& orientation); +Lattice createHCPLattice(double a, double c, const ILatticeOrientation& orientation); +Lattice createBCTLattice(double a, double c, const ILatticeOrientation& orientation); } // namespace LatticeUtils #endif // BORNAGAIN_CORE_LATTICE_LATTICEUTILS_H diff --git a/Core/Mask/Ellipse.h b/Core/Mask/Ellipse.h index 0714d05d53f..05b640fcb8b 100644 --- a/Core/Mask/Ellipse.h +++ b/Core/Mask/Ellipse.h @@ -20,7 +20,7 @@ //! Ellipse shape. //! @ingroup tools -class BA_CORE_API_ Ellipse : public IShape2D +class Ellipse : public IShape2D { public: Ellipse(double xcenter, double ycenter, double xradius, double yradius, double theta = 0.0); diff --git a/Core/Mask/IShape2D.h b/Core/Mask/IShape2D.h index 96d6040d8b6..bd4264a35b7 100644 --- a/Core/Mask/IShape2D.h +++ b/Core/Mask/IShape2D.h @@ -23,7 +23,7 @@ struct Bin1D; //! Basic class for all shapes in 2D. //! @ingroup tools -class BA_CORE_API_ IShape2D : public ICloneable +class IShape2D : public ICloneable { public: IShape2D(const char* name) : m_name(name) {} diff --git a/Core/Mask/InfinitePlane.h b/Core/Mask/InfinitePlane.h index 17e0b1d820d..f8dea3887fd 100644 --- a/Core/Mask/InfinitePlane.h +++ b/Core/Mask/InfinitePlane.h @@ -20,7 +20,7 @@ //! The infinite plane is used for masking everything once and forever. //! @ingroup tools -class BA_CORE_API_ InfinitePlane : public IShape2D +class InfinitePlane : public IShape2D { public: InfinitePlane() : IShape2D("InfinitePlane") {} diff --git a/Core/Mask/Line.h b/Core/Mask/Line.h index b0b64a6aab7..5a8e1c6ae48 100644 --- a/Core/Mask/Line.h +++ b/Core/Mask/Line.h @@ -20,7 +20,7 @@ //! A line segment. //! @ingroup mask -class BA_CORE_API_ Line : public IShape2D +class Line : public IShape2D { public: Line(double x1, double y1, double x2, double y2); @@ -36,7 +36,7 @@ private: //! An infinite vertical line. //! @ingroup mask -class BA_CORE_API_ VerticalLine : public IShape2D +class VerticalLine : public IShape2D { public: VerticalLine(double x); @@ -54,7 +54,7 @@ private: //! An infinite horizontal line. //! @ingroup mask -class BA_CORE_API_ HorizontalLine : public IShape2D +class HorizontalLine : public IShape2D { public: HorizontalLine(double y); diff --git a/Core/Mask/Polygon.h b/Core/Mask/Polygon.h index 467282714cf..de0acae7856 100644 --- a/Core/Mask/Polygon.h +++ b/Core/Mask/Polygon.h @@ -27,7 +27,7 @@ class PolygonPrivate; //! Sizes of arrays should coincide. If polygon is unclosed (the last point //! doesn't repeat the first one), it will be closed automatically. -class BA_CORE_API_ Polygon : public IShape2D +class Polygon : public IShape2D { public: Polygon(const std::vector<double> x, const std::vector<double> y); diff --git a/Core/Mask/Rectangle.h b/Core/Mask/Rectangle.h index 93ee9995577..51b42641c10 100644 --- a/Core/Mask/Rectangle.h +++ b/Core/Mask/Rectangle.h @@ -20,7 +20,7 @@ //! The rectangle shape having its axis aligned to the (non-rotated) coordinate system. //! @ingroup mask -class BA_CORE_API_ Rectangle : public IShape2D +class Rectangle : public IShape2D { public: Rectangle(double xlow, double ylow, double xup, double yup); diff --git a/Core/Material/BaseMaterialImpl.h b/Core/Material/BaseMaterialImpl.h index 2374e46355e..0f43204cfde 100644 --- a/Core/Material/BaseMaterialImpl.h +++ b/Core/Material/BaseMaterialImpl.h @@ -28,7 +28,7 @@ enum class MATERIAL_TYPES { InvalidMaterialType = -1, RefractiveMaterial = 0, Ma //! Inherited by MagneticMaterialImpl, which has further children. //! @ingroup materials -class BA_CORE_API_ BaseMaterialImpl +class BaseMaterialImpl { public: //! Constructs basic material with name diff --git a/Core/Material/MagneticMaterialImpl.h b/Core/Material/MagneticMaterialImpl.h index 01dad155eeb..bec44b8c760 100644 --- a/Core/Material/MagneticMaterialImpl.h +++ b/Core/Material/MagneticMaterialImpl.h @@ -28,7 +28,7 @@ class WavevectorInfo; //! Incorporates data and methods required to handle material magnetization. //! @ingroup materials -class BA_CORE_API_ MagneticMaterialImpl : public BaseMaterialImpl +class MagneticMaterialImpl : public BaseMaterialImpl { public: //! Constructs basic material with name and magnetization diff --git a/Core/Material/Material.h b/Core/Material/Material.h index bc006421ae7..4243e225072 100644 --- a/Core/Material/Material.h +++ b/Core/Material/Material.h @@ -28,7 +28,7 @@ class WavevectorInfo; //! A wrapper for underlying material implementation //! @ingroup materials -class BA_CORE_API_ Material +class Material { public: //! Material copy-constructor @@ -96,16 +96,16 @@ public: Material rotatedMaterial(const Transform3D& transform) const; - friend BA_CORE_API_ std::ostream& operator<<(std::ostream& ostr, const Material& mat); + friend std::ostream& operator<<(std::ostream& ostr, const Material& mat); private: std::unique_ptr<BaseMaterialImpl> m_material_impl; }; //! Comparison operator for material wrapper (equality check) -BA_CORE_API_ bool operator==(const Material& left, const Material& right); +bool operator==(const Material& left, const Material& right); //! Comparison operator for material wrapper (inequality check) -BA_CORE_API_ bool operator!=(const Material& left, const Material& right); +bool operator!=(const Material& left, const Material& right); #endif // BORNAGAIN_CORE_MATERIAL_MATERIAL_H diff --git a/Core/Material/MaterialBySLDImpl.h b/Core/Material/MaterialBySLDImpl.h index 8b1e8a043f9..a29afbd6e20 100644 --- a/Core/Material/MaterialBySLDImpl.h +++ b/Core/Material/MaterialBySLDImpl.h @@ -22,10 +22,10 @@ //! Material implementation based on wavelength-independent data (valid for a range of wavelengths) //! @ingroup materials -class BA_CORE_API_ MaterialBySLDImpl : public MagneticMaterialImpl +class MaterialBySLDImpl : public MagneticMaterialImpl { public: - friend BA_CORE_API_ Material MaterialBySLD(const std::string& name, double sld_real, + friend Material MaterialBySLD(const std::string& name, double sld_real, double sld_imag, kvector_t magnetization); virtual ~MaterialBySLDImpl() = default; diff --git a/Core/Material/MaterialFactoryFuncs.h b/Core/Material/MaterialFactoryFuncs.h index 5563557e642..a1e34886dae 100644 --- a/Core/Material/MaterialFactoryFuncs.h +++ b/Core/Material/MaterialFactoryFuncs.h @@ -21,11 +21,11 @@ struct HomogeneousRegion; //! @ingroup materials -BA_CORE_API_ Material HomogeneousMaterial(); +Material HomogeneousMaterial(); //! @ingroup materials -BA_CORE_API_ Material HomogeneousMaterial(const std::string& name, double delta, double beta, +Material HomogeneousMaterial(const std::string& name, double delta, double beta, kvector_t magnetization = {}); //! @ingroup materials @@ -36,12 +36,12 @@ BA_CORE_API_ Material HomogeneousMaterial(const std::string& name, double delta, //! directly. //! With no parameters given, constructs default (vacuum) material with \f$n = 1\f$ and zero //! magnetization. -BA_CORE_API_ Material HomogeneousMaterial(const std::string& name, complex_t refractive_index, +Material HomogeneousMaterial(const std::string& name, complex_t refractive_index, kvector_t magnetization = {}); //! @ingroup materials -BA_CORE_API_ Material MaterialBySLD(); +Material MaterialBySLD(); //! @ingroup materials @@ -59,7 +59,7 @@ BA_CORE_API_ Material MaterialBySLD(); //! @param sld_real: real part of the scattering length density, inverse square angstroms //! @param sld_imag: imaginary part of the scattering length density, inverse square angstroms //! @param magnetization: magnetization (in A/m) -BA_CORE_API_ Material MaterialBySLD(const std::string& name, double sld_real, double sld_imag, +Material MaterialBySLD(const std::string& name, double sld_real, double sld_imag, kvector_t magnetization = {}); #endif // BORNAGAIN_CORE_MATERIAL_MATERIALFACTORYFUNCS_H diff --git a/Core/Material/MaterialUtils.h b/Core/Material/MaterialUtils.h index b99ec74e6ae..11680260b24 100644 --- a/Core/Material/MaterialUtils.h +++ b/Core/Material/MaterialUtils.h @@ -29,24 +29,24 @@ namespace MaterialUtils //! Function for calculating the reduced potential, used for obtaining the Fresnel coefficients //! (non-polarized material case) -BA_CORE_API_ complex_t ScalarReducedPotential(complex_t n, kvector_t k, double n_ref); +complex_t ScalarReducedPotential(complex_t n, kvector_t k, double n_ref); //! Function for calculating the reduced potential, used for obtaining the Fresnel coefficients //! (polarized material case) -BA_CORE_API_ Eigen::Matrix2cd PolarizedReducedPotential(complex_t n, kvector_t b_field, kvector_t k, +Eigen::Matrix2cd PolarizedReducedPotential(complex_t n, kvector_t b_field, kvector_t k, double n_ref); //! Utility to compute magnetization correction for reduced potential and scattering length density template <typename T> -BA_CORE_API_ Eigen::Matrix2cd MagnetizationCorrection(complex_t unit_factor, double magnetic_factor, +Eigen::Matrix2cd MagnetizationCorrection(complex_t unit_factor, double magnetic_factor, BasicVector3D<T> polarization); //! Checks if all non-default materials in _materials_ are of the same type and returns this type. //! If several types of materials are involved, InvalidMaterialType identifier is returned. -BA_CORE_API_ MATERIAL_TYPES checkMaterialTypes(const std::vector<const Material*>& materials); +MATERIAL_TYPES checkMaterialTypes(const std::vector<const Material*>& materials); } // namespace MaterialUtils diff --git a/Core/Material/RefractiveMaterialImpl.h b/Core/Material/RefractiveMaterialImpl.h index 4fb2156bc95..8dfa33c572e 100644 --- a/Core/Material/RefractiveMaterialImpl.h +++ b/Core/Material/RefractiveMaterialImpl.h @@ -21,10 +21,10 @@ //! Material implementation based on refractive coefficiencts (valid for one wavelength value only) //! @ingroup materials -class BA_CORE_API_ RefractiveMaterialImpl : public MagneticMaterialImpl +class RefractiveMaterialImpl : public MagneticMaterialImpl { public: - friend BA_CORE_API_ Material HomogeneousMaterial(const std::string&, double, double, kvector_t); + friend Material HomogeneousMaterial(const std::string&, double, double, kvector_t); virtual ~RefractiveMaterialImpl() = default; diff --git a/Core/Multilayer/FormFactorCoherentPart.h b/Core/Multilayer/FormFactorCoherentPart.h index 481846c0296..86e08460bbb 100644 --- a/Core/Multilayer/FormFactorCoherentPart.h +++ b/Core/Multilayer/FormFactorCoherentPart.h @@ -17,7 +17,6 @@ #include "Core/Basics/Complex.h" #include "Core/Vector/EigenCore.h" -#include "Wrap/WinDllMacros.h" #include <memory> class IFresnelMap; @@ -27,7 +26,7 @@ class SimulationElement; //! Information about single particle form factor and specular info of the embedding layer. //! @ingroup formfactors_internal -class BA_CORE_API_ FormFactorCoherentPart +class FormFactorCoherentPart { public: FormFactorCoherentPart(IFormFactor* p_ff); diff --git a/Core/Multilayer/FormFactorCoherentSum.h b/Core/Multilayer/FormFactorCoherentSum.h index 29c8247b991..0e23954d9e7 100644 --- a/Core/Multilayer/FormFactorCoherentSum.h +++ b/Core/Multilayer/FormFactorCoherentSum.h @@ -25,7 +25,7 @@ class SimulationElement; //! Information about particle form factor and abundance. //! @ingroup formfactors_internal -class BA_CORE_API_ FormFactorCoherentSum +class FormFactorCoherentSum { public: FormFactorCoherentSum(double abundance); diff --git a/Core/Multilayer/IFresnelMap.h b/Core/Multilayer/IFresnelMap.h index cc9d3aca254..b973c03e36c 100644 --- a/Core/Multilayer/IFresnelMap.h +++ b/Core/Multilayer/IFresnelMap.h @@ -19,7 +19,6 @@ #include "Core/Multilayer/Slice.h" #include "Core/RT/ILayerRTCoefficients.h" #include "Core/Vector/Vectors3D.h" -#include "Wrap/WinDllMacros.h" #include <memory> #include <vector> @@ -30,7 +29,7 @@ class SimulationElement; //! (these amplitudes correspond to the specular part of the wavefunction). //! @ingroup algorithms_internal -class BA_CORE_API_ IFresnelMap +class IFresnelMap { public: IFresnelMap(std::unique_ptr<ISpecularStrategy> strategy); diff --git a/Core/Multilayer/IInterferenceFunctionStrategy.h b/Core/Multilayer/IInterferenceFunctionStrategy.h index 22509ba25f9..2de442e0e8f 100644 --- a/Core/Multilayer/IInterferenceFunctionStrategy.h +++ b/Core/Multilayer/IInterferenceFunctionStrategy.h @@ -38,7 +38,7 @@ class SimulationElement; //! //! @ingroup algorithms_internal -class BA_CORE_API_ IInterferenceFunctionStrategy +class IInterferenceFunctionStrategy { public: IInterferenceFunctionStrategy(const SimulationOptions& sim_params, bool polarized); diff --git a/Core/Multilayer/IMultiLayerBuilder.h b/Core/Multilayer/IMultiLayerBuilder.h index ef9ca7ef3bd..df73c3d0a73 100644 --- a/Core/Multilayer/IMultiLayerBuilder.h +++ b/Core/Multilayer/IMultiLayerBuilder.h @@ -22,7 +22,7 @@ class MultiLayer; //! Interface to the class capable to build samples to simulate. //! @ingroup simulation_internal -class BA_CORE_API_ IMultiLayerBuilder : public IParameterized +class IMultiLayerBuilder : public IParameterized { public: IMultiLayerBuilder(); diff --git a/Core/Multilayer/ISpecularStrategy.h b/Core/Multilayer/ISpecularStrategy.h index 4782a049e4c..fe7c9775b48 100644 --- a/Core/Multilayer/ISpecularStrategy.h +++ b/Core/Multilayer/ISpecularStrategy.h @@ -25,7 +25,7 @@ //! @ingroup algorithms_internal -class BA_CORE_API_ ISpecularStrategy +class ISpecularStrategy { public: virtual ~ISpecularStrategy() = default; diff --git a/Core/Multilayer/KzComputation.h b/Core/Multilayer/KzComputation.h index f66e5e18915..1c23457cb67 100644 --- a/Core/Multilayer/KzComputation.h +++ b/Core/Multilayer/KzComputation.h @@ -36,17 +36,17 @@ namespace KzComputation * This function is used in GISAS and off-spec computations mainly for back-compatibility * reasons and should be replaced with computeKzFromRefIndices. */ -BA_CORE_API_ std::vector<complex_t> computeReducedKz(const std::vector<Slice>& slices, kvector_t k); +std::vector<complex_t> computeReducedKz(const std::vector<Slice>& slices, kvector_t k); /* Computes kz values from kz of the incoming beam known at a distant point in vacuum. * It is assumed, that the beam penetrates fronting medium from a side. */ -BA_CORE_API_ std::vector<complex_t> computeKzFromSLDs(const std::vector<Slice>& slices, double kz); +std::vector<complex_t> computeKzFromSLDs(const std::vector<Slice>& slices, double kz); /* Computes kz values from k-vector of the incoming beam known at a distant point in vacuum. * It is assumed, that the beam penetrates fronting medium from a side. */ -BA_CORE_API_ std::vector<complex_t> computeKzFromRefIndices(const std::vector<Slice>& slices, +std::vector<complex_t> computeKzFromRefIndices(const std::vector<Slice>& slices, kvector_t k); } // namespace KzComputation diff --git a/Core/Multilayer/Layer.h b/Core/Multilayer/Layer.h index f6dbfe18f2b..55bb6a323b5 100644 --- a/Core/Multilayer/Layer.h +++ b/Core/Multilayer/Layer.h @@ -24,7 +24,7 @@ class ILayout; //! A layer, with thickness (in nanometer) and material. //! @ingroup samples -class BA_CORE_API_ Layer : public ISample +class Layer : public ISample { public: Layer(Material material, double thickness = 0); diff --git a/Core/Multilayer/LayerFillLimits.h b/Core/Multilayer/LayerFillLimits.h index 491686c40d2..252cc8a68c3 100644 --- a/Core/Multilayer/LayerFillLimits.h +++ b/Core/Multilayer/LayerFillLimits.h @@ -27,7 +27,7 @@ //! layers, only N-1 coordinates need to be passed (the last layer is assumed to be semi-infinite). //! @ingroup algorithms_internal -class BA_CORE_API_ LayerFillLimits +class LayerFillLimits { public: LayerFillLimits(std::vector<double> layers_bottomz); diff --git a/Core/Multilayer/LayerInterface.h b/Core/Multilayer/LayerInterface.h index 0068921b5b3..9c12833d1df 100644 --- a/Core/Multilayer/LayerInterface.h +++ b/Core/Multilayer/LayerInterface.h @@ -23,7 +23,7 @@ class LayerRoughness; //! Interface between two layers, possibly with roughness. //! @ingroup samples_internal -class BA_CORE_API_ LayerInterface : public ISample +class LayerInterface : public ISample { public: virtual ~LayerInterface(); diff --git a/Core/Multilayer/LayerRoughness.h b/Core/Multilayer/LayerRoughness.h index fa2d526c558..25f123b7bf8 100644 --- a/Core/Multilayer/LayerRoughness.h +++ b/Core/Multilayer/LayerRoughness.h @@ -26,7 +26,7 @@ //! //! @ingroup samples -class BA_CORE_API_ LayerRoughness : public ISample +class LayerRoughness : public ISample { public: LayerRoughness(double sigma, double hurstParameter, double lateralCorrLength); diff --git a/Core/Multilayer/MatrixFresnelMap.h b/Core/Multilayer/MatrixFresnelMap.h index a6506d323bf..92f3628a7d0 100644 --- a/Core/Multilayer/MatrixFresnelMap.h +++ b/Core/Multilayer/MatrixFresnelMap.h @@ -32,7 +32,7 @@ class SimulationElement; //! Implementation of IFresnelMap for matrix valued reflection/transmission coefficients. //! @ingroup algorithms_internal -class BA_CORE_API_ MatrixFresnelMap : public IFresnelMap +class MatrixFresnelMap : public IFresnelMap { public: MatrixFresnelMap(std::unique_ptr<ISpecularStrategy> strategy); diff --git a/Core/Multilayer/MultiLayer.h b/Core/Multilayer/MultiLayer.h index a6d1696c26c..a2a41902dcc 100644 --- a/Core/Multilayer/MultiLayer.h +++ b/Core/Multilayer/MultiLayer.h @@ -41,7 +41,7 @@ class LayerRoughness; //! --------- interface #2 z=-60.0 //! substrate layer #3 -class BA_CORE_API_ MultiLayer : public ISample +class MultiLayer : public ISample { public: MultiLayer(); diff --git a/Core/Multilayer/MultiLayerUtils.h b/Core/Multilayer/MultiLayerUtils.h index e60b79f9b7b..a0514189c39 100644 --- a/Core/Multilayer/MultiLayerUtils.h +++ b/Core/Multilayer/MultiLayerUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_MULTILAYER_MULTILAYERUTILS_H #define BORNAGAIN_CORE_MULTILAYER_MULTILAYERUTILS_H -#include "Wrap/WinDllMacros.h" #include <cstddef> #include <vector> @@ -28,27 +27,27 @@ class ZLimits; namespace MultiLayerUtils { //! Returns thickness of layer -BA_CORE_API_ double LayerThickness(const MultiLayer& multilayer, size_t i); +double LayerThickness(const MultiLayer& multilayer, size_t i); //! Returns top interface of layer -BA_CORE_API_ const LayerInterface* LayerTopInterface(const MultiLayer& multilayer, size_t i); +const LayerInterface* LayerTopInterface(const MultiLayer& multilayer, size_t i); //! Returns bottom interface of layer -BA_CORE_API_ const LayerInterface* LayerBottomInterface(const MultiLayer& multilayer, size_t i); +const LayerInterface* LayerBottomInterface(const MultiLayer& multilayer, size_t i); //! Returns top roughness of layer -BA_CORE_API_ const LayerRoughness* LayerTopRoughness(const MultiLayer& multilayer, size_t i); +const LayerRoughness* LayerTopRoughness(const MultiLayer& multilayer, size_t i); //! Returns the index of the given layer -BA_CORE_API_ size_t IndexOfLayer(const MultiLayer& multilayer, const Layer* p_layer); +size_t IndexOfLayer(const MultiLayer& multilayer, const Layer* p_layer); //! Returns true if the multilayer contains non-default materials of one type only -BA_CORE_API_ bool ContainsCompatibleMaterials(const MultiLayer& multilayer); +bool ContainsCompatibleMaterials(const MultiLayer& multilayer); //! Calculate z-regions occupied by particles -BA_CORE_API_ std::vector<ZLimits> ParticleRegions(const MultiLayer& multilayer, bool use_slicing); +std::vector<ZLimits> ParticleRegions(const MultiLayer& multilayer, bool use_slicing); -BA_CORE_API_ bool hasRoughness(const MultiLayer& sample); +bool hasRoughness(const MultiLayer& sample); } // namespace MultiLayerUtils #endif // BORNAGAIN_CORE_MULTILAYER_MULTILAYERUTILS_H diff --git a/Core/Multilayer/RoughnessModels.h b/Core/Multilayer/RoughnessModels.h index 83c0da4b301..6f3ea65c343 100644 --- a/Core/Multilayer/RoughnessModels.h +++ b/Core/Multilayer/RoughnessModels.h @@ -17,10 +17,9 @@ #include <string> -#include "Wrap/WinDllMacros.h" // workaround for SWIG (instead of just writing enum class RoughnessModel ...) -struct BA_CORE_API_ RoughnessModelWrap { +struct RoughnessModelWrap { enum RoughnessModel { DEFAULT, TANH, NEVOT_CROCE }; #ifndef SWIG // TODO: to automatize enum to string convertion, one can possibly use this solution diff --git a/Core/Multilayer/SampleBuilderNode.h b/Core/Multilayer/SampleBuilderNode.h index 3fd4c19dd62..d03850d9691 100644 --- a/Core/Multilayer/SampleBuilderNode.h +++ b/Core/Multilayer/SampleBuilderNode.h @@ -23,7 +23,7 @@ class IMultiLayerBuilder; //! Enfolds MultiLayerBuilder to have it in INode tree. //! @ingroup simulation_internal -class BA_CORE_API_ SampleBuilderNode : public INode +class SampleBuilderNode : public INode { public: using builder_t = std::shared_ptr<IMultiLayerBuilder>; diff --git a/Core/Multilayer/SampleProvider.h b/Core/Multilayer/SampleProvider.h index c797af356ac..98a305f5fce 100644 --- a/Core/Multilayer/SampleProvider.h +++ b/Core/Multilayer/SampleProvider.h @@ -24,7 +24,7 @@ class MultiLayer; //! the user or from SampleBuilder. //! @ingroup simulation_internal -class BA_CORE_API_ SampleProvider : public INode +class SampleProvider : public INode { public: SampleProvider(); diff --git a/Core/Multilayer/ScalarFresnelMap.h b/Core/Multilayer/ScalarFresnelMap.h index 11b55d28558..42e59486a3b 100644 --- a/Core/Multilayer/ScalarFresnelMap.h +++ b/Core/Multilayer/ScalarFresnelMap.h @@ -30,7 +30,7 @@ class Slice; //! Implementation of IFresnelMap for scalar valued reflection/transmission coefficients. //! @ingroup algorithms_internal -class BA_CORE_API_ ScalarFresnelMap : public IFresnelMap +class ScalarFresnelMap : public IFresnelMap { public: ScalarFresnelMap(std::unique_ptr<ISpecularStrategy> strategy); diff --git a/Core/Multilayer/Slice.h b/Core/Multilayer/Slice.h index c5cd17d057f..7a8cccc311a 100644 --- a/Core/Multilayer/Slice.h +++ b/Core/Multilayer/Slice.h @@ -24,7 +24,7 @@ class LayerRoughness; //! //! @ingroup algorithms_internal -class BA_CORE_API_ Slice +class Slice { public: Slice(double thickness, const Material& material); diff --git a/Core/Multilayer/SpecularMagneticNewNCStrategy.h b/Core/Multilayer/SpecularMagneticNewNCStrategy.h index 7f698205dc6..a778baa1b30 100644 --- a/Core/Multilayer/SpecularMagneticNewNCStrategy.h +++ b/Core/Multilayer/SpecularMagneticNewNCStrategy.h @@ -29,7 +29,7 @@ //! document "Polarized Implementation of the Transfer Matrix Method" //! //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularMagneticNewNCStrategy : public SpecularMagneticNewStrategy +class SpecularMagneticNewNCStrategy : public SpecularMagneticNewStrategy { private: std::pair<Eigen::Matrix2cd, Eigen::Matrix2cd> diff --git a/Core/Multilayer/SpecularMagneticNewStrategy.h b/Core/Multilayer/SpecularMagneticNewStrategy.h index 4fda5f56dd7..cc5bf84bd56 100644 --- a/Core/Multilayer/SpecularMagneticNewStrategy.h +++ b/Core/Multilayer/SpecularMagneticNewStrategy.h @@ -31,7 +31,7 @@ class Slice; //! document "Polarized Implementation of the Transfer Matrix Method" //! //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularMagneticNewStrategy : public ISpecularStrategy +class SpecularMagneticNewStrategy : public ISpecularStrategy { public: using coefficient_type = MatrixRTCoefficients_v3; diff --git a/Core/Multilayer/SpecularMagneticNewTanhStrategy.h b/Core/Multilayer/SpecularMagneticNewTanhStrategy.h index 401b4454c1b..0fb8ec56806 100644 --- a/Core/Multilayer/SpecularMagneticNewTanhStrategy.h +++ b/Core/Multilayer/SpecularMagneticNewTanhStrategy.h @@ -26,7 +26,7 @@ //! document "Polarized Implementation of the Transfer Matrix Method" //! //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularMagneticNewTanhStrategy : public SpecularMagneticNewStrategy +class SpecularMagneticNewTanhStrategy : public SpecularMagneticNewStrategy { private: virtual std::pair<Eigen::Matrix2cd, Eigen::Matrix2cd> diff --git a/Core/Multilayer/SpecularMagneticOldStrategy.h b/Core/Multilayer/SpecularMagneticOldStrategy.h index b4de99f94e6..312bc584347 100644 --- a/Core/Multilayer/SpecularMagneticOldStrategy.h +++ b/Core/Multilayer/SpecularMagneticOldStrategy.h @@ -27,7 +27,7 @@ class Slice; //! the coherent wave solution in a multilayer with magnetization. //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularMagneticOldStrategy : public ISpecularStrategy +class SpecularMagneticOldStrategy : public ISpecularStrategy { public: //! Computes refraction angle reflection/transmission coefficients diff --git a/Core/Multilayer/SpecularMagneticStrategy.h b/Core/Multilayer/SpecularMagneticStrategy.h index c93828d19c5..da31b7cab1c 100644 --- a/Core/Multilayer/SpecularMagneticStrategy.h +++ b/Core/Multilayer/SpecularMagneticStrategy.h @@ -30,7 +30,7 @@ class Slice; //! For a detailed description see internal document "Polarized Specular Reflectometry" //! //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularMagneticStrategy : public ISpecularStrategy +class SpecularMagneticStrategy : public ISpecularStrategy { public: using coefficient_type = MatrixRTCoefficients_v2; diff --git a/Core/Multilayer/SpecularScalarNCStrategy.h b/Core/Multilayer/SpecularScalarNCStrategy.h index 92fcb3a7c95..2c9dddc605d 100644 --- a/Core/Multilayer/SpecularScalarNCStrategy.h +++ b/Core/Multilayer/SpecularScalarNCStrategy.h @@ -27,7 +27,7 @@ class Slice; //! //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularScalarNCStrategy : public SpecularScalarStrategy +class SpecularScalarNCStrategy : public SpecularScalarStrategy { private: //! Roughness is modelled by a Gaussian profile, i.e. Nevot-Croce factors for the diff --git a/Core/Multilayer/SpecularScalarStrategy.h b/Core/Multilayer/SpecularScalarStrategy.h index 27823879f2f..3bfe5d8147b 100644 --- a/Core/Multilayer/SpecularScalarStrategy.h +++ b/Core/Multilayer/SpecularScalarStrategy.h @@ -31,7 +31,7 @@ class Slice; //! Inherited by SpecularScalarNCStrategy, SpecularScalarTanhStrategy //! //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularScalarStrategy : public ISpecularStrategy +class SpecularScalarStrategy : public ISpecularStrategy { public: using coefficient_type = ScalarRTCoefficients; diff --git a/Core/Multilayer/SpecularScalarTanhStrategy.h b/Core/Multilayer/SpecularScalarTanhStrategy.h index 780669ed355..e399b814573 100644 --- a/Core/Multilayer/SpecularScalarTanhStrategy.h +++ b/Core/Multilayer/SpecularScalarTanhStrategy.h @@ -26,7 +26,7 @@ class Slice; //! coherent wave propagation in a multilayer by applying modified Fresnel coefficients. //! //! @ingroup algorithms_internal -class BA_CORE_API_ SpecularScalarTanhStrategy : public SpecularScalarStrategy +class SpecularScalarTanhStrategy : public SpecularScalarStrategy { private: //! Roughness is modelled by tanh profile [see e.g. Phys. Rev. B, vol. 47 (8), p. 4385 (1993)]. diff --git a/Core/Multilayer/SpecularSimulationElement.h b/Core/Multilayer/SpecularSimulationElement.h index ade4a2f685e..885c68a6510 100644 --- a/Core/Multilayer/SpecularSimulationElement.h +++ b/Core/Multilayer/SpecularSimulationElement.h @@ -29,7 +29,7 @@ class Slice; //! for specular simulation. //! @ingroup simulation -class BA_CORE_API_ SpecularSimulationElement +class SpecularSimulationElement { public: SpecularSimulationElement(double kz); diff --git a/Core/Parametrization/DistributionHandler.h b/Core/Parametrization/DistributionHandler.h index 8dc25a3a915..a178d085457 100644 --- a/Core/Parametrization/DistributionHandler.h +++ b/Core/Parametrization/DistributionHandler.h @@ -21,7 +21,7 @@ //! Provides the functionality to average over parameter distributions with weights. //! @ingroup algorithms_internal -class BA_CORE_API_ DistributionHandler : public IParameterized +class DistributionHandler : public IParameterized { public: typedef std::vector<ParameterDistribution> Distributions_t; diff --git a/Core/Parametrization/Distributions.h b/Core/Parametrization/Distributions.h index 738d080307f..66bf4e4798b 100644 --- a/Core/Parametrization/Distributions.h +++ b/Core/Parametrization/Distributions.h @@ -29,7 +29,7 @@ class ParameterSample; //! Interface for one-dimensional distributions. //! @ingroup distribution_internal -class BA_CORE_API_ IDistribution1D : public ICloneable, public INode +class IDistribution1D : public ICloneable, public INode { public: IDistribution1D(const NodeMeta& meta, const std::vector<double>& PValues); @@ -82,7 +82,7 @@ protected: //! Uniform distribution function with half width hwhm. //! @ingroup paramDistribution -class BA_CORE_API_ DistributionGate : public IDistribution1D +class DistributionGate : public IDistribution1D { public: DistributionGate(const std::vector<double> P); @@ -116,7 +116,7 @@ private: //! Lorentz distribution with half width hwhm. //! @ingroup paramDistribution -class BA_CORE_API_ DistributionLorentz : public IDistribution1D +class DistributionLorentz : public IDistribution1D { public: DistributionLorentz(const std::vector<double> P); @@ -149,7 +149,7 @@ private: //! Gaussian distribution with standard deviation std_dev. //! @ingroup paramDistribution -class BA_CORE_API_ DistributionGaussian : public IDistribution1D +class DistributionGaussian : public IDistribution1D { public: DistributionGaussian(const std::vector<double> P); @@ -185,7 +185,7 @@ private: //! Log-normal distribution. //! @ingroup paramDistribution -class BA_CORE_API_ DistributionLogNormal : public IDistribution1D +class DistributionLogNormal : public IDistribution1D { public: DistributionLogNormal(const std::vector<double> P); @@ -224,7 +224,7 @@ private: //! Cosine distribution. //! @ingroup paramDistribution -class BA_CORE_API_ DistributionCosine : public IDistribution1D +class DistributionCosine : public IDistribution1D { public: DistributionCosine(const std::vector<double> P); @@ -257,7 +257,7 @@ private: //! Trapezoidal distribution. //! @ingroup paramDistribution -class BA_CORE_API_ DistributionTrapezoid : public IDistribution1D +class DistributionTrapezoid : public IDistribution1D { public: DistributionTrapezoid(const std::vector<double> P); diff --git a/Core/Parametrization/INode.h b/Core/Parametrization/INode.h index e67cc0c20bd..ceb320c8ee1 100644 --- a/Core/Parametrization/INode.h +++ b/Core/Parametrization/INode.h @@ -24,7 +24,7 @@ const double INF = std::numeric_limits<double>::infinity(); //! Metadata of one model parameter. -struct BA_CORE_API_ ParaMeta { +struct ParaMeta { std::string name; std::string unit; std::string tooltip; @@ -34,7 +34,7 @@ struct BA_CORE_API_ ParaMeta { }; //! Metadata of one model node. -struct BA_CORE_API_ NodeMeta { +struct NodeMeta { std::string className; std::string tooltip; std::vector<ParaMeta> paraMeta; @@ -45,7 +45,7 @@ NodeMeta nodeMetaUnion(const std::vector<ParaMeta>& base, const NodeMeta& other) //! Base class for tree-like structures containing parameterized objects. //! @ingroup tools_internal -class BA_CORE_API_ INode : public IParameterized +class INode : public IParameterized { public: INode() : m_NP{0} {} diff --git a/Core/Parametrization/INodeVisitor.h b/Core/Parametrization/INodeVisitor.h index c91abd7dc01..aaed042a443 100644 --- a/Core/Parametrization/INodeVisitor.h +++ b/Core/Parametrization/INodeVisitor.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_PARAMETRIZATION_INODEVISITOR_H #define BORNAGAIN_CORE_PARAMETRIZATION_INODEVISITOR_H -#include "Wrap/WinDllMacros.h" class BasicLattice; class Beam; @@ -147,7 +146,7 @@ class SquareLattice; //! From visitor pattern to achieve double dispatch. -class BA_CORE_API_ INodeVisitor +class INodeVisitor { public: INodeVisitor() : m_depth(0) {} @@ -288,7 +287,7 @@ private: int m_depth; }; -BA_CORE_API_ void VisitNodesPreorder(const INode& node, INodeVisitor& visitor); -BA_CORE_API_ void VisitNodesPostorder(const INode& node, INodeVisitor& visitor); +void VisitNodesPreorder(const INode& node, INodeVisitor& visitor); +void VisitNodesPostorder(const INode& node, INodeVisitor& visitor); #endif // BORNAGAIN_CORE_PARAMETRIZATION_INODEVISITOR_H diff --git a/Core/Parametrization/IParameterized.h b/Core/Parametrization/IParameterized.h index 70b97cfcc47..1dbd421a43e 100644 --- a/Core/Parametrization/IParameterized.h +++ b/Core/Parametrization/IParameterized.h @@ -25,7 +25,7 @@ class RealParameter; //! Manages a local parameter pool, and a tree of child pools. //! @ingroup tools_internal -class BA_CORE_API_ IParameterized +class IParameterized { public: IParameterized(const std::string& name = ""); diff --git a/Core/Parametrization/IterationStrategy.h b/Core/Parametrization/IterationStrategy.h index 687e55ec1b5..b18128e2ffe 100644 --- a/Core/Parametrization/IterationStrategy.h +++ b/Core/Parametrization/IterationStrategy.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_PARAMETRIZATION_ITERATIONSTRATEGY_H #define BORNAGAIN_CORE_PARAMETRIZATION_ITERATIONSTRATEGY_H -#include "Wrap/WinDllMacros.h" class INode; class IteratorMemento; @@ -24,7 +23,7 @@ class IteratorMemento; //! //! For definition of different strategies see https://en.wikipedia.org/wiki/Tree_traversal. -class BA_CORE_API_ IterationStrategy +class IterationStrategy { public: virtual IterationStrategy* clone() const = 0; @@ -35,7 +34,7 @@ public: }; //! Traverse tree; visit parents before their children. -class BA_CORE_API_ PreorderStrategy : public IterationStrategy +class PreorderStrategy : public IterationStrategy { public: PreorderStrategy(); @@ -48,7 +47,7 @@ public: }; //! Traverse tree; visit children before their parents. -class BA_CORE_API_ PostorderStrategy : public IterationStrategy +class PostorderStrategy : public IterationStrategy { public: PostorderStrategy(); diff --git a/Core/Parametrization/NodeIterator.h b/Core/Parametrization/NodeIterator.h index 589511f73cb..fbe0ba88fbd 100644 --- a/Core/Parametrization/NodeIterator.h +++ b/Core/Parametrization/NodeIterator.h @@ -86,7 +86,7 @@ protected: //! } //! @ingroup samples_internal -template <class Strategy> class BA_CORE_API_ NodeIterator +template <class Strategy> class NodeIterator { public: NodeIterator(const INode* root); diff --git a/Core/Parametrization/NodeUtils.h b/Core/Parametrization/NodeUtils.h index 4f164c1f7f1..188c5a88fad 100644 --- a/Core/Parametrization/NodeUtils.h +++ b/Core/Parametrization/NodeUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_PARAMETRIZATION_NODEUTILS_H #define BORNAGAIN_CORE_PARAMETRIZATION_NODEUTILS_H -#include "Wrap/WinDllMacros.h" #include <string> class INode; @@ -24,10 +23,10 @@ namespace NodeUtils { //! Returns multiline string representing tree structure starting from given node. -BA_CORE_API_ std::string nodeToString(const INode& node); +std::string nodeToString(const INode& node); //! Returns path composed of node's displayName, with respect to root node -BA_CORE_API_ std::string nodePath(const INode& node, const INode* root = nullptr); +std::string nodePath(const INode& node, const INode* root = nullptr); } // namespace NodeUtils diff --git a/Core/Parametrization/ParameterDistribution.h b/Core/Parametrization/ParameterDistribution.h index 660b49826da..a2723de55a2 100644 --- a/Core/Parametrization/ParameterDistribution.h +++ b/Core/Parametrization/ParameterDistribution.h @@ -25,7 +25,7 @@ class IDistribution1D; //! A parametric distribution function, for use with any model parameter. -class BA_CORE_API_ ParameterDistribution : public IParameterized +class ParameterDistribution : public IParameterized { public: ParameterDistribution(const std::string& par_name, const IDistribution1D& distribution, diff --git a/Core/Parametrization/ParameterPattern.h b/Core/Parametrization/ParameterPattern.h index dc662279a4d..1bd6f6ba0fb 100644 --- a/Core/Parametrization/ParameterPattern.h +++ b/Core/Parametrization/ParameterPattern.h @@ -15,13 +15,12 @@ #ifndef BORNAGAIN_CORE_PARAMETRIZATION_PARAMETERPATTERN_H #define BORNAGAIN_CORE_PARAMETRIZATION_PARAMETERPATTERN_H -#include "Wrap/WinDllMacros.h" #include <string> //! Helper class for constructing parameter patterns. //! @ingroup tools_internal -class BA_CORE_API_ ParameterPattern +class ParameterPattern { public: ParameterPattern() {} diff --git a/Core/Parametrization/ParameterPool.h b/Core/Parametrization/ParameterPool.h index 2fb6b83fecb..97988e29b54 100644 --- a/Core/Parametrization/ParameterPool.h +++ b/Core/Parametrization/ParameterPool.h @@ -26,7 +26,7 @@ class RealParameter; //! Container with parameters for IParameterized object. //! @ingroup tools_internal -class BA_CORE_API_ ParameterPool : public ICloneable +class ParameterPool : public ICloneable { public: ParameterPool(); diff --git a/Core/Parametrization/ParameterUtils.h b/Core/Parametrization/ParameterUtils.h index 444600620a6..ef9a21c8d90 100644 --- a/Core/Parametrization/ParameterUtils.h +++ b/Core/Parametrization/ParameterUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_PARAMETRIZATION_PARAMETERUTILS_H #define BORNAGAIN_CORE_PARAMETRIZATION_PARAMETERUTILS_H -#include "Wrap/WinDllMacros.h" #include <string> class IParameterized; @@ -24,10 +23,10 @@ namespace ParameterUtils { //! Returns true if given parameter name is related to angles. -BA_CORE_API_ bool isAngleRelated(const std::string& par_name); +bool isAngleRelated(const std::string& par_name); //! Returns units of main parameter. -BA_CORE_API_ std::string poolParameterUnits(const IParameterized& node, const std::string& parName); +std::string poolParameterUnits(const IParameterized& node, const std::string& parName); } // namespace ParameterUtils diff --git a/Core/Parametrization/RangedDistributions.h b/Core/Parametrization/RangedDistributions.h index 64f26edc1a5..b5e41d07b80 100644 --- a/Core/Parametrization/RangedDistributions.h +++ b/Core/Parametrization/RangedDistributions.h @@ -33,7 +33,7 @@ class ParameterSample; //! (except for RangedDistributionLorentz which uses median and hwhm). //! @ingroup distribution_internal -class BA_CORE_API_ RangedDistribution : public ICloneable +class RangedDistribution : public ICloneable { public: RangedDistribution(); @@ -95,7 +95,7 @@ private: //! Uniform distribution function. //! @ingroup paramDistribution -class BA_CORE_API_ RangedDistributionGate : public RangedDistribution +class RangedDistributionGate : public RangedDistribution { public: RangedDistributionGate(); @@ -120,7 +120,7 @@ protected: //! Lorentz distribution with median and hwhm. //! @ingroup paramDistribution -class BA_CORE_API_ RangedDistributionLorentz : public RangedDistribution +class RangedDistributionLorentz : public RangedDistribution { public: RangedDistributionLorentz(); @@ -145,7 +145,7 @@ protected: //! Gaussian distribution with standard deviation std_dev. //! @ingroup paramDistribution -class BA_CORE_API_ RangedDistributionGaussian : public RangedDistribution +class RangedDistributionGaussian : public RangedDistribution { public: RangedDistributionGaussian(); @@ -170,7 +170,7 @@ protected: //! Log-normal distribution. //! @ingroup paramDistribution -class BA_CORE_API_ RangedDistributionLogNormal : public RangedDistribution +class RangedDistributionLogNormal : public RangedDistribution { public: RangedDistributionLogNormal(); @@ -195,7 +195,7 @@ protected: //! Cosine distribution. //! @ingroup paramDistribution -class BA_CORE_API_ RangedDistributionCosine : public RangedDistribution +class RangedDistributionCosine : public RangedDistribution { public: RangedDistributionCosine(); diff --git a/Core/Parametrization/RealParameter.h b/Core/Parametrization/RealParameter.h index 566837cb674..1384744175f 100644 --- a/Core/Parametrization/RealParameter.h +++ b/Core/Parametrization/RealParameter.h @@ -19,7 +19,6 @@ #include "Core/Parametrization/Unit.h" #include "Fit/Tools/Attributes.h" #include "Fit/Tools/RealLimits.h" -#include "Wrap/WinDllMacros.h" #include <string> class ParameterPool; @@ -29,7 +28,7 @@ class ParameterPool; //! this class holds Limits, Attributes (currently only fixed or not), and a Unit. //! @ingroup tools_internal -class BA_CORE_API_ RealParameter : public IParameter<double> +class RealParameter : public IParameter<double> { public: RealParameter(const std::string& name, double* par, const std::string& parent_name = "", diff --git a/Core/Parametrization/SimulationOptions.h b/Core/Parametrization/SimulationOptions.h index d7aca311498..4542271add6 100644 --- a/Core/Parametrization/SimulationOptions.h +++ b/Core/Parametrization/SimulationOptions.h @@ -24,7 +24,7 @@ using std::size_t; //! @ingroup simulation //! @ref SimulationOptions -class BA_CORE_API_ SimulationOptions +class SimulationOptions { public: SimulationOptions(); diff --git a/Core/Parametrization/ThreadInfo.h b/Core/Parametrization/ThreadInfo.h index a95424fc640..066ad4c5f78 100644 --- a/Core/Parametrization/ThreadInfo.h +++ b/Core/Parametrization/ThreadInfo.h @@ -15,12 +15,11 @@ #ifndef BORNAGAIN_CORE_PARAMETRIZATION_THREADINFO_H #define BORNAGAIN_CORE_PARAMETRIZATION_THREADINFO_H -#include "Wrap/WinDllMacros.h" //! Information to run simulation with dedicated number of threads. //! @ingroup simulation -struct BA_CORE_API_ ThreadInfo { +struct ThreadInfo { ThreadInfo(); unsigned n_threads; unsigned n_batches; diff --git a/Core/Particle/Crystal.h b/Core/Particle/Crystal.h index 7fdea15bf57..f3ead897a56 100644 --- a/Core/Particle/Crystal.h +++ b/Core/Particle/Crystal.h @@ -23,7 +23,7 @@ //! Used in MesoCrystal, where it is given an outer shape. //! @ingroup samples -class BA_CORE_API_ Crystal : public IClusteredParticles +class Crystal : public IClusteredParticles { public: Crystal(const IParticle& lattice_basis, const Lattice& lattice); diff --git a/Core/Particle/FormFactorCoreShell.h b/Core/Particle/FormFactorCoreShell.h index 8efd02c395a..b22c4cd50a4 100644 --- a/Core/Particle/FormFactorCoreShell.h +++ b/Core/Particle/FormFactorCoreShell.h @@ -25,7 +25,7 @@ //! @ingroup formfactors_internal -class BA_CORE_API_ FormFactorCoreShell : public IFormFactor +class FormFactorCoreShell : public IFormFactor { public: FormFactorCoreShell(IFormFactor* core, IFormFactor* shell); diff --git a/Core/Particle/FormFactorCrystal.h b/Core/Particle/FormFactorCrystal.h index bd8ea490125..c460c12284c 100644 --- a/Core/Particle/FormFactorCrystal.h +++ b/Core/Particle/FormFactorCrystal.h @@ -21,7 +21,7 @@ //! The form factor of a MesoCrystal. //! @ingroup formfactors -class BA_CORE_API_ FormFactorCrystal : public IFormFactor +class FormFactorCrystal : public IFormFactor { public: FormFactorCrystal(const Lattice& lattice, const IFormFactor& basis_form_factor, diff --git a/Core/Particle/FormFactorWeighted.h b/Core/Particle/FormFactorWeighted.h index 27afe97ca9b..c83199f8a6d 100644 --- a/Core/Particle/FormFactorWeighted.h +++ b/Core/Particle/FormFactorWeighted.h @@ -25,7 +25,7 @@ //! @ingroup formfactors_internal -class BA_CORE_API_ FormFactorWeighted : public IFormFactor +class FormFactorWeighted : public IFormFactor { public: FormFactorWeighted(); diff --git a/Core/Particle/HomogeneousRegion.h b/Core/Particle/HomogeneousRegion.h index 49f6974e950..9aa0796badf 100644 --- a/Core/Particle/HomogeneousRegion.h +++ b/Core/Particle/HomogeneousRegion.h @@ -35,7 +35,7 @@ struct HomogeneousRegion { //! Creates averaged material. Square refractive index of returned material is arithmetic mean over //! _regions_ and _layer_mat_. Magnetization (if present) is averaged linearly. -BA_CORE_API_ Material createAveragedMaterial(const Material& layer_mat, +Material createAveragedMaterial(const Material& layer_mat, const std::vector<HomogeneousRegion>& regions); #endif // SWIG diff --git a/Core/Particle/IAbstractParticle.h b/Core/Particle/IAbstractParticle.h index 23fe204ec45..bd1966f9a18 100644 --- a/Core/Particle/IAbstractParticle.h +++ b/Core/Particle/IAbstractParticle.h @@ -26,7 +26,7 @@ class IRotation; //! @ingroup samples -class BA_CORE_API_ IAbstractParticle : public ISample +class IAbstractParticle : public ISample { public: IAbstractParticle() = default; diff --git a/Core/Particle/IClusteredParticles.h b/Core/Particle/IClusteredParticles.h index 7758862c70f..14b90f4f95b 100644 --- a/Core/Particle/IClusteredParticles.h +++ b/Core/Particle/IClusteredParticles.h @@ -25,7 +25,7 @@ class IRotation; //! An ordered assembly of particles. Currently, the only child class is Crystal. //! @ingroup samples_internal -class BA_CORE_API_ IClusteredParticles : public ISample +class IClusteredParticles : public ISample { public: IClusteredParticles* clone() const override = 0; diff --git a/Core/Particle/IParticle.h b/Core/Particle/IParticle.h index 748843cbd8c..45e0b808d98 100644 --- a/Core/Particle/IParticle.h +++ b/Core/Particle/IParticle.h @@ -28,7 +28,7 @@ //! //! @ingroup samples -class BA_CORE_API_ IParticle : public IAbstractParticle +class IParticle : public IAbstractParticle { public: ~IParticle() {} diff --git a/Core/Particle/MesoCrystal.h b/Core/Particle/MesoCrystal.h index e68981214c5..cdf551fc9d4 100644 --- a/Core/Particle/MesoCrystal.h +++ b/Core/Particle/MesoCrystal.h @@ -22,7 +22,7 @@ class IClusteredParticles; //! A particle with an internal structure of smaller particles. //! @ingroup samples -class BA_CORE_API_ MesoCrystal : public IParticle +class MesoCrystal : public IParticle { public: MesoCrystal(const IClusteredParticles& particle_structure, const IFormFactor& form_factor); diff --git a/Core/Particle/Particle.h b/Core/Particle/Particle.h index 7ca81cefcdb..7f628bb20b4 100644 --- a/Core/Particle/Particle.h +++ b/Core/Particle/Particle.h @@ -23,7 +23,7 @@ //! A particle with a form factor and refractive index. //! @ingroup samples -class BA_CORE_API_ Particle : public IParticle +class Particle : public IParticle { public: Particle(); diff --git a/Core/Particle/ParticleComposition.h b/Core/Particle/ParticleComposition.h index 5b90ca2951f..c530872a7b4 100644 --- a/Core/Particle/ParticleComposition.h +++ b/Core/Particle/ParticleComposition.h @@ -21,7 +21,7 @@ //! A composition of particles at fixed positions //! @ingroup samples -class BA_CORE_API_ ParticleComposition : public IParticle +class ParticleComposition : public IParticle { public: ParticleComposition(); diff --git a/Core/Particle/ParticleCoreShell.h b/Core/Particle/ParticleCoreShell.h index 64b70448d8c..a0e95171e67 100644 --- a/Core/Particle/ParticleCoreShell.h +++ b/Core/Particle/ParticleCoreShell.h @@ -22,7 +22,7 @@ class Particle; //! A particle with a core/shell geometry. //! @ingroup samples -class BA_CORE_API_ ParticleCoreShell : public IParticle +class ParticleCoreShell : public IParticle { public: ParticleCoreShell(const Particle& shell, const Particle& core, diff --git a/Core/Particle/ParticleDistribution.h b/Core/Particle/ParticleDistribution.h index fb3b29d7dfa..4f481bdaf07 100644 --- a/Core/Particle/ParticleDistribution.h +++ b/Core/Particle/ParticleDistribution.h @@ -24,7 +24,7 @@ class IParticle; //! A particle type that is a parametric distribution of IParticle's. //! @ingroup samples -class BA_CORE_API_ ParticleDistribution : public IAbstractParticle +class ParticleDistribution : public IAbstractParticle { public: ParticleDistribution(const IParticle& prototype, const ParameterDistribution& par_distr); diff --git a/Core/PyIO/PyEmbeddedUtils.h b/Core/PyIO/PyEmbeddedUtils.h index ebff03a2493..ab3742a06b8 100644 --- a/Core/PyIO/PyEmbeddedUtils.h +++ b/Core/PyIO/PyEmbeddedUtils.h @@ -18,7 +18,6 @@ #ifdef BORNAGAIN_PYTHON #include "Core/Tools/PyObject.h" -#include "Wrap/WinDllMacros.h" #include <memory> #include <string> #include <vector> @@ -29,23 +28,23 @@ namespace PyEmbeddedUtils { //! Converts PyObject into string, if possible, or throws exception. -BA_CORE_API_ std::string toString(PyObject* obj); +std::string toString(PyObject* obj); //! Converts PyObject into vector of strings, if possible, or throws exception. -BA_CORE_API_ std::vector<std::string> toVectorString(PyObject* obj); +std::vector<std::string> toVectorString(PyObject* obj); //! Converts char to string. In the case of nullptr will return an empty string. -BA_CORE_API_ std::string toString(char* c); -BA_CORE_API_ std::string toString(wchar_t* c); +std::string toString(char* c); +std::string toString(wchar_t* c); //! Imports BornAgain from given location. If path is empty, tries to rely on PYTHONPATH. -BA_CORE_API_ void import_bornagain(const std::string& path = ""); +void import_bornagain(const std::string& path = ""); //! Returns multi-line string representing PATH, PYTHONPATH, sys.path and other info. -BA_CORE_API_ std::string pythonRuntimeInfo(); +std::string pythonRuntimeInfo(); //! Returns string representing python stack trace. -BA_CORE_API_ std::string pythonStackTrace(); +std::string pythonStackTrace(); } // namespace PyEmbeddedUtils #endif // BORNAGAIN_PYTHON diff --git a/Core/PyIO/PyImport.h b/Core/PyIO/PyImport.h index 764163e8e99..a6a272e00e1 100644 --- a/Core/PyIO/PyImport.h +++ b/Core/PyIO/PyImport.h @@ -17,7 +17,6 @@ #ifdef BORNAGAIN_PYTHON -#include "Wrap/WinDllMacros.h" #include <memory> #include <string> #include <vector> @@ -34,14 +33,14 @@ namespace PyImport //! @param script: Python script //! @param functionName: A function name in this script which produces a MultiLayer //! @param path: A path to import BornAgain library. If empty, relies on PYTHONPATH -BA_CORE_API_ std::unique_ptr<MultiLayer> createFromPython(const std::string& script, +std::unique_ptr<MultiLayer> createFromPython(const std::string& script, const std::string& functionName, const std::string& path = ""); //! Returns list of functions defined in the script. //! @param script: Python script //! @param path: A path to import BornAgain library. If empty, relies on PYTHONPATH -BA_CORE_API_ std::vector<std::string> listOfFunctions(const std::string& script, +std::vector<std::string> listOfFunctions(const std::string& script, const std::string& path = ""); } // namespace PyImport diff --git a/Core/PyIO/PythonFormatting.h b/Core/PyIO/PythonFormatting.h index 8d73df183ad..87c71d16cd1 100644 --- a/Core/PyIO/PythonFormatting.h +++ b/Core/PyIO/PythonFormatting.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_PYIO_PYTHONFORMATTING_H #define BORNAGAIN_CORE_PYIO_PYTHONFORMATTING_H -#include "Wrap/WinDllMacros.h" #include <functional> #include <string> @@ -31,23 +30,23 @@ class IAxis; namespace pyfmt2 { -BA_CORE_API_ std::string representShape2D(const std::string& indent, const IShape2D* ishape, +std::string representShape2D(const std::string& indent, const IShape2D* ishape, bool mask_value, std::function<std::string(double)> printValueFunc); -BA_CORE_API_ std::string valueTimesUnit(const RealParameter* par); -BA_CORE_API_ std::string argumentList(const IParameterized* ip); +std::string valueTimesUnit(const RealParameter* par); +std::string argumentList(const IParameterized* ip); -BA_CORE_API_ std::string printDistribution(const IDistribution1D& par_distr, +std::string printDistribution(const IDistribution1D& par_distr, const std::string& units = ""); -BA_CORE_API_ std::string printParameterDistribution(const ParameterDistribution& par_distr, +std::string printParameterDistribution(const ParameterDistribution& par_distr, const std::string& distVarName, const std::string& units = ""); //! Prints python-script definition for given axis. //! offset is used for alignment and indentation in multiple-line definitions -BA_CORE_API_ std::string printAxis(const IAxis& axis, const std::string& units, size_t offset); +std::string printAxis(const IAxis& axis, const std::string& units, size_t offset); } // namespace pyfmt2 diff --git a/Core/RT/ILayerRTCoefficients.h b/Core/RT/ILayerRTCoefficients.h index b841a2e59d4..30594093e40 100644 --- a/Core/RT/ILayerRTCoefficients.h +++ b/Core/RT/ILayerRTCoefficients.h @@ -22,7 +22,7 @@ //! Interface to access reflection/transmission coefficients. //! @ingroup algorithms_internal -class BA_CORE_API_ ILayerRTCoefficients +class ILayerRTCoefficients { public: virtual ~ILayerRTCoefficients() {} diff --git a/Core/RT/MatrixRTCoefficients.h b/Core/RT/MatrixRTCoefficients.h index b8c6424a945..2405f4fec0d 100644 --- a/Core/RT/MatrixRTCoefficients.h +++ b/Core/RT/MatrixRTCoefficients.h @@ -21,7 +21,7 @@ //! of 2x2 matrix interactions between the layers and the scattered particle. //! @ingroup algorithms_internal -class BA_CORE_API_ MatrixRTCoefficients : public ILayerRTCoefficients +class MatrixRTCoefficients : public ILayerRTCoefficients { public: MatrixRTCoefficients() : m_kt(0.0) {} diff --git a/Core/RT/MatrixRTCoefficients_v2.h b/Core/RT/MatrixRTCoefficients_v2.h index 1283f748d9c..da98d428f98 100644 --- a/Core/RT/MatrixRTCoefficients_v2.h +++ b/Core/RT/MatrixRTCoefficients_v2.h @@ -23,7 +23,7 @@ //! of magnetic interactions between the scattered particle and the layer. //! @ingroup algorithms_internal -class BA_CORE_API_ MatrixRTCoefficients_v2 : public ILayerRTCoefficients +class MatrixRTCoefficients_v2 : public ILayerRTCoefficients { public: friend class SpecularMagneticStrategy; diff --git a/Core/RT/MatrixRTCoefficients_v3.h b/Core/RT/MatrixRTCoefficients_v3.h index b2abf5f139a..8dd5a018fc8 100644 --- a/Core/RT/MatrixRTCoefficients_v3.h +++ b/Core/RT/MatrixRTCoefficients_v3.h @@ -23,7 +23,7 @@ //! of magnetic interactions between the scattered particle and the layer. //! @ingroup algorithms_internal -class BA_CORE_API_ MatrixRTCoefficients_v3 : public ILayerRTCoefficients +class MatrixRTCoefficients_v3 : public ILayerRTCoefficients { public: friend class SpecularMagneticNewStrategy; diff --git a/Core/RT/ScalarRTCoefficients.h b/Core/RT/ScalarRTCoefficients.h index 9f1d4bffee6..06776ebd6a3 100644 --- a/Core/RT/ScalarRTCoefficients.h +++ b/Core/RT/ScalarRTCoefficients.h @@ -23,7 +23,7 @@ //! of scalar interactions between the layers and the scattered particle. //! @ingroup algorithms_internal -class BA_CORE_API_ ScalarRTCoefficients : public ILayerRTCoefficients +class ScalarRTCoefficients : public ILayerRTCoefficients { public: ScalarRTCoefficients(); diff --git a/Core/Scattering/FormFactorDecoratorMaterial.h b/Core/Scattering/FormFactorDecoratorMaterial.h index 409d765332f..c9993b7069d 100644 --- a/Core/Scattering/FormFactorDecoratorMaterial.h +++ b/Core/Scattering/FormFactorDecoratorMaterial.h @@ -23,7 +23,7 @@ //! refractive index and that of its surrounding material. //! @ingroup formfactors_decorations -class BA_CORE_API_ FormFactorDecoratorMaterial : public IFormFactorDecorator +class FormFactorDecoratorMaterial : public IFormFactorDecorator { public: FormFactorDecoratorMaterial(const IFormFactor& form_factor); diff --git a/Core/Scattering/FormFactorDecoratorPositionFactor.h b/Core/Scattering/FormFactorDecoratorPositionFactor.h index 84f71867880..ae0dee1f29a 100644 --- a/Core/Scattering/FormFactorDecoratorPositionFactor.h +++ b/Core/Scattering/FormFactorDecoratorPositionFactor.h @@ -21,7 +21,7 @@ //! Decorates a form factor with a position dependent phase factor. //! @ingroup formfactors_internal -class BA_CORE_API_ FormFactorDecoratorPositionFactor : public IFormFactorDecorator +class FormFactorDecoratorPositionFactor : public IFormFactorDecorator { public: FormFactorDecoratorPositionFactor(const IFormFactor& form_factor, const kvector_t& position); diff --git a/Core/Scattering/FormFactorDecoratorRotation.h b/Core/Scattering/FormFactorDecoratorRotation.h index 1be8a58cb2f..eacf150feda 100644 --- a/Core/Scattering/FormFactorDecoratorRotation.h +++ b/Core/Scattering/FormFactorDecoratorRotation.h @@ -22,7 +22,7 @@ //! Equips a form factor with a rotation. //! @ingroup formfactors_internal -class BA_CORE_API_ FormFactorDecoratorRotation : public IFormFactorDecorator +class FormFactorDecoratorRotation : public IFormFactorDecorator { public: //! Constructor, setting form factor and rotation. diff --git a/Core/Scattering/IFormFactor.h b/Core/Scattering/IFormFactor.h index 75c31e8b850..0974cf042d0 100644 --- a/Core/Scattering/IFormFactor.h +++ b/Core/Scattering/IFormFactor.h @@ -37,7 +37,7 @@ class WavevectorInfo; //! @ingroup formfactors_internal -class BA_CORE_API_ IFormFactor : public ISample +class IFormFactor : public ISample { public: IFormFactor() = default; diff --git a/Core/Scattering/IFormFactorBorn.h b/Core/Scattering/IFormFactorBorn.h index 2f62695ccaa..8a5718f54db 100644 --- a/Core/Scattering/IFormFactorBorn.h +++ b/Core/Scattering/IFormFactorBorn.h @@ -29,7 +29,7 @@ struct SlicingEffects; // defined below //! @ingroup formfactors_internal -class BA_CORE_API_ IFormFactorBorn : public IFormFactor +class IFormFactorBorn : public IFormFactor { public: IFormFactorBorn() = default; diff --git a/Core/Scattering/IFormFactorDecorator.h b/Core/Scattering/IFormFactorDecorator.h index be2d400249a..ddc1aa46020 100644 --- a/Core/Scattering/IFormFactorDecorator.h +++ b/Core/Scattering/IFormFactorDecorator.h @@ -25,7 +25,7 @@ //! //! @ingroup formfactors_internal -class BA_CORE_API_ IFormFactorDecorator : public IFormFactor +class IFormFactorDecorator : public IFormFactor { public: IFormFactorDecorator(const IFormFactor& form_factor) : mp_form_factor(form_factor.clone()) {} diff --git a/Core/Scattering/ISample.h b/Core/Scattering/ISample.h index 30017095738..632e4ca6b4d 100644 --- a/Core/Scattering/ISample.h +++ b/Core/Scattering/ISample.h @@ -24,7 +24,7 @@ class Material; //! Pure virtual base class for sample components and properties related to scattering. //! @ingroup samples_internal -class BA_CORE_API_ ISample : public ICloneable, public INode +class ISample : public ICloneable, public INode { public: ISample() = default; diff --git a/Core/Scattering/Rotations.h b/Core/Scattering/Rotations.h index 443c898fb11..dc7d13c975e 100644 --- a/Core/Scattering/Rotations.h +++ b/Core/Scattering/Rotations.h @@ -24,7 +24,7 @@ class Transform3D; //! Pure virtual interface for rotations. //! @ingroup samples -class BA_CORE_API_ IRotation : public ICloneable, public INode +class IRotation : public ICloneable, public INode { public: static IRotation* createRotation(const Transform3D& transform); @@ -48,11 +48,11 @@ public: bool zInvariant() const; }; -BA_CORE_API_ IRotation* createProduct(const IRotation& left, const IRotation& right); +IRotation* createProduct(const IRotation& left, const IRotation& right); //! The identity rotation, which leaves everything in place. -class BA_CORE_API_ IdentityRotation : public IRotation // TODO get rid of this class +class IdentityRotation : public IRotation // TODO get rid of this class { public: IdentityRotation(); @@ -69,7 +69,7 @@ public: //! A rotation about the x axis. -class BA_CORE_API_ RotationX : public IRotation +class RotationX : public IRotation { public: RotationX(const std::vector<double> P); @@ -90,7 +90,7 @@ protected: //! A rotation about the y axis. -class BA_CORE_API_ RotationY : public IRotation +class RotationY : public IRotation { public: RotationY(const std::vector<double> P); @@ -111,7 +111,7 @@ protected: //! A rotation about the z axis. -class BA_CORE_API_ RotationZ : public IRotation +class RotationZ : public IRotation { public: RotationZ(const std::vector<double> P); @@ -132,7 +132,7 @@ protected: //! A sequence of rotations about the z-x'-z'' axes. -class BA_CORE_API_ RotationEuler : public IRotation +class RotationEuler : public IRotation { public: RotationEuler(const std::vector<double> P); diff --git a/Core/Scattering/ZLimits.h b/Core/Scattering/ZLimits.h index aa5408847a5..926a2fda67a 100644 --- a/Core/Scattering/ZLimits.h +++ b/Core/Scattering/ZLimits.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_SCATTERING_ZLIMITS_H #define BORNAGAIN_CORE_SCATTERING_ZLIMITS_H -#include "Wrap/WinDllMacros.h" #include <iostream> //! Vertical extension of a particle, specified by bottom and top z coordinate. @@ -28,7 +27,7 @@ struct ParticleLimits { //! //! @ingroup intern -struct BA_CORE_API_ OneSidedLimit { +struct OneSidedLimit { bool m_limitless; double m_value; }; @@ -38,7 +37,7 @@ struct BA_CORE_API_ OneSidedLimit { //! //! @ingroup intern -class BA_CORE_API_ ZLimits +class ZLimits { public: ZLimits(); @@ -62,10 +61,10 @@ bool operator!=(const OneSidedLimit& left, const OneSidedLimit& right); std::ostream& operator<<(std::ostream& ostr, const OneSidedLimit& limit); -BA_CORE_API_ ZLimits ConvexHull(const ZLimits& left, const ZLimits& right); -BA_CORE_API_ bool operator==(const ZLimits& left, const ZLimits& right); -BA_CORE_API_ bool operator!=(const ZLimits& left, const ZLimits& right); +ZLimits ConvexHull(const ZLimits& left, const ZLimits& right); +bool operator==(const ZLimits& left, const ZLimits& right); +bool operator!=(const ZLimits& left, const ZLimits& right); -BA_CORE_API_ std::ostream& operator<<(std::ostream& ostr, const ZLimits& limits); +std::ostream& operator<<(std::ostream& ostr, const ZLimits& limits); #endif // BORNAGAIN_CORE_SCATTERING_ZLIMITS_H diff --git a/Core/Simulation/DepthProbeSimulation.h b/Core/Simulation/DepthProbeSimulation.h index 6f59761390d..9c07df19156 100644 --- a/Core/Simulation/DepthProbeSimulation.h +++ b/Core/Simulation/DepthProbeSimulation.h @@ -31,7 +31,7 @@ class MultiLayer; class Histogram1D; class IUnitConverter; -class BA_CORE_API_ DepthProbeSimulation : public Simulation +class DepthProbeSimulation : public Simulation { public: DepthProbeSimulation(); diff --git a/Core/Simulation/GISASSimulation.h b/Core/Simulation/GISASSimulation.h index 414ed38166f..6faced4b74b 100644 --- a/Core/Simulation/GISASSimulation.h +++ b/Core/Simulation/GISASSimulation.h @@ -24,7 +24,7 @@ class IMultiLayerBuilder; //! Main class to run a Grazing-Incidence Small-Angle Scattering simulation. //! @ingroup simulation -class BA_CORE_API_ GISASSimulation : public Simulation2D +class GISASSimulation : public Simulation2D { public: GISASSimulation(); diff --git a/Core/Simulation/OffSpecSimulation.h b/Core/Simulation/OffSpecSimulation.h index b4e0a0968cb..05e817220de 100644 --- a/Core/Simulation/OffSpecSimulation.h +++ b/Core/Simulation/OffSpecSimulation.h @@ -23,7 +23,7 @@ class Histogram2D; //! Main class to run an off-specular simulation. //! @ingroup simulation -class BA_CORE_API_ OffSpecSimulation : public Simulation2D +class OffSpecSimulation : public Simulation2D { public: OffSpecSimulation(); diff --git a/Core/Simulation/Simulation.h b/Core/Simulation/Simulation.h index 98d0b4a9a56..871a483b8e4 100644 --- a/Core/Simulation/Simulation.h +++ b/Core/Simulation/Simulation.h @@ -35,7 +35,7 @@ class MultiLayer; //! weighting over parameter distributions, ... //! @ingroup simulation -class BA_CORE_API_ Simulation : public ICloneable, public INode +class Simulation : public ICloneable, public INode { public: Simulation(); diff --git a/Core/Simulation/Simulation2D.h b/Core/Simulation/Simulation2D.h index e760049af1b..cc07b07edf3 100644 --- a/Core/Simulation/Simulation2D.h +++ b/Core/Simulation/Simulation2D.h @@ -24,7 +24,7 @@ class DetectorContext; //! Holds the common implementations for simulations with a 2D detector //! @ingroup simulation -class BA_CORE_API_ Simulation2D : public Simulation +class Simulation2D : public Simulation { public: Simulation2D(); diff --git a/Core/Simulation/SimulationFactory.h b/Core/Simulation/SimulationFactory.h index af9421d159b..7a7de6cd502 100644 --- a/Core/Simulation/SimulationFactory.h +++ b/Core/Simulation/SimulationFactory.h @@ -23,7 +23,7 @@ //! Used in functional tests, performance measurements, etc. //! @ingroup standard_samples -class BA_CORE_API_ SimulationFactory : public IFactory<std::string, Simulation> +class SimulationFactory : public IFactory<std::string, Simulation> { public: SimulationFactory(); diff --git a/Core/Simulation/SpecularSimulation.h b/Core/Simulation/SpecularSimulation.h index 11c483788b8..aca448e6c04 100644 --- a/Core/Simulation/SpecularSimulation.h +++ b/Core/Simulation/SpecularSimulation.h @@ -31,7 +31,7 @@ class SpecularSimulationElement; //! Main class to run a specular simulation. //! @ingroup simulation -class BA_CORE_API_ SpecularSimulation : public Simulation +class SpecularSimulation : public Simulation { public: SpecularSimulation(); diff --git a/Core/Simulation/StandardSimulations.h b/Core/Simulation/StandardSimulations.h index 671d8232e05..292fb7635dc 100644 --- a/Core/Simulation/StandardSimulations.h +++ b/Core/Simulation/StandardSimulations.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_SIMULATION_STANDARDSIMULATIONS_H #define BORNAGAIN_CORE_SIMULATION_STANDARDSIMULATIONS_H -#include "Wrap/WinDllMacros.h" class DepthProbeSimulation; class GISASSimulation; @@ -28,61 +27,61 @@ namespace StandardSimulations { // CoreSuite tests: -BA_CORE_API_ GISASSimulation* BasicGISAS(); -BA_CORE_API_ GISASSimulation* BasicGISAS00(); -BA_CORE_API_ GISASSimulation* BasicPolarizedGISAS(); -BA_CORE_API_ GISASSimulation* MiniGISAS(); -BA_CORE_API_ GISASSimulation* MiniGISAS_v2(); -BA_CORE_API_ GISASSimulation* MiniGISASBeamDivergence(); -BA_CORE_API_ GISASSimulation* MiniGISASDetectorResolution(); -BA_CORE_API_ GISASSimulation* MiniGISASSpecularPeak(); -BA_CORE_API_ GISASSimulation* GISASWithMasks(); -BA_CORE_API_ GISASSimulation* MaxiGISAS(); -BA_CORE_API_ GISASSimulation* MaxiGISAS00(); -BA_CORE_API_ GISASSimulation* IsGISAXSSimulation1(); -BA_CORE_API_ GISASSimulation* IsGISAXSSimulation2(); -BA_CORE_API_ GISASSimulation* RectDetectorGeneric(); -BA_CORE_API_ GISASSimulation* RectDetectorPerpToSample(); -BA_CORE_API_ GISASSimulation* RectDetectorPerpToDirectBeam(); -BA_CORE_API_ GISASSimulation* RectDetectorPerpToReflectedBeam(); -BA_CORE_API_ GISASSimulation* RectDetectorPerpToReflectedBeamDpos(); -BA_CORE_API_ GISASSimulation* MiniGISASMonteCarlo(); -BA_CORE_API_ GISASSimulation* SphericalDetWithRoi(); -BA_CORE_API_ GISASSimulation* RectDetWithRoi(); -BA_CORE_API_ GISASSimulation* ConstantBackgroundGISAS(); -BA_CORE_API_ GISASSimulation* MiniGISASFit(); -BA_CORE_API_ GISASSimulation* ExtraLongWavelengthGISAS(); +GISASSimulation* BasicGISAS(); +GISASSimulation* BasicGISAS00(); +GISASSimulation* BasicPolarizedGISAS(); +GISASSimulation* MiniGISAS(); +GISASSimulation* MiniGISAS_v2(); +GISASSimulation* MiniGISASBeamDivergence(); +GISASSimulation* MiniGISASDetectorResolution(); +GISASSimulation* MiniGISASSpecularPeak(); +GISASSimulation* GISASWithMasks(); +GISASSimulation* MaxiGISAS(); +GISASSimulation* MaxiGISAS00(); +GISASSimulation* IsGISAXSSimulation1(); +GISASSimulation* IsGISAXSSimulation2(); +GISASSimulation* RectDetectorGeneric(); +GISASSimulation* RectDetectorPerpToSample(); +GISASSimulation* RectDetectorPerpToDirectBeam(); +GISASSimulation* RectDetectorPerpToReflectedBeam(); +GISASSimulation* RectDetectorPerpToReflectedBeamDpos(); +GISASSimulation* MiniGISASMonteCarlo(); +GISASSimulation* SphericalDetWithRoi(); +GISASSimulation* RectDetWithRoi(); +GISASSimulation* ConstantBackgroundGISAS(); +GISASSimulation* MiniGISASFit(); +GISASSimulation* ExtraLongWavelengthGISAS(); // polarized GISAS: -BA_CORE_API_ GISASSimulation* MiniGISASPolarizationPP(); -BA_CORE_API_ GISASSimulation* MiniGISASPolarizationPM(); -BA_CORE_API_ GISASSimulation* MiniGISASPolarizationMP(); -BA_CORE_API_ GISASSimulation* MiniGISASPolarizationMM(); +GISASSimulation* MiniGISASPolarizationPP(); +GISASSimulation* MiniGISASPolarizationPM(); +GISASSimulation* MiniGISASPolarizationMP(); +GISASSimulation* MiniGISASPolarizationMM(); // Specular simulation tests: -BA_CORE_API_ SpecularSimulation* BasicSpecular(); -BA_CORE_API_ SpecularSimulation* BasicSpecularQ(); -BA_CORE_API_ SpecularSimulation* SpecularWithGaussianBeam(); -BA_CORE_API_ SpecularSimulation* SpecularWithSquareBeam(); -BA_CORE_API_ SpecularSimulation* SpecularDivergentBeam(); -BA_CORE_API_ SpecularSimulation* TOFRWithRelativeResolution(); -BA_CORE_API_ SpecularSimulation* TOFRWithPointwiseResolution(); +SpecularSimulation* BasicSpecular(); +SpecularSimulation* BasicSpecularQ(); +SpecularSimulation* SpecularWithGaussianBeam(); +SpecularSimulation* SpecularWithSquareBeam(); +SpecularSimulation* SpecularDivergentBeam(); +SpecularSimulation* TOFRWithRelativeResolution(); +SpecularSimulation* TOFRWithPointwiseResolution(); // polarized specular: -BA_CORE_API_ SpecularSimulation* BasicSpecularPP(); -BA_CORE_API_ SpecularSimulation* BasicSpecularMM(); -BA_CORE_API_ SpecularSimulation* BasicSpecularPM(); -BA_CORE_API_ SpecularSimulation* BasicSpecularMP(); -BA_CORE_API_ SpecularSimulation* BasicSpecularQPP(); -BA_CORE_API_ SpecularSimulation* BasicSpecularQMM(); -BA_CORE_API_ SpecularSimulation* BasicSpecularQPM(); -BA_CORE_API_ SpecularSimulation* BasicSpecularQMP(); +SpecularSimulation* BasicSpecularPP(); +SpecularSimulation* BasicSpecularMM(); +SpecularSimulation* BasicSpecularPM(); +SpecularSimulation* BasicSpecularMP(); +SpecularSimulation* BasicSpecularQPP(); +SpecularSimulation* BasicSpecularQMM(); +SpecularSimulation* BasicSpecularQPM(); +SpecularSimulation* BasicSpecularQMP(); // OffSpec simulations -BA_CORE_API_ OffSpecSimulation* MiniOffSpec(); +OffSpecSimulation* MiniOffSpec(); // Depth probe simulations -BA_CORE_API_ DepthProbeSimulation* BasicDepthProbe(); +DepthProbeSimulation* BasicDepthProbe(); } // namespace StandardSimulations diff --git a/Core/Simulation/UnitConverterUtils.h b/Core/Simulation/UnitConverterUtils.h index c5b0d2495d0..83a4bfac73b 100644 --- a/Core/Simulation/UnitConverterUtils.h +++ b/Core/Simulation/UnitConverterUtils.h @@ -27,14 +27,14 @@ namespace UnitConverterUtils { //! Returns zero-valued output data array in specified units -BA_CORE_API_ std::unique_ptr<OutputData<double>> createOutputData(const IUnitConverter& converter, +std::unique_ptr<OutputData<double>> createOutputData(const IUnitConverter& converter, AxesUnits units); //! Helper factory function to use in GISASSimulation. Depending on the type of detector, //! returns either RectangularConverter or SphericalConverter. -BA_CORE_API_ std::unique_ptr<IUnitConverter> createConverterForGISAS(const Instrument& instrument); +std::unique_ptr<IUnitConverter> createConverterForGISAS(const Instrument& instrument); -BA_CORE_API_ std::unique_ptr<IUnitConverter> createConverter(const Simulation& simulation); +std::unique_ptr<IUnitConverter> createConverter(const Simulation& simulation); } // namespace UnitConverterUtils #endif // BORNAGAIN_CORE_SIMULATION_UNITCONVERTERUTILS_H diff --git a/Core/SimulationElement/DepthProbeElement.h b/Core/SimulationElement/DepthProbeElement.h index 8c090984f37..723a8c66a5c 100644 --- a/Core/SimulationElement/DepthProbeElement.h +++ b/Core/SimulationElement/DepthProbeElement.h @@ -21,7 +21,7 @@ class IAxis; -class BA_CORE_API_ DepthProbeElement +class DepthProbeElement { public: DepthProbeElement(double wavelength, double alpha_i, const IAxis* z_positions); diff --git a/Core/SimulationElement/PolarizationHandler.h b/Core/SimulationElement/PolarizationHandler.h index 208bd44ae51..0321c18c640 100644 --- a/Core/SimulationElement/PolarizationHandler.h +++ b/Core/SimulationElement/PolarizationHandler.h @@ -16,12 +16,11 @@ #define BORNAGAIN_CORE_SIMULATIONELEMENT_POLARIZATIONHANDLER_H #include "Core/Vector/EigenCore.h" -#include "Wrap/WinDllMacros.h" //! Convenience class for handling polarization density matrix and polarization analyzer operator //! @ingroup simulation -class BA_CORE_API_ PolarizationHandler +class PolarizationHandler { public: PolarizationHandler(); diff --git a/Core/SimulationElement/SimulationElement.h b/Core/SimulationElement/SimulationElement.h index 67ec6fcb7bf..36738995722 100644 --- a/Core/SimulationElement/SimulationElement.h +++ b/Core/SimulationElement/SimulationElement.h @@ -26,7 +26,7 @@ class IPixel; //! Data stucture containing both input and output of a single detector cell. //! @ingroup simulation -class BA_CORE_API_ SimulationElement +class SimulationElement { public: SimulationElement(double wavelength, double alpha_i, double phi_i, diff --git a/Core/SoftParticle/FormFactorGauss.h b/Core/SoftParticle/FormFactorGauss.h index 4986e74217f..893b209c17e 100644 --- a/Core/SoftParticle/FormFactorGauss.h +++ b/Core/SoftParticle/FormFactorGauss.h @@ -20,7 +20,7 @@ //! The form factor of a Gaussian sphere. //! @ingroup softParticle -class BA_CORE_API_ FormFactorGaussSphere : public IFormFactorBorn +class FormFactorGaussSphere : public IFormFactorBorn { public: FormFactorGaussSphere(const std::vector<double> P); diff --git a/Core/SoftParticle/FormFactorSphereGaussianRadius.h b/Core/SoftParticle/FormFactorSphereGaussianRadius.h index da353e5124a..506c6d63f87 100644 --- a/Core/SoftParticle/FormFactorSphereGaussianRadius.h +++ b/Core/SoftParticle/FormFactorSphereGaussianRadius.h @@ -21,7 +21,7 @@ //! A sphere with gaussian radius distribution. //! @ingroup softParticle -class BA_CORE_API_ FormFactorSphereGaussianRadius : public IFormFactorBorn +class FormFactorSphereGaussianRadius : public IFormFactorBorn { public: FormFactorSphereGaussianRadius(const std::vector<double> P); diff --git a/Core/SoftParticle/FormFactorSphereLogNormalRadius.h b/Core/SoftParticle/FormFactorSphereLogNormalRadius.h index 7180b1ba347..eb4112a7add 100644 --- a/Core/SoftParticle/FormFactorSphereLogNormalRadius.h +++ b/Core/SoftParticle/FormFactorSphereLogNormalRadius.h @@ -22,7 +22,7 @@ //! A sphere with log normal radius distribution. //! @ingroup softParticle -class BA_CORE_API_ FormFactorSphereLogNormalRadius : public IFormFactorBorn +class FormFactorSphereLogNormalRadius : public IFormFactorBorn { public: FormFactorSphereLogNormalRadius(const std::vector<double> P, size_t n_samples = 0); diff --git a/Core/StandardSamples/BoxCompositionBuilder.h b/Core/StandardSamples/BoxCompositionBuilder.h index 0e4706d1923..21d7c56435b 100644 --- a/Core/StandardSamples/BoxCompositionBuilder.h +++ b/Core/StandardSamples/BoxCompositionBuilder.h @@ -25,7 +25,7 @@ class ParticleComposition; //! Reproduces Python functional test transform_BoxComposition.py //! @ingroup standard_samples -class BA_CORE_API_ BoxCompositionBuilder : public IMultiLayerBuilder +class BoxCompositionBuilder : public IMultiLayerBuilder { public: BoxCompositionBuilder(); @@ -43,7 +43,7 @@ protected: //! Two boxes in particle composition rotated in X by 90 degrees. //! @ingroup standard_samples -class BA_CORE_API_ BoxCompositionRotateXBuilder : public BoxCompositionBuilder +class BoxCompositionRotateXBuilder : public BoxCompositionBuilder { public: BoxCompositionRotateXBuilder() {} @@ -53,7 +53,7 @@ public: //! Two boxes in particle composition rotated in Y by 90 degrees. //! @ingroup standard_samples -class BA_CORE_API_ BoxCompositionRotateYBuilder : public BoxCompositionBuilder +class BoxCompositionRotateYBuilder : public BoxCompositionBuilder { public: BoxCompositionRotateYBuilder() {} @@ -63,7 +63,7 @@ public: //! Two boxes in particle composition rotated in Z by 90 degrees. //! @ingroup standard_samples -class BA_CORE_API_ BoxCompositionRotateZBuilder : public BoxCompositionBuilder +class BoxCompositionRotateZBuilder : public BoxCompositionBuilder { public: BoxCompositionRotateZBuilder() {} @@ -73,7 +73,7 @@ public: //! Two boxes in particle composition rotated in Z and Y by 90 degrees. //! @ingroup standard_samples -class BA_CORE_API_ BoxCompositionRotateZandYBuilder : public BoxCompositionBuilder +class BoxCompositionRotateZandYBuilder : public BoxCompositionBuilder { public: BoxCompositionRotateZandYBuilder() {} @@ -83,7 +83,7 @@ public: //! Two different boxes are first rotated and then composed, composition is then rotated. //! @ingroup standard_samples -class BA_CORE_API_ BoxStackCompositionBuilder : public BoxCompositionBuilder +class BoxStackCompositionBuilder : public BoxCompositionBuilder { public: BoxStackCompositionBuilder() {} diff --git a/Core/StandardSamples/BoxesSquareLatticeBuilder.h b/Core/StandardSamples/BoxesSquareLatticeBuilder.h index 2b03b5741d6..14a1900215d 100644 --- a/Core/StandardSamples/BoxesSquareLatticeBuilder.h +++ b/Core/StandardSamples/BoxesSquareLatticeBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: square boxes in a square lattice //! @ingroup standard_samples -class BA_CORE_API_ BoxesSquareLatticeBuilder : public IMultiLayerBuilder +class BoxesSquareLatticeBuilder : public IMultiLayerBuilder { public: BoxesSquareLatticeBuilder(); diff --git a/Core/StandardSamples/CoreShellParticleBuilder.h b/Core/StandardSamples/CoreShellParticleBuilder.h index 7cb638a71ef..12661617c2f 100644 --- a/Core/StandardSamples/CoreShellParticleBuilder.h +++ b/Core/StandardSamples/CoreShellParticleBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: Core Shell Nanoparticles (IsGISAXS example #11). //! @ingroup standard_samples -class BA_CORE_API_ CoreShellParticleBuilder : public IMultiLayerBuilder +class CoreShellParticleBuilder : public IMultiLayerBuilder { public: CoreShellParticleBuilder() {} @@ -32,7 +32,7 @@ public: //! Rotation and translation of core shell box particle in 3 layers system. //! @ingroup standard_samples -class BA_CORE_API_ CoreShellBoxRotateZandYBuilder : public IMultiLayerBuilder +class CoreShellBoxRotateZandYBuilder : public IMultiLayerBuilder { public: CoreShellBoxRotateZandYBuilder() {} diff --git a/Core/StandardSamples/CustomMorphologyBuilder.h b/Core/StandardSamples/CustomMorphologyBuilder.h index 39ac2757767..f7e527858b6 100644 --- a/Core/StandardSamples/CustomMorphologyBuilder.h +++ b/Core/StandardSamples/CustomMorphologyBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: mixture of different particles (IsGISAXS example #7). //! @ingroup standard_samples -class BA_CORE_API_ CustomMorphologyBuilder : public IMultiLayerBuilder +class CustomMorphologyBuilder : public IMultiLayerBuilder { public: CustomMorphologyBuilder() {} diff --git a/Core/StandardSamples/CylindersAndPrismsBuilder.h b/Core/StandardSamples/CylindersAndPrismsBuilder.h index d8e20efee98..6a00b66695d 100644 --- a/Core/StandardSamples/CylindersAndPrismsBuilder.h +++ b/Core/StandardSamples/CylindersAndPrismsBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: mixture of cylinders and prisms without interference (IsGISAXS example #1). //! @ingroup standard_samples -class BA_CORE_API_ CylindersAndPrismsBuilder : public IMultiLayerBuilder +class CylindersAndPrismsBuilder : public IMultiLayerBuilder { public: CylindersAndPrismsBuilder(); diff --git a/Core/StandardSamples/CylindersBuilder.h b/Core/StandardSamples/CylindersBuilder.h index a7d8c595407..1b8ad197675 100644 --- a/Core/StandardSamples/CylindersBuilder.h +++ b/Core/StandardSamples/CylindersBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: cylinder form factor in DWBA (IsGISAXS example #3, part I). //! @ingroup standard_samples -class BA_CORE_API_ CylindersInDWBABuilder : public IMultiLayerBuilder +class CylindersInDWBABuilder : public IMultiLayerBuilder { public: CylindersInDWBABuilder(); @@ -36,7 +36,7 @@ private: //! Builds sample: cylinder form factor in BA (IsGISAXS example #3, part II). //! @ingroup standard_samples -class BA_CORE_API_ CylindersInBABuilder : public IMultiLayerBuilder +class CylindersInBABuilder : public IMultiLayerBuilder { public: CylindersInBABuilder(); @@ -50,7 +50,7 @@ private: //! Builds sample with large cylinders for MC integration tests. //! @ingroup standard_samples -class BA_CORE_API_ LargeCylindersInDWBABuilder : public IMultiLayerBuilder +class LargeCylindersInDWBABuilder : public IMultiLayerBuilder { public: LargeCylindersInDWBABuilder(); @@ -64,7 +64,7 @@ private: //! Builds sample: cylinder form factor in DWBA (IsGISAXS example #3, part I). //! @ingroup standard_samples -class BA_CORE_API_ RotatedCylindersBuilder : public IMultiLayerBuilder +class RotatedCylindersBuilder : public IMultiLayerBuilder { public: RotatedCylindersBuilder(); diff --git a/Core/StandardSamples/FeNiBiLayerBuilder.h b/Core/StandardSamples/FeNiBiLayerBuilder.h index 38e67c1e086..ef4ef2201ab 100644 --- a/Core/StandardSamples/FeNiBiLayerBuilder.h +++ b/Core/StandardSamples/FeNiBiLayerBuilder.h @@ -91,7 +91,7 @@ public: }; -class BA_CORE_API_ FeNiBiLayerBuilder : public IMultiLayerBuilder +class FeNiBiLayerBuilder : public IMultiLayerBuilder { public: FeNiBiLayerBuilder() {} @@ -99,35 +99,35 @@ public: }; -class BA_CORE_API_ FeNiBiLayerTanhBuilder : public IMultiLayerBuilder +class FeNiBiLayerTanhBuilder : public IMultiLayerBuilder { public: FeNiBiLayerTanhBuilder() {} MultiLayer* buildSample() const; }; -class BA_CORE_API_ FeNiBiLayerNCBuilder : public IMultiLayerBuilder +class FeNiBiLayerNCBuilder : public IMultiLayerBuilder { public: FeNiBiLayerNCBuilder() {} MultiLayer* buildSample() const; }; -class BA_CORE_API_ FeNiBiLayerSpinFlipBuilder : public IMultiLayerBuilder +class FeNiBiLayerSpinFlipBuilder : public IMultiLayerBuilder { public: FeNiBiLayerSpinFlipBuilder() {} MultiLayer* buildSample() const; }; -class BA_CORE_API_ FeNiBiLayerSpinFlipTanhBuilder : public IMultiLayerBuilder +class FeNiBiLayerSpinFlipTanhBuilder : public IMultiLayerBuilder { public: FeNiBiLayerSpinFlipTanhBuilder() {} MultiLayer* buildSample() const; }; -class BA_CORE_API_ FeNiBiLayerSpinFlipNCBuilder : public IMultiLayerBuilder +class FeNiBiLayerSpinFlipNCBuilder : public IMultiLayerBuilder { public: FeNiBiLayerSpinFlipNCBuilder() {} diff --git a/Core/StandardSamples/HomogeneousMultilayerBuilder.h b/Core/StandardSamples/HomogeneousMultilayerBuilder.h index 4da04f4915e..0aa9137e714 100644 --- a/Core/StandardSamples/HomogeneousMultilayerBuilder.h +++ b/Core/StandardSamples/HomogeneousMultilayerBuilder.h @@ -22,7 +22,7 @@ //! No absorption, no roughness, target wavelength is 1.54 angstroms. //! @ingroup standard_samples -class BA_CORE_API_ HomogeneousMultilayerBuilder : public IMultiLayerBuilder +class HomogeneousMultilayerBuilder : public IMultiLayerBuilder { public: HomogeneousMultilayerBuilder(); diff --git a/Core/StandardSamples/LatticeBuilder.h b/Core/StandardSamples/LatticeBuilder.h index ac31a7904ca..5b25855869a 100644 --- a/Core/StandardSamples/LatticeBuilder.h +++ b/Core/StandardSamples/LatticeBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: cylinders with 1DDL structure factor. //! @ingroup standard_samples -class BA_CORE_API_ Lattice1DBuilder : public IMultiLayerBuilder +class Lattice1DBuilder : public IMultiLayerBuilder { public: Lattice1DBuilder(); diff --git a/Core/StandardSamples/LayersWithAbsorptionBuilder.h b/Core/StandardSamples/LayersWithAbsorptionBuilder.h index 7845e16e143..afa14eb0076 100644 --- a/Core/StandardSamples/LayersWithAbsorptionBuilder.h +++ b/Core/StandardSamples/LayersWithAbsorptionBuilder.h @@ -28,7 +28,7 @@ class IFormFactor; //! The middle layer is populated with particles. //! Requires IComponentService which generates form factors, used for bulk form factors testing. -class BA_CORE_API_ LayersWithAbsorptionBuilder : public IMultiLayerBuilder +class LayersWithAbsorptionBuilder : public IMultiLayerBuilder { public: LayersWithAbsorptionBuilder(); diff --git a/Core/StandardSamples/LayersWithAbsorptionBySLDBuilder.h b/Core/StandardSamples/LayersWithAbsorptionBySLDBuilder.h index 55b6faeaf28..74b93297a32 100644 --- a/Core/StandardSamples/LayersWithAbsorptionBySLDBuilder.h +++ b/Core/StandardSamples/LayersWithAbsorptionBySLDBuilder.h @@ -22,7 +22,7 @@ //! particles. MaterialBySLD is used to generate maaterials //! @ingroup standard_samples -class BA_CORE_API_ LayersWithAbsorptionBySLDBuilder : public IMultiLayerBuilder +class LayersWithAbsorptionBySLDBuilder : public IMultiLayerBuilder { public: LayersWithAbsorptionBySLDBuilder(); diff --git a/Core/StandardSamples/MagneticLayersBuilder.h b/Core/StandardSamples/MagneticLayersBuilder.h index d55b2afe352..ffdd7fff5a0 100644 --- a/Core/StandardSamples/MagneticLayersBuilder.h +++ b/Core/StandardSamples/MagneticLayersBuilder.h @@ -23,7 +23,7 @@ class ISample; //! Builds sample: spheres in substrate layer with a zero magnetic field. //! @ingroup standard_samples -class BA_CORE_API_ MagneticSubstrateZeroFieldBuilder : public IMultiLayerBuilder +class MagneticSubstrateZeroFieldBuilder : public IMultiLayerBuilder { public: MagneticSubstrateZeroFieldBuilder(); @@ -36,7 +36,7 @@ private: //! Builds sample: ambient and one magnetized layer on a non-magnetized substrate. //! @ingroup standard_samples -class BA_CORE_API_ SimpleMagneticLayerBuilder : public IMultiLayerBuilder +class SimpleMagneticLayerBuilder : public IMultiLayerBuilder { public: SimpleMagneticLayerBuilder(); @@ -46,7 +46,7 @@ public: //! Builds sample: magnetic spheres in a magnetized layer on a non-magnetized substrate. //! @ingroup standard_samples -class BA_CORE_API_ MagneticLayerBuilder : public IMultiLayerBuilder +class MagneticLayerBuilder : public IMultiLayerBuilder { public: MagneticLayerBuilder(); @@ -59,7 +59,7 @@ private: //! Builds sample: magnetic layer on a magnetic substrate with the fields rotated by 90° //! @ingroup standard_samples -class BA_CORE_API_ SimpleMagneticRotationBuilder : public IMultiLayerBuilder +class SimpleMagneticRotationBuilder : public IMultiLayerBuilder { public: SimpleMagneticRotationBuilder(); @@ -75,7 +75,7 @@ protected: //! Builds sample: rotated magnetic spheres in substrate layer with a unit magnetic field. //! @ingroup standard_samples -class BA_CORE_API_ MagneticRotationBuilder : public IMultiLayerBuilder +class MagneticRotationBuilder : public IMultiLayerBuilder { public: MagneticRotationBuilder(); diff --git a/Core/StandardSamples/MagneticParticlesBuilder.h b/Core/StandardSamples/MagneticParticlesBuilder.h index 91eaf2caa01..262ec5b1cab 100644 --- a/Core/StandardSamples/MagneticParticlesBuilder.h +++ b/Core/StandardSamples/MagneticParticlesBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: cylinders with magnetic material and zero magnetic field. //! @ingroup standard_samples -class BA_CORE_API_ MagneticParticleZeroFieldBuilder : public IMultiLayerBuilder +class MagneticParticleZeroFieldBuilder : public IMultiLayerBuilder { public: MagneticParticleZeroFieldBuilder(); @@ -36,7 +36,7 @@ private: //! Builds sample: cylinders with magnetic material and non-zero magnetic field. //! @ingroup standard_samples -class BA_CORE_API_ MagneticCylindersBuilder : public IMultiLayerBuilder +class MagneticCylindersBuilder : public IMultiLayerBuilder { public: MagneticCylindersBuilder(); @@ -50,7 +50,7 @@ private: //! Builds sample: spheres with magnetization inside substrate. //! @ingroup standard_samples -class BA_CORE_API_ MagneticSpheresBuilder : public IMultiLayerBuilder +class MagneticSpheresBuilder : public IMultiLayerBuilder { public: MagneticSpheresBuilder(); diff --git a/Core/StandardSamples/MesoCrystalBuilder.h b/Core/StandardSamples/MesoCrystalBuilder.h index 3237c52bcc7..6ae979b7e7c 100644 --- a/Core/StandardSamples/MesoCrystalBuilder.h +++ b/Core/StandardSamples/MesoCrystalBuilder.h @@ -26,7 +26,7 @@ class MesoCrystal; //! Builds sample: cylindrical mesocrystal composed of spheres in a cubic lattice. //! @ingroup standard_samples -class BA_CORE_API_ MesoCrystalBuilder : public IMultiLayerBuilder +class MesoCrystalBuilder : public IMultiLayerBuilder { public: MesoCrystalBuilder(); diff --git a/Core/StandardSamples/MultiLayerWithNCRoughnessBuilder.h b/Core/StandardSamples/MultiLayerWithNCRoughnessBuilder.h index 98b4faa4b76..9c7cb8cd5de 100644 --- a/Core/StandardSamples/MultiLayerWithNCRoughnessBuilder.h +++ b/Core/StandardSamples/MultiLayerWithNCRoughnessBuilder.h @@ -23,7 +23,7 @@ class ISample; //! Builds sample: layers with correlated roughness. //! @ingroup standard_samples -class BA_CORE_API_ MultiLayerWithNCRoughnessBuilder : public MultiLayerWithRoughnessBuilder +class MultiLayerWithNCRoughnessBuilder : public MultiLayerWithRoughnessBuilder { public: MultiLayerWithNCRoughnessBuilder(); diff --git a/Core/StandardSamples/MultiLayerWithRoughnessBuilder.h b/Core/StandardSamples/MultiLayerWithRoughnessBuilder.h index fe989e8e07e..21e4d8879f1 100644 --- a/Core/StandardSamples/MultiLayerWithRoughnessBuilder.h +++ b/Core/StandardSamples/MultiLayerWithRoughnessBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: layers with correlated roughness. //! @ingroup standard_samples -class BA_CORE_API_ MultiLayerWithRoughnessBuilder : public IMultiLayerBuilder +class MultiLayerWithRoughnessBuilder : public IMultiLayerBuilder { public: MultiLayerWithRoughnessBuilder(); diff --git a/Core/StandardSamples/MultipleLayoutBuilder.h b/Core/StandardSamples/MultipleLayoutBuilder.h index acb843de8fe..9fe4c5f7483 100644 --- a/Core/StandardSamples/MultipleLayoutBuilder.h +++ b/Core/StandardSamples/MultipleLayoutBuilder.h @@ -23,7 +23,7 @@ class ISample; //! using multiple particle layouts //! @ingroup standard_samples -class BA_CORE_API_ MultipleLayoutBuilder : public IMultiLayerBuilder +class MultipleLayoutBuilder : public IMultiLayerBuilder { public: MultipleLayoutBuilder(); diff --git a/Core/StandardSamples/ParaCrystalBuilder.h b/Core/StandardSamples/ParaCrystalBuilder.h index f610c1558f2..d6d8bb31f6f 100644 --- a/Core/StandardSamples/ParaCrystalBuilder.h +++ b/Core/StandardSamples/ParaCrystalBuilder.h @@ -25,7 +25,7 @@ class FTDistribution2DComponents; //! @ingroup standard_samples //! Builds sample: cylinders with 1DDL structure factor (IsGISAXS example #4). -class BA_CORE_API_ RadialParaCrystalBuilder : public IMultiLayerBuilder +class RadialParaCrystalBuilder : public IMultiLayerBuilder { public: RadialParaCrystalBuilder(); @@ -43,7 +43,7 @@ private: //! distribution functions (PDF's). They are initialized via component service. //! @ingroup standard_samples -class BA_CORE_API_ Basic2DParaCrystalBuilder : public IMultiLayerBuilder +class Basic2DParaCrystalBuilder : public IMultiLayerBuilder { public: Basic2DParaCrystalBuilder(); @@ -60,7 +60,7 @@ private: //! Builds sample: cylinders with 2DDL structure factor (IsGISAXS example #4). //! @ingroup standard_samples -class BA_CORE_API_ HexParaCrystalBuilder : public IMultiLayerBuilder +class HexParaCrystalBuilder : public IMultiLayerBuilder { public: HexParaCrystalBuilder(); @@ -78,7 +78,7 @@ private: //! @ingroup standard_samples //! Builds sample: 2D paracrystal lattice (IsGISAXS example #8). -class BA_CORE_API_ RectParaCrystalBuilder : public IMultiLayerBuilder +class RectParaCrystalBuilder : public IMultiLayerBuilder { public: RectParaCrystalBuilder() {} diff --git a/Core/StandardSamples/ParticleCompositionBuilder.h b/Core/StandardSamples/ParticleCompositionBuilder.h index 4aa94b7cb71..25fff07907e 100644 --- a/Core/StandardSamples/ParticleCompositionBuilder.h +++ b/Core/StandardSamples/ParticleCompositionBuilder.h @@ -20,7 +20,7 @@ //! Builds sample: two layers of spheres at hex lattice. //! @ingroup standard_samples -class BA_CORE_API_ ParticleCompositionBuilder : public IMultiLayerBuilder +class ParticleCompositionBuilder : public IMultiLayerBuilder { public: ParticleCompositionBuilder() {} diff --git a/Core/StandardSamples/ParticleDistributionsBuilder.h b/Core/StandardSamples/ParticleDistributionsBuilder.h index 28739e2bfb3..f9a8e1dcb96 100644 --- a/Core/StandardSamples/ParticleDistributionsBuilder.h +++ b/Core/StandardSamples/ParticleDistributionsBuilder.h @@ -34,7 +34,7 @@ private: //! Builds mixture of cylinder particles with different size distribution (IsGISAXS example #2) //! @ingroup standard_samples -class BA_CORE_API_ TwoTypesCylindersDistributionBuilder : public IMultiLayerBuilder +class TwoTypesCylindersDistributionBuilder : public IMultiLayerBuilder { public: TwoTypesCylindersDistributionBuilder(); diff --git a/Core/StandardSamples/ParticleInTheAirBuilder.h b/Core/StandardSamples/ParticleInTheAirBuilder.h index 0a69a8278df..caa748019f6 100644 --- a/Core/StandardSamples/ParticleInTheAirBuilder.h +++ b/Core/StandardSamples/ParticleInTheAirBuilder.h @@ -26,7 +26,7 @@ class FormFactorComponents; //! Requires IComponentService which generates form factors, used for bulk form factors testing. //! @ingroup standard_samples -class BA_CORE_API_ ParticleInTheAirBuilder : public IMultiLayerBuilder +class ParticleInTheAirBuilder : public IMultiLayerBuilder { public: ParticleInTheAirBuilder(); diff --git a/Core/StandardSamples/PercusYevickBuilder.h b/Core/StandardSamples/PercusYevickBuilder.h index eebc6b79246..eb8e722ce7a 100644 --- a/Core/StandardSamples/PercusYevickBuilder.h +++ b/Core/StandardSamples/PercusYevickBuilder.h @@ -23,7 +23,7 @@ class ISample; //! @ingroup standard_samples //! Builds sample: cylinders with hard disk Percus-Yevick interference. -class BA_CORE_API_ HardDiskBuilder : public IMultiLayerBuilder +class HardDiskBuilder : public IMultiLayerBuilder { public: HardDiskBuilder(); diff --git a/Core/StandardSamples/PlainMultiLayerBySLDBuilder.h b/Core/StandardSamples/PlainMultiLayerBySLDBuilder.h index 472373dddf8..6be20e2798a 100644 --- a/Core/StandardSamples/PlainMultiLayerBySLDBuilder.h +++ b/Core/StandardSamples/PlainMultiLayerBySLDBuilder.h @@ -21,7 +21,7 @@ //! Ti is 70 angstroms thick, Ni is 30 angstroms thick. //! @ingroup standard_samples -class BA_CORE_API_ PlainMultiLayerBySLDBuilder : public IMultiLayerBuilder +class PlainMultiLayerBySLDBuilder : public IMultiLayerBuilder { public: PlainMultiLayerBySLDBuilder(int n_layers = 10); diff --git a/Core/StandardSamples/ResonatorBuilder.h b/Core/StandardSamples/ResonatorBuilder.h index 269a7090792..ba0910a86e7 100644 --- a/Core/StandardSamples/ResonatorBuilder.h +++ b/Core/StandardSamples/ResonatorBuilder.h @@ -20,7 +20,7 @@ //! Builds sample: multilayer with Ti/Pt layers sequence. //! @ingroup standard_samples -class BA_CORE_API_ ResonatorBuilder : public IMultiLayerBuilder +class ResonatorBuilder : public IMultiLayerBuilder { public: ResonatorBuilder(); diff --git a/Core/StandardSamples/RipplesBuilder.h b/Core/StandardSamples/RipplesBuilder.h index fc9266e0d69..50c00898e25 100644 --- a/Core/StandardSamples/RipplesBuilder.h +++ b/Core/StandardSamples/RipplesBuilder.h @@ -20,7 +20,7 @@ //! Builds sample: cosine ripple within the 1D-paracrystal model. //! @ingroup standard_samples -class BA_CORE_API_ CosineRippleBuilder : public IMultiLayerBuilder +class CosineRippleBuilder : public IMultiLayerBuilder { public: CosineRippleBuilder(); @@ -30,7 +30,7 @@ public: //! Builds sample: triangular ripple within the 1D-paracrystal model (from PRB 85, 235415, 2012). //! @ingroup standard_samples -class BA_CORE_API_ TriangularRippleBuilder : public IMultiLayerBuilder +class TriangularRippleBuilder : public IMultiLayerBuilder { public: TriangularRippleBuilder(); @@ -40,7 +40,7 @@ private: double m_d; }; -class BA_CORE_API_ AsymRippleBuilder : public IMultiLayerBuilder +class AsymRippleBuilder : public IMultiLayerBuilder { public: MultiLayer* buildSample() const; diff --git a/Core/StandardSamples/RotatedPyramidsBuilder.h b/Core/StandardSamples/RotatedPyramidsBuilder.h index fe913c5ea5e..8478ca9d969 100644 --- a/Core/StandardSamples/RotatedPyramidsBuilder.h +++ b/Core/StandardSamples/RotatedPyramidsBuilder.h @@ -20,7 +20,7 @@ //! Builds sample: Pyramids, rotated pyramids on top of substrate (IsGISAXS example #9) //! @ingroup standard_samples -class BA_CORE_API_ RotatedPyramidsBuilder : public IMultiLayerBuilder +class RotatedPyramidsBuilder : public IMultiLayerBuilder { public: RotatedPyramidsBuilder(); diff --git a/Core/StandardSamples/SampleBuilderFactory.h b/Core/StandardSamples/SampleBuilderFactory.h index 3133de2b30f..6e22cd95d46 100644 --- a/Core/StandardSamples/SampleBuilderFactory.h +++ b/Core/StandardSamples/SampleBuilderFactory.h @@ -23,7 +23,7 @@ class MultiLayer; //! Factory to create standard pre-defined samples //! @ingroup standard_samples -class BA_CORE_API_ SampleBuilderFactory : public IFactory<std::string, IMultiLayerBuilder> +class SampleBuilderFactory : public IFactory<std::string, IMultiLayerBuilder> { public: SampleBuilderFactory(); diff --git a/Core/StandardSamples/SizeDistributionModelsBuilder.h b/Core/StandardSamples/SizeDistributionModelsBuilder.h index 93e3da29430..57b2b857c3a 100644 --- a/Core/StandardSamples/SizeDistributionModelsBuilder.h +++ b/Core/StandardSamples/SizeDistributionModelsBuilder.h @@ -21,7 +21,7 @@ //! Equivalent of Examples/python/simulation/ex03_InterferenceFunctions/ApproximationDA.py //! @ingroup standard_samples -class BA_CORE_API_ SizeDistributionDAModelBuilder : public IMultiLayerBuilder +class SizeDistributionDAModelBuilder : public IMultiLayerBuilder { public: SizeDistributionDAModelBuilder() {} @@ -32,7 +32,7 @@ public: //! Equivalent of Examples/python/simulation/ex03_InterferenceFunctions/ApproximationLMA.py //! @ingroup standard_samples -class BA_CORE_API_ SizeDistributionLMAModelBuilder : public IMultiLayerBuilder +class SizeDistributionLMAModelBuilder : public IMultiLayerBuilder { public: SizeDistributionLMAModelBuilder() {} @@ -43,7 +43,7 @@ public: //! Equivalent of Examples/python/simulation/ex03_InterferenceFunctions/ApproximationSSCA.py //! @ingroup standard_samples -class BA_CORE_API_ SizeDistributionSSCAModelBuilder : public IMultiLayerBuilder +class SizeDistributionSSCAModelBuilder : public IMultiLayerBuilder { public: SizeDistributionSSCAModelBuilder() {} @@ -53,7 +53,7 @@ public: //! Builds sample: size spacing correlation approximation (IsGISAXS example #15). //! @ingroup standard_samples -class BA_CORE_API_ CylindersInSSCABuilder : public IMultiLayerBuilder +class CylindersInSSCABuilder : public IMultiLayerBuilder { public: CylindersInSSCABuilder() {} diff --git a/Core/StandardSamples/SlicedCylindersBuilder.h b/Core/StandardSamples/SlicedCylindersBuilder.h index 16d91614d39..da7940e0bef 100644 --- a/Core/StandardSamples/SlicedCylindersBuilder.h +++ b/Core/StandardSamples/SlicedCylindersBuilder.h @@ -20,7 +20,7 @@ //! Builds sample: cylinders on a silicon substrate //! @ingroup standard_samples -class BA_CORE_API_ SlicedCylindersBuilder : public IMultiLayerBuilder +class SlicedCylindersBuilder : public IMultiLayerBuilder { public: SlicedCylindersBuilder(); @@ -37,7 +37,7 @@ protected: //! sld-based materials. Assumed wavelength is 1.54 Angstrom. //! @ingroup standard_samples -class BA_CORE_API_ SLDSlicedCylindersBuilder : public SlicedCylindersBuilder +class SLDSlicedCylindersBuilder : public SlicedCylindersBuilder { public: SLDSlicedCylindersBuilder(); @@ -49,7 +49,7 @@ public: //! Assumed wavelength is 1.54 Angstrom. //! @ingroup standard_samples -class BA_CORE_API_ AveragedSlicedCylindersBuilder : public SlicedCylindersBuilder +class AveragedSlicedCylindersBuilder : public SlicedCylindersBuilder { public: AveragedSlicedCylindersBuilder(); diff --git a/Core/StandardSamples/SlicedParticleBuilder.h b/Core/StandardSamples/SlicedParticleBuilder.h index d42bdf36508..164951cafce 100644 --- a/Core/StandardSamples/SlicedParticleBuilder.h +++ b/Core/StandardSamples/SlicedParticleBuilder.h @@ -20,7 +20,7 @@ //! Builds sample: spherical composition made of top+bottom spherical cups //! @ingroup standard_samples -class BA_CORE_API_ SlicedCompositionBuilder : public IMultiLayerBuilder +class SlicedCompositionBuilder : public IMultiLayerBuilder { public: SlicedCompositionBuilder() {} diff --git a/Core/StandardSamples/ThickAbsorptiveSampleBuilder.h b/Core/StandardSamples/ThickAbsorptiveSampleBuilder.h index 3691042b725..0f64184b9ec 100644 --- a/Core/StandardSamples/ThickAbsorptiveSampleBuilder.h +++ b/Core/StandardSamples/ThickAbsorptiveSampleBuilder.h @@ -17,7 +17,7 @@ #include "Core/Multilayer/IMultiLayerBuilder.h" -class BA_CORE_API_ ThickAbsorptiveSampleBuilder : public IMultiLayerBuilder +class ThickAbsorptiveSampleBuilder : public IMultiLayerBuilder { public: ThickAbsorptiveSampleBuilder(); diff --git a/Core/StandardSamples/TransformationsBuilder.h b/Core/StandardSamples/TransformationsBuilder.h index fe0810a3ad4..947227c55ec 100644 --- a/Core/StandardSamples/TransformationsBuilder.h +++ b/Core/StandardSamples/TransformationsBuilder.h @@ -20,7 +20,7 @@ //! Rotated box in 3 layers system. //! @ingroup standard_samples -class BA_CORE_API_ TransformBoxBuilder : public IMultiLayerBuilder +class TransformBoxBuilder : public IMultiLayerBuilder { public: TransformBoxBuilder() {} diff --git a/Core/StandardSamples/TwoDimLatticeBuilder.h b/Core/StandardSamples/TwoDimLatticeBuilder.h index dcb3ee0a29e..ec57eb8be3b 100644 --- a/Core/StandardSamples/TwoDimLatticeBuilder.h +++ b/Core/StandardSamples/TwoDimLatticeBuilder.h @@ -20,7 +20,7 @@ //! Builds sample: 2D lattice with arbitrary angle and different lattice length_1 and length_2. //! @ingroup standard_samples -class BA_CORE_API_ Basic2DLatticeBuilder : public IMultiLayerBuilder +class Basic2DLatticeBuilder : public IMultiLayerBuilder { public: Basic2DLatticeBuilder() {} @@ -30,7 +30,7 @@ public: //! Builds sample: 2D lattice with different disorder (IsGISAXS example #6). //! @ingroup standard_samples -class BA_CORE_API_ SquareLatticeBuilder : public IMultiLayerBuilder +class SquareLatticeBuilder : public IMultiLayerBuilder { public: SquareLatticeBuilder() {} @@ -40,7 +40,7 @@ public: //! Builds sample: 2D lattice with different disorder (IsGISAXS example #6). //! @ingroup standard_samples -class BA_CORE_API_ CenteredSquareLatticeBuilder : public IMultiLayerBuilder +class CenteredSquareLatticeBuilder : public IMultiLayerBuilder { public: CenteredSquareLatticeBuilder() {} @@ -50,7 +50,7 @@ public: //! Builds sample: 2D lattice with different disorder (IsGISAXS example #6). //! @ingroup standard_samples -class BA_CORE_API_ RotatedSquareLatticeBuilder : public IMultiLayerBuilder +class RotatedSquareLatticeBuilder : public IMultiLayerBuilder { public: RotatedSquareLatticeBuilder() {} @@ -60,7 +60,7 @@ public: //! Builds sample: 2D finite lattice with thermal disorder. //! @ingroup standard_samples -class BA_CORE_API_ FiniteSquareLatticeBuilder : public IMultiLayerBuilder +class FiniteSquareLatticeBuilder : public IMultiLayerBuilder { public: FiniteSquareLatticeBuilder() {} @@ -70,7 +70,7 @@ public: //! Builds sample: 2D finite lattice of 2D finite lattices (superlattice). //! @ingroup standard_samples -class BA_CORE_API_ SuperLatticeBuilder : public IMultiLayerBuilder +class SuperLatticeBuilder : public IMultiLayerBuilder { public: SuperLatticeBuilder() {} diff --git a/Core/StandardSamples/TwoLayerRoughnessBuilder.h b/Core/StandardSamples/TwoLayerRoughnessBuilder.h index 6b73f3863f4..6f3abd5fa5f 100644 --- a/Core/StandardSamples/TwoLayerRoughnessBuilder.h +++ b/Core/StandardSamples/TwoLayerRoughnessBuilder.h @@ -22,7 +22,7 @@ class ISample; //! Builds sample: two layers with rough interface. //! @ingroup standard_samples -class BA_CORE_API_ TwoLayerRoughnessBuilder : public IMultiLayerBuilder +class TwoLayerRoughnessBuilder : public IMultiLayerBuilder { public: TwoLayerRoughnessBuilder(); diff --git a/Core/Tools/FileSystemUtils.h b/Core/Tools/FileSystemUtils.h index ae43e6bf32b..63ef5d9a7d3 100644 --- a/Core/Tools/FileSystemUtils.h +++ b/Core/Tools/FileSystemUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_TOOLS_FILESYSTEMUTILS_H #define BORNAGAIN_CORE_TOOLS_FILESYSTEMUTILS_H -#include "Wrap/WinDllMacros.h" #include <string> #include <vector> @@ -26,43 +25,43 @@ namespace FileSystemUtils //! Returns extension of given filename. //! "/home/user/filename.int" -> ".int", "/home/user/filename.int.gz" -> ".gz" -BA_CORE_API_ std::string extension(const std::string& path); +std::string extension(const std::string& path); //! Returns extension(s) of given filename. //! "/home/user/filename.int" -> ".int", "/home/user/filename.int.gz" -> ".int.gz" -BA_CORE_API_ std::string extensions(const std::string& path); +std::string extensions(const std::string& path); //! Creates directory in current directory -BA_CORE_API_ bool createDirectory(const std::string& dir_name); +bool createDirectory(const std::string& dir_name); //! Creates directories in current directory for any element of dir_name which doesn't exist. -BA_CORE_API_ bool createDirectories(const std::string& dir_name); +bool createDirectories(const std::string& dir_name); //! Returns filenames of files in directory -BA_CORE_API_ std::vector<std::string> filesInDirectory(const std::string& dir_name); +std::vector<std::string> filesInDirectory(const std::string& dir_name); //! Returns joint path name. -BA_CORE_API_ std::string jointPath(const std::string& spath1, const std::string& spath2); +std::string jointPath(const std::string& spath1, const std::string& spath2); //! Returns path without directory part ("Foo/Bar/Doz.int.gz" -> "Doz.int.gz") -BA_CORE_API_ std::string filename(const std::string& path); +std::string filename(const std::string& path); //! Returns filename without extension. //! "/home/user/filename.int" -> "filename", "/home/user/filename.int.gz" -> "filename.int" -BA_CORE_API_ std::string stem(const std::string& path); +std::string stem(const std::string& path); //! Returns filename without extension(s). //! "/home/user/filename.int" -> "filename", "/home/user/filename.int.gz" -> "filename" -BA_CORE_API_ std::string stem_ext(const std::string& path); +std::string stem_ext(const std::string& path); //! Returns file names that agree with a regex glob pattern. -BA_CORE_API_ std::vector<std::string> glob(const std::string& dir, const std::string& pattern); +std::vector<std::string> glob(const std::string& dir, const std::string& pattern); //! Converts utf8 string represented by std::string to utf16 string represented by std::wstring. -BA_CORE_API_ std::wstring convert_utf8_to_utf16(const std::string& str); +std::wstring convert_utf8_to_utf16(const std::string& str); //! Returns true if file with given name exists on disk. -BA_CORE_API_ bool IsFileExists(const std::string& str); +bool IsFileExists(const std::string& str); } // namespace FileSystemUtils diff --git a/Core/Tools/Integrator.h b/Core/Tools/Integrator.h index a2ac1105e95..78f09f7f53b 100644 --- a/Core/Tools/Integrator.h +++ b/Core/Tools/Integrator.h @@ -16,12 +16,11 @@ #define BORNAGAIN_CORE_TOOLS_INTEGRATOR_H #include "Core/Basics/Complex.h" -#include "Wrap/WinDllMacros.h" #include <functional> #include <gsl/gsl_integration.h> //! To integrate a real function of a real variable. -class BA_CORE_API_ RealIntegrator +class RealIntegrator { public: RealIntegrator(); @@ -38,7 +37,7 @@ private: }; //! To integrate a complex function of a real variable. -class BA_CORE_API_ ComplexIntegrator +class ComplexIntegrator { public: complex_t integrate(const std::function<complex_t(double)>& f, double lmin, double lmax); diff --git a/Core/Tools/MathFunctions.cpp b/Core/Tools/MathFunctions.cpp index 8a518ca0584..938e33f5fb5 100644 --- a/Core/Tools/MathFunctions.cpp +++ b/Core/Tools/MathFunctions.cpp @@ -106,10 +106,10 @@ double MathFunctions::erf(double arg) namespace MathFunctions { //! Computes complex Bessel function J0(z), using power series and asymptotic expansion -BA_CORE_API_ complex_t Bessel_J0_PowSer(const complex_t z); +complex_t Bessel_J0_PowSer(const complex_t z); //! Computes complex Bessel function J0(z), using power series and asymptotic expansion -BA_CORE_API_ complex_t Bessel_J1_PowSer(const complex_t z); +complex_t Bessel_J1_PowSer(const complex_t z); } // namespace MathFunctions double MathFunctions::Bessel_J0(double x) diff --git a/Core/Tools/MathFunctions.h b/Core/Tools/MathFunctions.h index 413cfe4e0e6..85361410875 100644 --- a/Core/Tools/MathFunctions.h +++ b/Core/Tools/MathFunctions.h @@ -16,7 +16,6 @@ #define BORNAGAIN_CORE_TOOLS_MATHFUNCTIONS_H #include "Core/Basics/Complex.h" -#include "Wrap/WinDllMacros.h" #include <vector> //! Various mathematical functions. @@ -28,55 +27,55 @@ namespace MathFunctions // Various functions // ************************************************************************** // -BA_CORE_API_ double StandardNormal(double x); -BA_CORE_API_ double Gaussian(double x, double average, double std_dev); -BA_CORE_API_ double IntegratedGaussian(double x, double average, double std_dev); +double StandardNormal(double x); +double Gaussian(double x, double average, double std_dev); +double IntegratedGaussian(double x, double average, double std_dev); //! cotangent function: \f$cot(x)\equiv1/tan(x)\f$ -BA_CORE_API_ double cot(double x); +double cot(double x); //! Sine integral function: \f$Si(x)\equiv\int_0^x du \sin(u)/u\f$ -BA_CORE_API_ double Si(double x); +double Si(double x); //! sinc function: \f$sinc(x)\equiv\sin(x)/x\f$ -BA_CORE_API_ double sinc(double x); +double sinc(double x); //! Complex sinc function: \f$sinc(x)\equiv\sin(x)/x\f$ -BA_CORE_API_ complex_t sinc(const complex_t z); +complex_t sinc(const complex_t z); //! Complex tanhc function: \f$tanhc(x)\equiv\tanh(x)/x\f$ -BA_CORE_API_ complex_t tanhc(const complex_t z); +complex_t tanhc(const complex_t z); //! Real Laue function: \f$Laue(x,N)\equiv\sin(Nx)/sin(x)\f$ -BA_CORE_API_ double Laue(const double x, size_t N); +double Laue(const double x, size_t N); //! Error function of real-valued argument -BA_CORE_API_ double erf(double arg); +double erf(double arg); // ************************************************************************** // // Bessel functions // ************************************************************************** // //! Bessel function of the first kind and order 0 -BA_CORE_API_ double Bessel_J0(double x); +double Bessel_J0(double x); //! Bessel function of the first kind and order 1 -BA_CORE_API_ double Bessel_J1(double x); +double Bessel_J1(double x); //! Bessel function Bessel_J1(x)/x -BA_CORE_API_ double Bessel_J1c(double x); +double Bessel_J1c(double x); //! Modified Bessel function of the first kind and order 0 -BA_CORE_API_ double Bessel_I0(double x); +double Bessel_I0(double x); //! Complex Bessel function of the first kind and order 0 -BA_CORE_API_ complex_t Bessel_J0(const complex_t z); +complex_t Bessel_J0(const complex_t z); //! Complex Bessel function of the first kind and order 1 -BA_CORE_API_ complex_t Bessel_J1(const complex_t z); +complex_t Bessel_J1(const complex_t z); //! Complex Bessel function Bessel_J1(x)/x -BA_CORE_API_ complex_t Bessel_J1c(const complex_t z); +complex_t Bessel_J1c(const complex_t z); // ************************************************************************** // // Fourier transform and convolution @@ -87,22 +86,22 @@ BA_CORE_API_ complex_t Bessel_J1c(const complex_t z); enum EFFTDirection { FORWARD_FFT, BACKWARD_FFT }; // TODO: name these two functions differently (SWIG warning 509) -BA_CORE_API_ std::vector<complex_t> FastFourierTransform(const std::vector<complex_t>& data, +std::vector<complex_t> FastFourierTransform(const std::vector<complex_t>& data, EFFTDirection tcase); -BA_CORE_API_ std::vector<complex_t> FastFourierTransform(const std::vector<double>& data, +std::vector<complex_t> FastFourierTransform(const std::vector<double>& data, EFFTDirection tcase); -BA_CORE_API_ std::vector<complex_t> ConvolveFFT(const std::vector<double>& signal, +std::vector<complex_t> ConvolveFFT(const std::vector<double>& signal, const std::vector<double>& resfunc); // ************************************************************************** // // Random number generators // ************************************************************************** // -BA_CORE_API_ double GenerateUniformRandom(); -BA_CORE_API_ double GenerateStandardNormalRandom(); -BA_CORE_API_ double GenerateNormalRandom(double average, double std_dev); -BA_CORE_API_ double GeneratePoissonRandom(double average); +double GenerateUniformRandom(); +double GenerateStandardNormalRandom(); +double GenerateNormalRandom(double average, double std_dev); +double GeneratePoissonRandom(double average); } // Namespace MathFunctions diff --git a/Core/Tools/Precomputed.h b/Core/Tools/Precomputed.h index 17812a890f1..7725206f347 100644 --- a/Core/Tools/Precomputed.h +++ b/Core/Tools/Precomputed.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_TOOLS_PRECOMPUTED_H #define BORNAGAIN_CORE_TOOLS_PRECOMPUTED_H -#include "Wrap/WinDllMacros.h" #include <array> #include <utility> #include <vector> diff --git a/Core/Tools/PyFmt.h b/Core/Tools/PyFmt.h index 08ca16dc536..8c6053a36de 100644 --- a/Core/Tools/PyFmt.h +++ b/Core/Tools/PyFmt.h @@ -16,7 +16,6 @@ #define BORNAGAIN_CORE_TOOLS_PYFMT_H #include "Core/Vector/Vectors3D.h" -#include "Wrap/WinDllMacros.h" #include <string> class RealLimits; @@ -26,31 +25,31 @@ class RealLimits; namespace pyfmt { -BA_CORE_API_ std::string scriptPreamble(); -BA_CORE_API_ std::string getSampleFunctionName(); - -BA_CORE_API_ std::string printInt(int value); -BA_CORE_API_ std::string printBool(double value); -BA_CORE_API_ std::string printDouble(double input); -BA_CORE_API_ std::string printNm(double input); -BA_CORE_API_ std::string printNm2(double input); -BA_CORE_API_ std::string printScientificDouble(double input); -BA_CORE_API_ std::string printDegrees(double input); -BA_CORE_API_ std::string printValue(double value, const std::string& units = ""); -BA_CORE_API_ std::string printString(const std::string& value); - -BA_CORE_API_ std::string printRealLimits(const RealLimits& limits, const std::string& units = ""); -BA_CORE_API_ std::string printRealLimitsArg(const RealLimits& limits, +std::string scriptPreamble(); +std::string getSampleFunctionName(); + +std::string printInt(int value); +std::string printBool(double value); +std::string printDouble(double input); +std::string printNm(double input); +std::string printNm2(double input); +std::string printScientificDouble(double input); +std::string printDegrees(double input); +std::string printValue(double value, const std::string& units = ""); +std::string printString(const std::string& value); + +std::string printRealLimits(const RealLimits& limits, const std::string& units = ""); +std::string printRealLimitsArg(const RealLimits& limits, const std::string& units = ""); -BA_CORE_API_ bool isSquare(double length1, double length2, double angle); -BA_CORE_API_ bool isHexagonal(double length1, double length2, double angle); -BA_CORE_API_ std::string printKvector(const kvector_t value); -BA_CORE_API_ bool isDefaultDirection(const kvector_t direction); +bool isSquare(double length1, double length2, double angle); +bool isHexagonal(double length1, double length2, double angle); +std::string printKvector(const kvector_t value); +bool isDefaultDirection(const kvector_t direction); //! Returns a string of blanks with given width. By default //! the width equals standard offset in python files. -BA_CORE_API_ std::string indent(size_t width = 4u); +std::string indent(size_t width = 4u); } // namespace pyfmt diff --git a/Core/Tools/SysUtils.h b/Core/Tools/SysUtils.h index 83059b2a25f..82b30c69c26 100644 --- a/Core/Tools/SysUtils.h +++ b/Core/Tools/SysUtils.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_CORE_TOOLS_SYSUTILS_H #define BORNAGAIN_CORE_TOOLS_SYSUTILS_H -#include "Wrap/WinDllMacros.h" #include <string> //! Utility functions getCurrentDateAndTime, enableFloatingPointExceptions. @@ -23,16 +22,16 @@ namespace SysUtils { -BA_CORE_API_ std::string getCurrentDateAndTime(); +std::string getCurrentDateAndTime(); //! Enables exception throw in the case of NaN, Inf. -BA_CORE_API_ void enableFloatingPointExceptions(); +void enableFloatingPointExceptions(); //! Returns environment variable. -BA_CORE_API_ std::string getenv(const std::string& name); +std::string getenv(const std::string& name); //! Returns true if operation system is Windows. -BA_CORE_API_ bool isWindowsHost(); +bool isWindowsHost(); } // namespace SysUtils diff --git a/Core/Vector/BasicVector3D.h b/Core/Vector/BasicVector3D.h index 500e8b97050..a9a002c02a6 100644 --- a/Core/Vector/BasicVector3D.h +++ b/Core/Vector/BasicVector3D.h @@ -19,7 +19,6 @@ //! then reworked beyond recognition. Removed split of point and vector semantics. //! Transforms are relegated to a separate class Transform3D. -#include "Wrap/WinDllMacros.h" #include <complex> //! Three-dimensional vector template, for use with integer, double, or complex components. @@ -298,7 +297,7 @@ template <class T> inline bool operator!=(const BasicVector3D<T>& a, const Basic //! Creates a vector<double> as a wavevector with given wavelength and angles. //! Specifically needed for grazing-incidence scattering. -BA_CORE_API_ BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi); +BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi); // ============================================================================= // ?? for API generation ?? @@ -326,30 +325,30 @@ inline auto BasicVector3D<T>::cross(const BasicVector3D<U>& v) const } #endif // SWIG -template <> BA_CORE_API_ BasicVector3D<double> BasicVector3D<double>::conj() const; +template <> BasicVector3D<double> BasicVector3D<double>::conj() const; template <> -BA_CORE_API_ BasicVector3D<std::complex<double>> BasicVector3D<std::complex<double>>::conj() const; +BasicVector3D<std::complex<double>> BasicVector3D<std::complex<double>>::conj() const; -template <> BA_CORE_API_ double BasicVector3D<double>::phi() const; +template <> double BasicVector3D<double>::phi() const; -template <> BA_CORE_API_ double BasicVector3D<double>::theta() const; +template <> double BasicVector3D<double>::theta() const; -template <> BA_CORE_API_ double BasicVector3D<double>::cosTheta() const; +template <> double BasicVector3D<double>::cosTheta() const; -template <> BA_CORE_API_ double BasicVector3D<double>::sin2Theta() const; +template <> double BasicVector3D<double>::sin2Theta() const; -template <> BA_CORE_API_ BasicVector3D<std::complex<double>> BasicVector3D<double>::complex() const; +template <> BasicVector3D<std::complex<double>> BasicVector3D<double>::complex() const; -template <> BA_CORE_API_ BasicVector3D<double> BasicVector3D<double>::real() const; +template <> BasicVector3D<double> BasicVector3D<double>::real() const; -template <> BA_CORE_API_ BasicVector3D<double> BasicVector3D<std::complex<double>>::real() const; +template <> BasicVector3D<double> BasicVector3D<std::complex<double>>::real() const; -template <> BA_CORE_API_ BasicVector3D<double> BasicVector3D<double>::unit() const; +template <> BasicVector3D<double> BasicVector3D<double>::unit() const; template <> -BA_CORE_API_ BasicVector3D<std::complex<double>> BasicVector3D<std::complex<double>>::unit() const; +BasicVector3D<std::complex<double>> BasicVector3D<std::complex<double>>::unit() const; -template <> BA_CORE_API_ double BasicVector3D<double>::angle(const BasicVector3D<double>& v) const; +template <> double BasicVector3D<double>::angle(const BasicVector3D<double>& v) const; #endif // BORNAGAIN_CORE_VECTOR_BASICVECTOR3D_H diff --git a/Core/Vector/Transform3D.cpp b/Core/Vector/Transform3D.cpp index 8ca7a0422b4..323c0e3180b 100644 --- a/Core/Vector/Transform3D.cpp +++ b/Core/Vector/Transform3D.cpp @@ -120,8 +120,8 @@ template <class ivector_t> ivector_t Transform3D::transformed(const ivector_t& v return ivector_t(x, y, z); } -template BA_CORE_API_ kvector_t Transform3D::transformed<kvector_t>(const kvector_t& v) const; -template BA_CORE_API_ cvector_t Transform3D::transformed<cvector_t>(const cvector_t& v) const; +template kvector_t Transform3D::transformed<kvector_t>(const kvector_t& v) const; +template cvector_t Transform3D::transformed<cvector_t>(const cvector_t& v) const; template <class ivector_t> ivector_t Transform3D::transformedInverse(const ivector_t& v) const { @@ -134,9 +134,9 @@ template <class ivector_t> ivector_t Transform3D::transformedInverse(const ivect return ivector_t(x, y, z); } -template BA_CORE_API_ kvector_t +template kvector_t Transform3D::transformedInverse<kvector_t>(const kvector_t& v) const; -template BA_CORE_API_ cvector_t +template cvector_t Transform3D::transformedInverse<cvector_t>(const cvector_t& v) const; Transform3D* Transform3D::clone() const diff --git a/Core/Vector/Transform3D.h b/Core/Vector/Transform3D.h index 4924357c182..6436d9ec790 100644 --- a/Core/Vector/Transform3D.h +++ b/Core/Vector/Transform3D.h @@ -24,7 +24,7 @@ //! Vector transformations in three dimensions. //! @ingroup tools_internal -class BA_CORE_API_ Transform3D +class Transform3D { public: enum ERotationType { EULER, XAXIS, YAXIS, ZAXIS }; diff --git a/Core/Vector/WavevectorInfo.h b/Core/Vector/WavevectorInfo.h index d304c30c22b..271bf49eca7 100644 --- a/Core/Vector/WavevectorInfo.h +++ b/Core/Vector/WavevectorInfo.h @@ -22,7 +22,7 @@ class Transform3D; //! Holds all wavevector information relevant for calculating form factors. //! @ingroup formfactors_internal -class BA_CORE_API_ WavevectorInfo +class WavevectorInfo { public: static WavevectorInfo GetZeroQ(); diff --git a/GUI/coregui/Models/GUIDomainSampleVisitor.h b/GUI/coregui/Models/GUIDomainSampleVisitor.h index 13156e01147..01f6c01a229 100644 --- a/GUI/coregui/Models/GUIDomainSampleVisitor.h +++ b/GUI/coregui/Models/GUIDomainSampleVisitor.h @@ -16,6 +16,7 @@ #define BORNAGAIN_GUI_COREGUI_MODELS_GUIDOMAINSAMPLEVISITOR_H #include "Core/Parametrization/INodeVisitor.h" +#include "Wrap/WinDllMacros.h" #include <QMap> #include <QString> diff --git a/GUI/coregui/Models/GUIObjectBuilder.h b/GUI/coregui/Models/GUIObjectBuilder.h index ca05fe346a6..537309f8bcb 100644 --- a/GUI/coregui/Models/GUIObjectBuilder.h +++ b/GUI/coregui/Models/GUIObjectBuilder.h @@ -16,6 +16,7 @@ #define BORNAGAIN_GUI_COREGUI_MODELS_GUIOBJECTBUILDER_H #include "Core/Parametrization/INodeVisitor.h" +#include "Wrap/WinDllMacros.h" #include <QMap> #include <QString> diff --git a/GUI/coregui/Models/TransformToDomain.h b/GUI/coregui/Models/TransformToDomain.h index 0c14914124c..1344646f767 100644 --- a/GUI/coregui/Models/TransformToDomain.h +++ b/GUI/coregui/Models/TransformToDomain.h @@ -25,6 +25,7 @@ #include "Core/Parametrization/Distributions.h" // for IDistribution1D #include "Core/Particle/IParticle.h" #include "Core/Particle/ParticleDistribution.h" +#include "Wrap/WinDllMacros.h" #include <memory> class AngularSpecScan; diff --git a/GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvImportTable.h b/GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvImportTable.h index f115d4cc0f7..66113062a07 100644 --- a/GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvImportTable.h +++ b/GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvImportTable.h @@ -17,6 +17,7 @@ #include "GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvDataColumn.h" #include "GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvNamespace.h" +#include "Wrap/WinDllMacros.h" #include <QTableWidget> #include <set> diff --git a/auto/Wrap/doxygen_core.i b/auto/Wrap/doxygen_core.i index 5afa349f1c3..3480b48adee 100644 --- a/auto/Wrap/doxygen_core.i +++ b/auto/Wrap/doxygen_core.i @@ -16727,12 +16727,12 @@ Calculates the rotation angle for a rotation around the z-axis alone Only meanin Returns the inverse transformation. "; -%feature("docstring") Transform3D::transformed "template BA_CORE_API_ cvector_t Transform3D::transformed< cvector_t >(const ivector_t &v) const +%feature("docstring") Transform3D::transformed "template cvector_t Transform3D::transformed< cvector_t >(const ivector_t &v) const Return transformed vector v. "; -%feature("docstring") Transform3D::transformedInverse "template BA_CORE_API_ cvector_t Transform3D::transformedInverse< cvector_t >(const ivector_t &v) const +%feature("docstring") Transform3D::transformedInverse "template cvector_t Transform3D::transformedInverse< cvector_t >(const ivector_t &v) const Return transformed vector v. "; @@ -17287,31 +17287,31 @@ vector<vector<double>> // File: namespaceAxisNames.xml -%feature("docstring") AxisNames::InitSphericalAxis0 "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitSphericalAxis0() +%feature("docstring") AxisNames::InitSphericalAxis0 "std::map< AxesUnits, std::string > AxisNames::InitSphericalAxis0() "; -%feature("docstring") AxisNames::InitSphericalAxis1 "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitSphericalAxis1() +%feature("docstring") AxisNames::InitSphericalAxis1 "std::map< AxesUnits, std::string > AxisNames::InitSphericalAxis1() "; -%feature("docstring") AxisNames::InitRectangularAxis0 "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitRectangularAxis0() +%feature("docstring") AxisNames::InitRectangularAxis0 "std::map< AxesUnits, std::string > AxisNames::InitRectangularAxis0() "; -%feature("docstring") AxisNames::InitRectangularAxis1 "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitRectangularAxis1() +%feature("docstring") AxisNames::InitRectangularAxis1 "std::map< AxesUnits, std::string > AxisNames::InitRectangularAxis1() "; -%feature("docstring") AxisNames::InitOffSpecAxis0 "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitOffSpecAxis0() +%feature("docstring") AxisNames::InitOffSpecAxis0 "std::map< AxesUnits, std::string > AxisNames::InitOffSpecAxis0() "; -%feature("docstring") AxisNames::InitOffSpecAxis1 "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitOffSpecAxis1() +%feature("docstring") AxisNames::InitOffSpecAxis1 "std::map< AxesUnits, std::string > AxisNames::InitOffSpecAxis1() "; -%feature("docstring") AxisNames::InitSpecAxis "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitSpecAxis() +%feature("docstring") AxisNames::InitSpecAxis "std::map< AxesUnits, std::string > AxisNames::InitSpecAxis() "; -%feature("docstring") AxisNames::InitSpecAxisQ "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitSpecAxisQ() +%feature("docstring") AxisNames::InitSpecAxisQ "std::map< AxesUnits, std::string > AxisNames::InitSpecAxisQ() "; -%feature("docstring") AxisNames::InitSampleDepthAxis "BA_CORE_API_ std::map< AxesUnits, std::string > AxisNames::InitSampleDepthAxis() +%feature("docstring") AxisNames::InitSampleDepthAxis "std::map< AxesUnits, std::string > AxisNames::InitSampleDepthAxis() "; @@ -17597,7 +17597,7 @@ Function for calculating the reduced potential, used for obtaining the Fresnel c Function for calculating the reduced potential, used for obtaining the Fresnel coefficients (polarized material case) "; -%feature("docstring") MaterialUtils::MagnetizationCorrection "BA_CORE_API_ Eigen::Matrix2cd MaterialUtils::MagnetizationCorrection(complex_t unit_factor, double magnetic_factor, BasicVector3D< T > polarization) +%feature("docstring") MaterialUtils::MagnetizationCorrection "Eigen::Matrix2cd MaterialUtils::MagnetizationCorrection(complex_t unit_factor, double magnetic_factor, BasicVector3D< T > polarization) Utility to compute magnetization correction for reduced potential and scattering length density. "; @@ -17904,96 +17904,96 @@ Returns string representing python stack trace. // File: namespacepyfmt.xml -%feature("docstring") pyfmt::scriptPreamble "BA_CORE_API_ std::string pyfmt::scriptPreamble() +%feature("docstring") pyfmt::scriptPreamble "std::string pyfmt::scriptPreamble() "; -%feature("docstring") pyfmt::getSampleFunctionName "BA_CORE_API_ std::string pyfmt::getSampleFunctionName() +%feature("docstring") pyfmt::getSampleFunctionName "std::string pyfmt::getSampleFunctionName() "; -%feature("docstring") pyfmt::printBool "BA_CORE_API_ std::string pyfmt::printBool(double value) +%feature("docstring") pyfmt::printBool "std::string pyfmt::printBool(double value) "; -%feature("docstring") pyfmt::printDouble "BA_CORE_API_ std::string pyfmt::printDouble(double input) +%feature("docstring") pyfmt::printDouble "std::string pyfmt::printDouble(double input) "; -%feature("docstring") pyfmt::printNm "BA_CORE_API_ std::string pyfmt::printNm(double input) +%feature("docstring") pyfmt::printNm "std::string pyfmt::printNm(double input) "; -%feature("docstring") pyfmt::printNm2 "BA_CORE_API_ std::string pyfmt::printNm2(double input) +%feature("docstring") pyfmt::printNm2 "std::string pyfmt::printNm2(double input) "; -%feature("docstring") pyfmt::printScientificDouble "BA_CORE_API_ std::string pyfmt::printScientificDouble(double input) +%feature("docstring") pyfmt::printScientificDouble "std::string pyfmt::printScientificDouble(double input) "; -%feature("docstring") pyfmt::printDegrees "BA_CORE_API_ std::string pyfmt::printDegrees(double input) +%feature("docstring") pyfmt::printDegrees "std::string pyfmt::printDegrees(double input) "; -%feature("docstring") pyfmt::printValue "BA_CORE_API_ std::string pyfmt::printValue(double value, const std::string &units) +%feature("docstring") pyfmt::printValue "std::string pyfmt::printValue(double value, const std::string &units) "; -%feature("docstring") pyfmt::printString "BA_CORE_API_ std::string pyfmt::printString(const std::string &value) +%feature("docstring") pyfmt::printString "std::string pyfmt::printString(const std::string &value) "; -%feature("docstring") pyfmt::printRealLimits "BA_CORE_API_ std::string pyfmt::printRealLimits(const RealLimits &limits, const std::string &units) +%feature("docstring") pyfmt::printRealLimits "std::string pyfmt::printRealLimits(const RealLimits &limits, const std::string &units) "; -%feature("docstring") pyfmt::printRealLimitsArg "BA_CORE_API_ std::string pyfmt::printRealLimitsArg(const RealLimits &limits, const std::string &units) +%feature("docstring") pyfmt::printRealLimitsArg "std::string pyfmt::printRealLimitsArg(const RealLimits &limits, const std::string &units) Prints RealLimits in the form of argument (in the context of ParameterDistribution and similar). Default RealLimits will not be printed, any other will be printed as \", ba.RealLimits.limited(1*deg, 2*deg)\" "; -%feature("docstring") pyfmt::isSquare "BA_CORE_API_ bool pyfmt::isSquare(double length1, double length2, double angle) +%feature("docstring") pyfmt::isSquare "bool pyfmt::isSquare(double length1, double length2, double angle) Prints ParameterDistribution. distVarName is a string representing IDistribution1D variable, e.g. \"distr_1\" ba.ParameterDistribution(\"/Particle/Height\", distr_1, 10, 0.0, ba.RealLimits.limited(1*nm,2*nm)) "; -%feature("docstring") pyfmt::isHexagonal "BA_CORE_API_ bool pyfmt::isHexagonal(double length1, double length2, double angle) +%feature("docstring") pyfmt::isHexagonal "bool pyfmt::isHexagonal(double length1, double length2, double angle) "; -%feature("docstring") pyfmt::printKvector "BA_CORE_API_ std::string pyfmt::printKvector(const kvector_t value) +%feature("docstring") pyfmt::printKvector "std::string pyfmt::printKvector(const kvector_t value) "; -%feature("docstring") pyfmt::isDefaultDirection "BA_CORE_API_ bool pyfmt::isDefaultDirection(const kvector_t direction) +%feature("docstring") pyfmt::isDefaultDirection "bool pyfmt::isDefaultDirection(const kvector_t direction) returns true if it is (0, -1, 0) vector "; -%feature("docstring") pyfmt::indent "BA_CORE_API_ std::string pyfmt::indent(size_t width) +%feature("docstring") pyfmt::indent "std::string pyfmt::indent(size_t width) Returns a string of blanks with given width. By default the width equals standard offset in python files. "; -%feature("docstring") pyfmt::printInt "BA_CORE_API_ std::string pyfmt::printInt(int value) +%feature("docstring") pyfmt::printInt "std::string pyfmt::printInt(int value) "; // File: namespacepyfmt2.xml -%feature("docstring") pyfmt2::representShape2D "BA_CORE_API_ std::string pyfmt2::representShape2D(const std::string &indent, const IShape2D *ishape, bool mask_value, std::function< std::string(double)> printValueFunc) +%feature("docstring") pyfmt2::representShape2D "std::string pyfmt2::representShape2D(const std::string &indent, const IShape2D *ishape, bool mask_value, std::function< std::string(double)> printValueFunc) Returns fixed Python code snippet that defines the function \"runSimulation\". "; -%feature("docstring") pyfmt2::valueTimesUnit "BA_CORE_API_ std::string pyfmt2::valueTimesUnit(const RealParameter *par) +%feature("docstring") pyfmt2::valueTimesUnit "std::string pyfmt2::valueTimesUnit(const RealParameter *par) Returns parameter value, followed by its unit multiplicator (like \"* nm\"). "; -%feature("docstring") pyfmt2::argumentList "BA_CORE_API_ std::string pyfmt2::argumentList(const IParameterized *ip) +%feature("docstring") pyfmt2::argumentList "std::string pyfmt2::argumentList(const IParameterized *ip) Returns comma-separated list of parameter values, including unit multiplicator (like \"* nm\"). "; -%feature("docstring") pyfmt2::printDistribution "BA_CORE_API_ std::string pyfmt2::printDistribution(const IDistribution1D &par_distr, const std::string &units) +%feature("docstring") pyfmt2::printDistribution "std::string pyfmt2::printDistribution(const IDistribution1D &par_distr, const std::string &units) Prints distribution with constructor parameters in given units. ba.DistributionGaussian(2.0*deg, 0.02*deg) "; -%feature("docstring") pyfmt2::printParameterDistribution "BA_CORE_API_ std::string pyfmt2::printParameterDistribution(const ParameterDistribution &par_distr, const std::string &distVarName, const std::string &units) +%feature("docstring") pyfmt2::printParameterDistribution "std::string pyfmt2::printParameterDistribution(const ParameterDistribution &par_distr, const std::string &distVarName, const std::string &units) "; -%feature("docstring") pyfmt2::printAxis "BA_CORE_API_ std::string pyfmt2::printAxis(const IAxis &axis, const std::string &units, size_t offset) +%feature("docstring") pyfmt2::printAxis "std::string pyfmt2::printAxis(const IAxis &axis, const std::string &units, size_t offset) Prints python-script definition for given axis. offset is used for alignment and indentation in multiple-line definitions "; @@ -18579,17 +18579,17 @@ Generate z values (equidistant) for use in MaterialProfile. // File: MultiLayerFuncs_8h.xml -%feature("docstring") MaterialProfile "BA_CORE_API_ std::vector<complex_t> MaterialProfile(const MultiLayer &multilayer, int n_points, double z_min, double z_max) +%feature("docstring") MaterialProfile "std::vector<complex_t> MaterialProfile(const MultiLayer &multilayer, int n_points, double z_min, double z_max) Calculate average material profile for given multilayer "; -%feature("docstring") DefaultMaterialProfileLimits "BA_CORE_API_ std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer &multilayer) +%feature("docstring") DefaultMaterialProfileLimits "std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer &multilayer) Get default z limits for generating a material profile. "; -%feature("docstring") GenerateZValues "BA_CORE_API_ std::vector<double> GenerateZValues(int n_points, double z_min, double z_max) +%feature("docstring") GenerateZValues "std::vector<double> GenerateZValues(int n_points, double z_min, double z_max) Generate z values (equidistant) for use in MaterialProfile. "; @@ -19460,21 +19460,21 @@ magnetization (in A/m) // File: MaterialFactoryFuncs_8h.xml -%feature("docstring") HomogeneousMaterial "BA_CORE_API_ Material HomogeneousMaterial() +%feature("docstring") HomogeneousMaterial "Material HomogeneousMaterial() "; -%feature("docstring") HomogeneousMaterial "BA_CORE_API_ Material HomogeneousMaterial(const std::string &name, double delta, double beta, kvector_t magnetization={}) +%feature("docstring") HomogeneousMaterial "Material HomogeneousMaterial(const std::string &name, double delta, double beta, kvector_t magnetization={}) "; -%feature("docstring") HomogeneousMaterial "BA_CORE_API_ Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization={}) +%feature("docstring") HomogeneousMaterial "Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization={}) Constructs a material with name, refractive_index and magnetization (in A/m). Alternatively, $\\\\delta$ and $\\\\beta$ for refractive index $n = 1 - \\\\delta + i \\\\beta$ can be passed directly. With no parameters given, constructs default (vacuum) material with $n = 1$ and zero magnetization. "; -%feature("docstring") MaterialBySLD "BA_CORE_API_ Material MaterialBySLD() +%feature("docstring") MaterialBySLD "Material MaterialBySLD() "; -%feature("docstring") MaterialBySLD "BA_CORE_API_ Material MaterialBySLD(const std::string &name, double sld_real, double sld_imag, kvector_t magnetization={}) +%feature("docstring") MaterialBySLD "Material MaterialBySLD(const std::string &name, double sld_real, double sld_imag, kvector_t magnetization={}) Constructs a wavelength-independent material with a given complex-valued scattering length density (SLD). SLD values for a wide variety of materials can be found on https://sld-calculator.appspot.com/ and https://www.ncnr.nist.gov/resources/activation/ By convention, SLD imaginary part is treated as negative by default, which corresponds to attenuation of the signal. With no parameters given, MaterialBySLD constructs default (vacuum) material with zero sld and zero magnetization. @@ -19753,10 +19753,10 @@ magnetization (in A/m) // File: INodeVisitor_8h.xml -%feature("docstring") VisitNodesPreorder "BA_CORE_API_ void VisitNodesPreorder(const INode &node, INodeVisitor &visitor) +%feature("docstring") VisitNodesPreorder "void VisitNodesPreorder(const INode &node, INodeVisitor &visitor) "; -%feature("docstring") VisitNodesPostorder "BA_CORE_API_ void VisitNodesPostorder(const INode &node, INodeVisitor &visitor) +%feature("docstring") VisitNodesPostorder "void VisitNodesPostorder(const INode &node, INodeVisitor &visitor) "; @@ -19870,7 +19870,7 @@ Creates averaged material. Square refractive index of returned material is arith // File: HomogeneousRegion_8h.xml -%feature("docstring") createAveragedMaterial "BA_CORE_API_ Material createAveragedMaterial(const Material &layer_mat, const std::vector< HomogeneousRegion > ®ions) +%feature("docstring") createAveragedMaterial "Material createAveragedMaterial(const Material &layer_mat, const std::vector< HomogeneousRegion > ®ions) Creates averaged material. Square refractive index of returned material is arithmetic mean over regions and layer_mat. Magnetization (if present) is averaged linearly. "; @@ -20020,7 +20020,7 @@ Returns concatenated rotation (first right, then left). // File: Rotations_8h.xml -%feature("docstring") createProduct "BA_CORE_API_ IRotation* createProduct(const IRotation &left, const IRotation &right) +%feature("docstring") createProduct "IRotation* createProduct(const IRotation &left, const IRotation &right) Returns concatenated rotation (first right, then left). "; @@ -20044,7 +20044,7 @@ Returns concatenated rotation (first right, then left). %feature("docstring") MaxLimit "OneSidedLimit MaxLimit(const OneSidedLimit &left, const OneSidedLimit &right) "; -%feature("docstring") ConvexHull "BA_CORE_API_ ZLimits ConvexHull(const ZLimits &left, const ZLimits &right) +%feature("docstring") ConvexHull "ZLimits ConvexHull(const ZLimits &left, const ZLimits &right) "; @@ -20474,7 +20474,7 @@ Creates a vector<double> as a wavevector with given wavelength and angles. Speci // File: BasicVector3D_8h.xml -%feature("docstring") vecOfLambdaAlphaPhi "BA_CORE_API_ BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi) +%feature("docstring") vecOfLambdaAlphaPhi "BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi) Creates a vector<double> as a wavevector with given wavelength and angles. Specifically needed for grazing-incidence scattering. "; diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index 218a0c3c28f..093d07d6686 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -2489,7 +2489,7 @@ _libBornAgainCore.SimulationFactoryTemp_swigregister(SimulationFactoryTemp) def vecOfLambdaAlphaPhi(_lambda, _alpha, _phi): r""" vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi) -> kvector_t - BA_CORE_API_ BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi) + BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi) Creates a vector<double> as a wavevector with given wavelength and angles. Specifically needed for grazing-incidence scattering. @@ -6484,7 +6484,7 @@ _libBornAgainCore.INodeVisitor_swigregister(INodeVisitor) def VisitNodesPreorder(node, visitor): r""" VisitNodesPreorder(INode node, INodeVisitor visitor) - BA_CORE_API_ void VisitNodesPreorder(const INode &node, INodeVisitor &visitor) + void VisitNodesPreorder(const INode &node, INodeVisitor &visitor) """ return _libBornAgainCore.VisitNodesPreorder(node, visitor) @@ -6492,7 +6492,7 @@ def VisitNodesPreorder(node, visitor): def VisitNodesPostorder(node, visitor): r""" VisitNodesPostorder(INode node, INodeVisitor visitor) - BA_CORE_API_ void VisitNodesPostorder(const INode &node, INodeVisitor &visitor) + void VisitNodesPostorder(const INode &node, INodeVisitor &visitor) """ return _libBornAgainCore.VisitNodesPostorder(node, visitor) @@ -8495,7 +8495,7 @@ def IRotation_createIdentity(): def createProduct(left, right): r""" createProduct(IRotation left, IRotation right) -> IRotation - BA_CORE_API_ IRotation* createProduct(const IRotation &left, const IRotation &right) + IRotation* createProduct(const IRotation &left, const IRotation &right) Returns concatenated rotation (first right, then left). @@ -18132,7 +18132,7 @@ _libBornAgainCore.PoissonNoiseBackground_swigregister(PoissonNoiseBackground) def MaterialProfile_cpp(multilayer, n_points, z_min, z_max): r""" MaterialProfile_cpp(MultiLayer multilayer, int n_points, double z_min, double z_max) -> vector_complex_t - BA_CORE_API_ std::vector<complex_t> MaterialProfile(const MultiLayer &multilayer, int n_points, double z_min, double z_max) + std::vector<complex_t> MaterialProfile(const MultiLayer &multilayer, int n_points, double z_min, double z_max) Calculate average material profile for given multilayer @@ -18142,7 +18142,7 @@ def MaterialProfile_cpp(multilayer, n_points, z_min, z_max): def DefaultMaterialProfileLimits(multilayer): r""" DefaultMaterialProfileLimits(MultiLayer multilayer) -> pair_double_t - BA_CORE_API_ std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer &multilayer) + std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer &multilayer) Get default z limits for generating a material profile. @@ -18152,7 +18152,7 @@ def DefaultMaterialProfileLimits(multilayer): def GenerateZValues(n_points, z_min, z_max): r""" GenerateZValues(int n_points, double z_min, double z_max) -> vdouble1d_t - BA_CORE_API_ std::vector<double> GenerateZValues(int n_points, double z_min, double z_max) + std::vector<double> GenerateZValues(int n_points, double z_min, double z_max) Generate z values (equidistant) for use in MaterialProfile. @@ -22031,7 +22031,7 @@ def HomogeneousMaterial(*args): HomogeneousMaterial() -> Material HomogeneousMaterial(std::string const & name, double delta, double beta, kvector_t magnetization={}) -> Material HomogeneousMaterial(std::string const & name, complex_t refractive_index, kvector_t magnetization={}) -> Material - BA_CORE_API_ Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization={}) + Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization={}) Constructs a material with name, refractive_index and magnetization (in A/m). Alternatively, $\\delta$ and $\\beta$ for refractive index $n = 1 - \\delta + i \\beta$ can be passed directly. With no parameters given, constructs default (vacuum) material with $n = 1$ and zero magnetization. @@ -22042,7 +22042,7 @@ def MaterialBySLD(*args): r""" MaterialBySLD() -> Material MaterialBySLD(std::string const & name, double sld_real, double sld_imag, kvector_t magnetization={}) -> Material - BA_CORE_API_ Material MaterialBySLD(const std::string &name, double sld_real, double sld_imag, kvector_t magnetization={}) + Material MaterialBySLD(const std::string &name, double sld_real, double sld_imag, kvector_t magnetization={}) Constructs a wavelength-independent material with a given complex-valued scattering length density (SLD). SLD values for a wide variety of materials can be found on https://sld-calculator.appspot.com/ and https://www.ncnr.nist.gov/resources/activation/ By convention, SLD imaginary part is treated as negative by default, which corresponds to attenuation of the signal. With no parameters given, MaterialBySLD constructs default (vacuum) material with zero sld and zero magnetization. diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index a05b903e10b..2378f11cf08 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -121806,7 +121806,7 @@ static PyMethodDef SwigMethods[] = { { "SimulationFactoryTemp_swiginit", SimulationFactoryTemp_swiginit, METH_VARARGS, NULL}, { "vecOfLambdaAlphaPhi", _wrap_vecOfLambdaAlphaPhi, METH_VARARGS, "\n" "vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi) -> kvector_t\n" - "BA_CORE_API_ BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi)\n" + "BasicVector3D<double> vecOfLambdaAlphaPhi(double _lambda, double _alpha, double _phi)\n" "\n" "Creates a vector<double> as a wavevector with given wavelength and angles. Specifically needed for grazing-incidence scattering. \n" "\n" @@ -124128,12 +124128,12 @@ static PyMethodDef SwigMethods[] = { { "INodeVisitor_swiginit", INodeVisitor_swiginit, METH_VARARGS, NULL}, { "VisitNodesPreorder", _wrap_VisitNodesPreorder, METH_VARARGS, "\n" "VisitNodesPreorder(INode node, INodeVisitor visitor)\n" - "BA_CORE_API_ void VisitNodesPreorder(const INode &node, INodeVisitor &visitor)\n" + "void VisitNodesPreorder(const INode &node, INodeVisitor &visitor)\n" "\n" ""}, { "VisitNodesPostorder", _wrap_VisitNodesPostorder, METH_VARARGS, "\n" "VisitNodesPostorder(INode node, INodeVisitor visitor)\n" - "BA_CORE_API_ void VisitNodesPostorder(const INode &node, INodeVisitor &visitor)\n" + "void VisitNodesPostorder(const INode &node, INodeVisitor &visitor)\n" "\n" ""}, { "new_RealParameter", _wrap_new_RealParameter, METH_VARARGS, "\n" @@ -125299,7 +125299,7 @@ static PyMethodDef SwigMethods[] = { { "IRotation_swigregister", IRotation_swigregister, METH_O, NULL}, { "createProduct", _wrap_createProduct, METH_VARARGS, "\n" "createProduct(IRotation left, IRotation right) -> IRotation\n" - "BA_CORE_API_ IRotation* createProduct(const IRotation &left, const IRotation &right)\n" + "IRotation* createProduct(const IRotation &left, const IRotation &right)\n" "\n" "Returns concatenated rotation (first right, then left). \n" "\n" @@ -130902,21 +130902,21 @@ static PyMethodDef SwigMethods[] = { { "PoissonNoiseBackground_swiginit", PoissonNoiseBackground_swiginit, METH_VARARGS, NULL}, { "MaterialProfile_cpp", _wrap_MaterialProfile_cpp, METH_VARARGS, "\n" "MaterialProfile_cpp(MultiLayer multilayer, int n_points, double z_min, double z_max) -> vector_complex_t\n" - "BA_CORE_API_ std::vector<complex_t> MaterialProfile(const MultiLayer &multilayer, int n_points, double z_min, double z_max)\n" + "std::vector<complex_t> MaterialProfile(const MultiLayer &multilayer, int n_points, double z_min, double z_max)\n" "\n" "Calculate average material profile for given multilayer \n" "\n" ""}, { "DefaultMaterialProfileLimits", _wrap_DefaultMaterialProfileLimits, METH_O, "\n" "DefaultMaterialProfileLimits(MultiLayer multilayer) -> pair_double_t\n" - "BA_CORE_API_ std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer &multilayer)\n" + "std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer &multilayer)\n" "\n" "Get default z limits for generating a material profile. \n" "\n" ""}, { "GenerateZValues", _wrap_GenerateZValues, METH_VARARGS, "\n" "GenerateZValues(int n_points, double z_min, double z_max) -> vdouble1d_t\n" - "BA_CORE_API_ std::vector<double> GenerateZValues(int n_points, double z_min, double z_max)\n" + "std::vector<double> GenerateZValues(int n_points, double z_min, double z_max)\n" "\n" "Generate z values (equidistant) for use in MaterialProfile. \n" "\n" @@ -133184,7 +133184,7 @@ static PyMethodDef SwigMethods[] = { "HomogeneousMaterial() -> Material\n" "HomogeneousMaterial(std::string const & name, double delta, double beta, kvector_t magnetization={}) -> Material\n" "HomogeneousMaterial(std::string const & name, complex_t refractive_index, kvector_t magnetization={}) -> Material\n" - "BA_CORE_API_ Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization={})\n" + "Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization={})\n" "\n" "Constructs a material with name, refractive_index and magnetization (in A/m). Alternatively, $\\\\delta$ and $\\\\beta$ for refractive index $n = 1 - \\\\delta + i \\\\beta$ can be passed directly. With no parameters given, constructs default (vacuum) material with $n = 1$ and zero magnetization. \n" "\n" @@ -133192,7 +133192,7 @@ static PyMethodDef SwigMethods[] = { { "MaterialBySLD", _wrap_MaterialBySLD, METH_VARARGS, "\n" "MaterialBySLD() -> Material\n" "MaterialBySLD(std::string const & name, double sld_real, double sld_imag, kvector_t magnetization={}) -> Material\n" - "BA_CORE_API_ Material MaterialBySLD(const std::string &name, double sld_real, double sld_imag, kvector_t magnetization={})\n" + "Material MaterialBySLD(const std::string &name, double sld_real, double sld_imag, kvector_t magnetization={})\n" "\n" "Constructs a wavelength-independent material with a given complex-valued scattering length density (SLD). SLD values for a wide variety of materials can be found on https://sld-calculator.appspot.com/ and https://www.ncnr.nist.gov/resources/activation/ By convention, SLD imaginary part is treated as negative by default, which corresponds to attenuation of the signal. With no parameters given, MaterialBySLD constructs default (vacuum) material with zero sld and zero magnetization.\n" "\n" -- GitLab