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