AFEPack
|
00001 00002 // GmshMesh.h : by R.Lie 00003 // 00004 00005 #ifndef _GmshMesh_h_ 00006 #define _GmshMesh_h_ 00007 00008 #include <iostream> 00009 #include <string> 00010 #include <fstream> 00011 00012 #include "Geometry.h" 00013 00020 class GmshMesh : public SimplestMesh<3,3> 00021 { 00022 public: 00023 typedef int GeometryType; 00024 static const GeometryType POINT = 15; 00025 static const GeometryType LINE = 1; 00026 static const GeometryType TRIANGLE = 2; 00027 static const GeometryType QUADRANGLE = 3; 00028 static const GeometryType TETRAHEDRON = 4; 00029 static const GeometryType HEXAHEDRON = 5; 00030 static const GeometryType PRISM = 6; 00031 static const GeometryType PYRAMID = 7; 00032 private: 00033 std::list<GeometryBM> node; 00034 std::list<GeometryBM> line; 00035 std::list<GeometryBM> surface; 00036 public: 00037 GmshMesh(); 00038 virtual ~GmshMesh(); 00039 public: 00040 void readData(const std::string&); 00041 virtual void generateMesh(Mesh<3,3>& m); 00042 DeclException1(ExcMeshData, 00043 char *, 00044 << "Mesh data error: " << arg1); 00045 }; 00046 00047 #endif // _GmshMesh_h_ 00048 00049 // 00050 // end of file