00001 #ifndef SHEWCHUKMESHWRITER_H 00002 #define SHEWCHUKMESHWRITER_H 00003 00004 #include "SundanceDefs.h" 00005 00006 #include "MeshWriter.h" 00007 00008 00009 namespace Sundance 00010 { 00011 00012 using namespace TSF; 00013 using std::string; 00014 00015 using std::ostream; 00016 00017 /** \ingroup UserLevelGeometry 00018 * Writes a triangular mesh to Shewchuk's triangle format 00019 */ 00020 00021 class ShewchukMeshWriter : public MeshWriterBase 00022 { 00023 public: 00024 ShewchukMeshWriter() : MeshWriterBase() {;} 00025 virtual ~ShewchukMeshWriter() {;} 00026 00027 virtual void write(const string& filename, 00028 const Mesh& mesh) const ; 00029 00030 protected: 00031 void writeElementFile(const string& filename, const Mesh& mesh) const ; 00032 void writeNodeFile(const string& filename, const Mesh& mesh) const ; 00033 }; 00034 00035 } 00036 #endif