MOAB: Mesh Oriented datABase
(version 5.4.1)
|
00001 /** 00002 * MOAB, a Mesh-Oriented datABase, is a software component for creating, 00003 * storing and accessing finite element mesh data. 00004 * 00005 * Copyright 2004 Sandia Corporation. Under the terms of Contract 00006 * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government 00007 * retains certain rights in this software. 00008 * 00009 * This library is free software; you can redistribute it and/or 00010 * modify it under the terms of the GNU Lesser General Public 00011 * License as published by the Free Software Foundation; either 00012 * version 2.1 of the License, or (at your option) any later version. 00013 * 00014 */ 00015 00016 #ifndef WRITE_SMF_HPP 00017 #define WRITE_SMF_HPP 00018 00019 #include <iosfwd> 00020 00021 #include "moab/Forward.hpp" 00022 #include "moab/WriterIface.hpp" 00023 00024 namespace moab 00025 { 00026 00027 class WriteUtilIface; 00028 00029 class WriteSmf : public WriterIface 00030 { 00031 00032 public: 00033 //! Constructor 00034 WriteSmf( Interface* impl ); 00035 00036 //! Destructor 00037 virtual ~WriteSmf(); 00038 00039 static WriterIface* factory( Interface* ); 00040 00041 //! writes out a file 00042 ErrorCode write_file( const char* file_name, 00043 const bool overwrite, 00044 const FileOptions& opts, 00045 const EntityHandle* output_list, 00046 const int num_sets, 00047 const std::vector< std::string >& qa_list, 00048 const Tag* tag_list = NULL, 00049 int num_tags = 0, 00050 int export_dimension = 3 ); 00051 00052 private: 00053 Interface* mbImpl; 00054 WriteUtilIface* writeTool; 00055 }; 00056 00057 } // namespace moab 00058 00059 #endif