From 086601eb11a043a59e9c5bf3347a62095e8af852 Mon Sep 17 00:00:00 2001
From: Dmitry Yurov <d.yurov@fz-juelich.de>
Date: Mon, 6 Nov 2017 18:32:03 +0100
Subject: [PATCH] Add isDefaultMaterial() method to Material class

Redmine: #1871
---
 Core/Material/Material.cpp | 5 +++++
 Core/Material/Material.h   | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/Core/Material/Material.cpp b/Core/Material/Material.cpp
index 848f2a08104..9d36b91e635 100644
--- a/Core/Material/Material.cpp
+++ b/Core/Material/Material.cpp
@@ -69,6 +69,11 @@ complex_t Material::materialData() const
     return m_material_impl->materialData();
 }
 
+bool Material::isDefaultMaterial() const
+{
+    return materialData() == complex_t() && isScalarMaterial();
+}
+
 complex_t Material::scalarSubtrSLD(const WavevectorInfo& wavevectors) const
 {
     return m_material_impl->scalarSubtrSLD(wavevectors);
diff --git a/Core/Material/Material.h b/Core/Material/Material.h
index 9c0a021d3cc..349854f0d70 100644
--- a/Core/Material/Material.h
+++ b/Core/Material/Material.h
@@ -81,6 +81,10 @@ public:
     //! Returns true if material underlying data is nullptr
     bool isEmpty() const {return !m_material_impl;}
 
+    //! Returns true if material has refractive index of (1.0, 0.0)
+    //! and zero magnetization.
+    bool isDefaultMaterial() const;
+
     //! Returns (\f$ \pi/\lambda^2 \f$ - sld), sld (in \f$nm^{-2}\f$) being the scattering length density
     complex_t scalarSubtrSLD(const WavevectorInfo& wavevectors) const;
 
-- 
GitLab