00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _MESHALYZERMESHWRITER_HPP_
00031 #define _MESHALYZERMESHWRITER_HPP_
00032
00033 #include "AbstractTetrahedralMeshWriter.hpp"
00034
00038 template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
00039 class MeshalyzerMeshWriter : public AbstractTetrahedralMeshWriter<ELEMENT_DIM, SPACE_DIM>
00040 {
00041 private:
00047 out_stream OpenNodeFile(bool append=false);
00048
00054 out_stream OpenElementFile(bool append=false);
00055
00061 out_stream OpenFaceFile(bool append=false);
00062
00066 void WriteMetaFile();
00067
00071 void WriteFilesFooter();
00072
00078 std::ios_base::openmode GetOpenMode(bool append);
00079
00080 protected:
00084 void CreateFilesWithHeaders();
00085
00089 void AppendLocalDataToFiles();
00090
00091 public:
00092
00101 MeshalyzerMeshWriter(const std::string& rDirectory,
00102 const std::string& rBaseName,
00103 const bool& rCleanDirectory=true,
00104 const bool& rSetCoolGraphics=false);
00105
00109 void WriteFiles();
00110
00114 virtual ~MeshalyzerMeshWriter();
00115
00116 };
00117
00118 #endif //_MESHALYZERMESHWRITER_HPP_