00001 #ifndef DMPFILEIMPORTER_H 00002 #define DMPFILEIMPORTER_H 00003 00004 #include "MeshFileImporter.h" 00005 00006 namespace MeshRead 00007 { 00008 00009 class DmpFileImporter : public MeshRead::MeshFileImporter 00010 { 00011 public: 00012 DmpFileImporter(const std::string & fileName); 00013 DmpFileImporter(); 00014 ~DmpFileImporter(); 00015 00016 bool Init(); 00017 00018 bool doRead(hHybridMesh * mesh); 00019 00022 int GetVerticesCount() ; 00023 00027 bool GetNextVertex(double coords[]) ; 00028 00031 void GetElementCount(int type_count[]) ; 00032 00038 bool GetNextElement(Tind vertices[], Tind neighbours[], Tind faces[], Tind & element_type , Tind & father, int8_t & material, int8_t & ref); 00039 00047 int GetCoordinatesDimension() const { return 3; } 00048 bool GetBoundaryConditions(double **, int &) { return false; } 00049 00050 int GetEdgesCount(); 00051 void GetFacesCount(int type_count[]); 00052 bool GetNextFace(Tind edges[],Tind & face_type, int8_t & bc, Tind neigh[]); 00053 bool GetNextEdge(Tind vertices[],Tind & edge_type); 00054 00055 00056 protected: 00057 int _face_count, 00058 _face_readed, 00059 _edge_count, 00060 _edge_readed; 00061 private: 00062 }; 00063 00064 } 00065 00066 #endif // DMPFILEIMPORTER_H