$extrastylesheet
xdr_head.h
Go to the documentation of this file.
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