summaryrefslogtreecommitdiff
path: root/CSXCAD/src/CSBackgroundMaterial.h
diff options
context:
space:
mode:
Diffstat (limited to 'CSXCAD/src/CSBackgroundMaterial.h')
-rw-r--r--CSXCAD/src/CSBackgroundMaterial.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/CSXCAD/src/CSBackgroundMaterial.h b/CSXCAD/src/CSBackgroundMaterial.h
new file mode 100644
index 0000000..8a54f54
--- /dev/null
+++ b/CSXCAD/src/CSBackgroundMaterial.h
@@ -0,0 +1,63 @@
+/*
+* Copyright (C) 2013 Thorsten Liebig (Thorsten.Liebig@gmx.de)
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published
+* by the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef CSBACKGROUNDMATERIAL_H
+#define CSBACKGROUNDMATERIAL_H
+
+#include "CSXCAD_Global.h"
+
+class TiXmlNode;
+
+class CSBackgroundMaterial
+{
+public:
+ CSBackgroundMaterial();
+
+ //! Get the rel. electric permittivity
+ double GetEpsilon() const {return m_epsR;}
+ //! Set the rel. electric permittivity
+ void SetEpsilon(double val);
+
+ //! Get the rel. magnetic permeability
+ double GetMue() const {return m_mueR;}
+ //! Set the rel. magnetic permeability
+ void SetMue(double val);
+
+ //! Get the electric conductivity
+ double GetKappa() const {return m_kappa;}
+ //! Set the electric conductivity
+ void SetKappa(double val);
+
+ //! Get the (artificial) magnetic conductivity
+ double GetSigma() const {return m_sigma;}
+ //! Set the (artificial) magnetic conductivity
+ void SetSigma(double val);
+
+ //! Reset all values to default
+ void Reset();
+
+ virtual bool Write2XML(TiXmlNode& root, bool parameterised=true, bool sparse=false);
+ virtual bool ReadFromXML(TiXmlNode &root);
+
+protected:
+ double m_epsR;
+ double m_mueR;
+ double m_kappa;
+ double m_sigma;
+};
+
+#endif // CSBACKGROUNDMATERIAL_H