src/HDF5FileBuilder.h

Go to the documentation of this file.
00001 #include <iostream>
00002 #include "assert.h"
00003 #include "meshbuilder.h"
00004 
00005 //HDF5 Stuff
00006 #include "hdf5.h"
00007 #define REALFILETYPE H5T_IEEE_F64BE  // 'Double' type used to create the datafile
00008 #define REALMEMTYPE H5T_NATIVE_DOUBLE // Data type used in memory natively
00009 #define INTFILETYPE H5T_STD_I32BE     //INT type used to create the datafile
00010 #define INTMEMTYPE H5T_NATIVE_INT
00011 
00012 
00013 class HDF5FileBuilder : public MeshBuilder  {
00014 public: 
00015     HDF5FileBuilder(const char* outputFile);
00016     ~HDF5FileBuilder();
00018     virtual void init_coord(int nof_node);
00020     virtual void set_coord(int i, double x, double y, double z);
00022     virtual void finalize_coord();
00024     virtual void init_tet(int nof_tet);
00026     virtual void set_tet(int t, int id0, int id1, int id2, int id3, int material);
00028     virtual void finalize_tet();
00030     virtual void init_bc(int nof_bc_face);
00032     virtual void set_bc(int id0, int id1, int id2, int bc_id);
00034     virtual void finalize_bc(int nof_sym);
00035 
00036 private: // Private attributes
00037     int _nof_node;
00038     int _nof_tet;
00039     int _nof_bc_face;
00040     int _bc_face_counter;
00041     int _nof_sym;
00042     double *_coord;
00043     int *_tet_node;
00044     int *_bc_face;
00045     int *_material;
00046 
00047     hid_t       file, points, tets, mats, edges;         // File and dataset            
00048     hid_t       pointspace, tetspace, matspace, edgespace;       // Dataspace handles           
00049     hsize_t     dimsf[2];              // Dataset dimensions          
00050     herr_t      status;                // Error checking              
00051 
00052 };
00053 

Generated on Fri Oct 26 13:35:12 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7