$extrastylesheet
00001 // The libMesh Finite Element Library. 00002 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner 00003 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 #ifndef LIBMESH_XDR_HEAD_H 00019 #define LIBMESH_XDR_HEAD_H 00020 00021 // Local includes 00022 #include "libmesh/xdr_mgf.h" 00023 00024 namespace libMesh 00025 { 00026 00034 class XdrHEAD 00035 { 00036 public: 00040 XdrHEAD(); 00041 00045 virtual ~XdrHEAD(); 00046 00050 void setId(const char* id) { delete [] mp_id; mp_id = cpyString(id); } 00051 00055 const char* getId() const { return mp_id; } 00056 00060 void setTitle(const char* title) { delete [] mp_title; mp_title = cpyString(title); } 00061 00065 const char* getTitle() const { return mp_title; } 00066 00071 void setNumNodes(int numNodes) { m_numNodes = numNodes; } 00072 00077 int getNumNodes() const { return m_numNodes; } 00078 00084 void setNumBCs(int numBCs) { m_numBCs = numBCs; } 00085 00091 int getNumBCs() const { return m_numBCs; } 00092 00097 void setStrSize(int strSize) { m_strSize = strSize; } 00098 00099 // /** 00100 // * Set the string size of the 00101 // * mesh /solutionfile. (?) 00102 // */ 00103 // int getStrSize() const { return m_strSize; } 00104 00105 protected: 00106 00111 int m_wrtVar; 00112 00119 int m_numvar; 00120 00126 int m_meshCnt; 00127 00131 int m_kstep; 00132 00137 int m_numel; 00138 00143 int m_numNodes; 00144 00150 int m_sumWghts; 00151 00156 int m_numBCs; 00157 00161 int m_strSize; 00162 00166 char* mp_id; 00167 00171 char* mp_title; 00172 00176 char* mp_userTitle; 00177 00181 char* mp_varTitle; 00182 00186 xdr_Real m_time; 00187 00197 char* cpyString(const char* src, int len = -1); 00198 00199 private: 00200 XdrHEAD(const XdrHEAD&); 00201 const XdrHEAD& operator=(const XdrHEAD&); 00202 }; 00203 00204 00205 } // namespace libMesh 00206 00207 00208 #endif // LIBMESH_XDR_HEAD_H