From 5f7ea01eec730517ea69cf900cce9d06c250c281 Mon Sep 17 00:00:00 2001 From: Dmitry Yurov <d.yurov@fz-juelich.de> Date: Fri, 6 Apr 2018 10:55:12 +0200 Subject: [PATCH] Removed IFresnelMap::fillSpecularData and descendants Redmine: #2028 --- Core/Computation/SpecularComputationTerm.cpp | 14 ++++---------- Core/Computation/SpecularComputationTerm.h | 2 -- Core/Multilayer/IFresnelMap.h | 3 --- Core/Multilayer/MatrixFresnelMap.cpp | 11 ----------- Core/Multilayer/MatrixFresnelMap.h | 5 +---- Core/Multilayer/ScalarFresnelMap.cpp | 10 ---------- Core/Multilayer/ScalarFresnelMap.h | 3 --- 7 files changed, 5 insertions(+), 43 deletions(-) diff --git a/Core/Computation/SpecularComputationTerm.cpp b/Core/Computation/SpecularComputationTerm.cpp index 0b6549fa31d..dcf8f59d914 100644 --- a/Core/Computation/SpecularComputationTerm.cpp +++ b/Core/Computation/SpecularComputationTerm.cpp @@ -2,7 +2,6 @@ #include "ILayerRTCoefficients.h" #include "MultiLayer.h" #include "SpecularComputationTerm.h" -#include "SpecularData.h" #include "SpecularSimulationElement.h" SpecularComputationTerm::SpecularComputationTerm(const MultiLayer* p_multi_layer, @@ -18,13 +17,8 @@ void SpecularComputationTerm::eval(ProgressHandler*, const SpecularElementIter& return; for (auto it = begin_it; it != end_it; ++it) - if (it->isCalculated()) - evalSingle(it); -} - -void SpecularComputationTerm::evalSingle(const SpecularElementIter& iter) const -{ - mp_fresnel_map->fillSpecularData(*iter); - const ILayerRTCoefficients& layer_data = iter->specularData()[0]; - iter->setIntensity(std::norm(layer_data.getScalarR())); + if (it->isCalculated()) { + double intensity = std::norm(mp_fresnel_map->getInCoefficients(*it, 0)->getScalarR()); + it->setIntensity(intensity); + } } diff --git a/Core/Computation/SpecularComputationTerm.h b/Core/Computation/SpecularComputationTerm.h index e314868554e..1cedf7febfa 100644 --- a/Core/Computation/SpecularComputationTerm.h +++ b/Core/Computation/SpecularComputationTerm.h @@ -37,8 +37,6 @@ public: const SpecularElementIter& end_it) const; private: - void evalSingle(const SpecularElementIter& iter) const; - const MultiLayer* mp_multilayer; const IFresnelMap* mp_fresnel_map; }; diff --git a/Core/Multilayer/IFresnelMap.h b/Core/Multilayer/IFresnelMap.h index 2fb2901439c..7563b2d286a 100644 --- a/Core/Multilayer/IFresnelMap.h +++ b/Core/Multilayer/IFresnelMap.h @@ -50,9 +50,6 @@ public: return getCoefficients(sim_element.getKi(), layer_index); } - //! Fills simulation element specular data - virtual void fillSpecularData(SpecularSimulationElement& sim_element) const = 0; - //! Sets the multilayer to be used for the Fresnel calculations. virtual void setMultilayer(const MultiLayer& multilayer); diff --git a/Core/Multilayer/MatrixFresnelMap.cpp b/Core/Multilayer/MatrixFresnelMap.cpp index f8034f01d26..8da0be8e05a 100644 --- a/Core/Multilayer/MatrixFresnelMap.cpp +++ b/Core/Multilayer/MatrixFresnelMap.cpp @@ -19,7 +19,6 @@ #include "SimulationElement.h" #include "SpecularData.h" #include "SpecularMagnetic.h" -#include "SpecularSimulationElement.h" namespace { std::vector<MatrixRTCoefficients> calculateCoefficients(const MultiLayer& multilayer, @@ -41,16 +40,6 @@ MatrixFresnelMap::getOutCoefficients(const SimulationElement& sim_element, size_ m_hash_table_out); } -void MatrixFresnelMap::fillSpecularData(SpecularSimulationElement& sim_element) const -{ - const auto& kvec = sim_element.getKi(); - if (m_use_cache) - sim_element.setSpecular( - SpecularData(getCoefficientsFromCache(kvec, *mP_multilayer, m_hash_table_in))); - else - sim_element.setSpecular(SpecularData(calculateCoefficients(*mP_multilayer, kvec))); -} - std::unique_ptr<const ILayerRTCoefficients> MatrixFresnelMap::getCoefficients(const kvector_t& kvec, size_t layer_index) const { diff --git a/Core/Multilayer/MatrixFresnelMap.h b/Core/Multilayer/MatrixFresnelMap.h index a1dbd8dccd7..c1047bcf069 100644 --- a/Core/Multilayer/MatrixFresnelMap.h +++ b/Core/Multilayer/MatrixFresnelMap.h @@ -33,7 +33,7 @@ class BA_CORE_API_ MatrixFresnelMap : public IFresnelMap { public: MatrixFresnelMap(); - virtual ~MatrixFresnelMap(); + ~MatrixFresnelMap() override; std::unique_ptr<const ILayerRTCoefficients> getOutCoefficients(const SimulationElement& sim_element, @@ -41,9 +41,6 @@ public: void setMultilayer(const MultiLayer& multilayer) final override; - //! Fills simulation element specular data - void fillSpecularData(SpecularSimulationElement& sim_element) const override; - typedef std::unordered_map<kvector_t, std::vector<MatrixRTCoefficients>, HashKVector> CoefficientHash; diff --git a/Core/Multilayer/ScalarFresnelMap.cpp b/Core/Multilayer/ScalarFresnelMap.cpp index 2d3fdf806b0..4034889e238 100644 --- a/Core/Multilayer/ScalarFresnelMap.cpp +++ b/Core/Multilayer/ScalarFresnelMap.cpp @@ -17,7 +17,6 @@ #include "ScalarRTCoefficients.h" #include "SimulationElement.h" #include "SpecularMatrix.h" -#include "SpecularSimulationElement.h" #include "Vectors3D.h" namespace { @@ -37,15 +36,6 @@ ScalarFresnelMap::getOutCoefficients(const SimulationElement& sim_element, size_ return getCoefficients(-sim_element.getMeanKf(), layer_index); } -void ScalarFresnelMap::fillSpecularData(SpecularSimulationElement& sim_element) const -{ - const auto& kvec = sim_element.getKi(); - if (m_use_cache) - sim_element.setSpecular(SpecularData(getCoefficientsFromCache(kvec))); - else - sim_element.setSpecular(SpecularData(calculateCoefficients(*mP_multilayer, kvec))); -} - std::unique_ptr<const ILayerRTCoefficients> ScalarFresnelMap::getCoefficients(const kvector_t& kvec, size_t layer_index) const { diff --git a/Core/Multilayer/ScalarFresnelMap.h b/Core/Multilayer/ScalarFresnelMap.h index 7a5a81e2844..57c357d98b5 100644 --- a/Core/Multilayer/ScalarFresnelMap.h +++ b/Core/Multilayer/ScalarFresnelMap.h @@ -39,9 +39,6 @@ public: getOutCoefficients(const SimulationElement& sim_element, size_t layer_index) const override; - //! Fills simulation element specular data - void fillSpecularData(SpecularSimulationElement& sim_element) const override; - private: std::unique_ptr<const ILayerRTCoefficients> getCoefficients(const kvector_t& kvec, size_t layer_index) const override; -- GitLab