00001 #ifndef _MESH_IMPORTER_H_ 00002 #define _MESH_IMPORTER_H_ 00003 00004 #include "fv_compiler.h" 00005 00006 #include "BaseImporter.h" 00007 #include "BaseMesh.h" 00008 00009 namespace IOmgr { 00010 00011 /*template <class TMesh>*/ 00012 class MeshImporter : public BaseImporter { 00013 00014 public: 00015 00016 MeshImporter(FemViewer::BaseMesh* pmesh_ ) : _pmesh(pmesh_) {} 00017 00018 ~MeshImporter() {} 00019 00020 void* Reserve(FemViewer::ElemItem elem_type, const unsigned int size = 0) 00021 { 00022 assert(elem_type >= 0); 00023 assert(size > 0); 00024 return _pmesh->Reserve(elem_type,size); 00025 } 00026 00027 void PostProcessing() 00028 { 00029 _pmesh->Prepare(); 00030 } 00031 00032 const void* GetItem () const 00033 { 00034 return( NULL);// _pmesh->GetItem(); 00035 } 00036 00037 void ImportParams(const void *p_) 00038 { 00039 _pmesh->ImportParams(p_); 00040 } 00041 00042 void AddNode(const void* p_) 00043 { 00044 _pmesh->AddNode(p_); 00045 } 00046 00047 void AddEdge(const void* p_) 00048 { 00049 _pmesh->AddEdge(p_); 00050 } 00051 00052 void AddFace(const void* p_) 00053 { 00054 _pmesh->AddFace(p_); 00055 } 00056 00057 void AddElem(const void* p_) 00058 { 00059 _pmesh->AddElem(p_); 00060 } 00061 00062 int nElems () const 00063 { return _pmesh->nElems(); } 00064 00065 00066 private: 00067 FemViewer::BaseMesh* _pmesh; 00068 }; 00069 } 00070 00071 #endif /* _MESH_IMPORTER_H_ 00072 */