1 /* 2 * Copyright (C) 2013 Thorsten Liebig (Thorsten.Liebig@gmx.de) 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License as published 6 * by the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef CSBACKGROUNDMATERIAL_H 19 #define CSBACKGROUNDMATERIAL_H 20 21 #include "CSXCAD_Global.h" 22 23 class TiXmlNode; 24 25 class CSBackgroundMaterial 26 { 27 public: 28 CSBackgroundMaterial(); 29 30 //! Get the rel. electric permittivity GetEpsilon()31 double GetEpsilon() const {return m_epsR;} 32 //! Set the rel. electric permittivity 33 void SetEpsilon(double val); 34 35 //! Get the rel. magnetic permeability GetMue()36 double GetMue() const {return m_mueR;} 37 //! Set the rel. magnetic permeability 38 void SetMue(double val); 39 40 //! Get the electric conductivity GetKappa()41 double GetKappa() const {return m_kappa;} 42 //! Set the electric conductivity 43 void SetKappa(double val); 44 45 //! Get the (artificial) magnetic conductivity GetSigma()46 double GetSigma() const {return m_sigma;} 47 //! Set the (artificial) magnetic conductivity 48 void SetSigma(double val); 49 50 //! Reset all values to default 51 void Reset(); 52 53 virtual bool Write2XML(TiXmlNode& root, bool parameterised=true, bool sparse=false); 54 virtual bool ReadFromXML(TiXmlNode &root); 55 56 protected: 57 double m_epsR; 58 double m_mueR; 59 double m_kappa; 60 double m_sigma; 61 }; 62 63 #endif // CSBACKGROUNDMATERIAL_H 64