00001 //*****************************************************************// 00002 // Albany 2.0: Copyright 2012 Sandia Corporation // 00003 // This Software is released under the BSD license detailed // 00004 // in the file "license.txt" in the top-level Albany directory // 00005 //*****************************************************************// 00006 00007 #ifndef FMDB_VTK_HPP 00008 #define FMDB_VTK_HPP 00009 00010 #include "Teuchos_RCP.hpp" 00011 #include "Epetra_Comm.h" 00012 #include "AlbPUMI_FMDBMeshStruct.hpp" 00013 00014 #include "pumi_mesh.h" 00015 00016 namespace AlbPUMI { 00017 00018 class FMDBVtk { 00019 00020 public: 00021 00022 FMDBVtk(FMDBMeshStruct& meshStruct, const Teuchos::RCP<const Epetra_Comm>& comm_); 00023 00024 ~FMDBVtk(); 00025 00026 void writeFile(const double time); 00027 void setFileName(const std::string& fname){ outputFileName = fname; } 00028 00029 void debugMeshWrite(const char* filename); 00030 00031 private: 00032 00033 std::ofstream vtu_collection_file; 00034 00035 apf::Mesh* mesh; 00036 00037 bool doCollection; 00038 std::string outputFileName; 00039 00040 int remeshFileIndex; 00041 00042 00044 Teuchos::RCP<const Epetra_Comm> comm; 00045 00046 }; 00047 00048 } 00049 00050 #endif 00051