aboutsummaryrefslogtreecommitdiff
path: root/src/AmrGridReader.hh
blob: 4c7e84c46f6d0e5e908ee4fecbf0c9ceba1f83e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef __AMRGRIDREADER_HH_
#define __AMRGRIDREADER_HH_

#include <IO.hh>
#include "AmrGrid.h"

class AmrGridReader {
  IObase &file;
public:
  AmrGridReader(IObase &f):file(f){}
  // get specific grid
  AmrGrid *getGrid(AmrGrid &g,int index){
    if(file.seek(index)<index)
      return 0; // don't load past end
    getGridInfo(g,index);
    getGridData(g,index);
    return &g;
  }
  AmrGrid *getGrid(int index){
    AmrGrid *g=new AmrGrid;
    return this->getGrid(*g,index);
  }
  // Other stuff
  AmrGrid *getGridInfo(AmrGrid &g,int index);
  AmrGrid *getGridData(AmrGrid &g,int index);
};


#endif // __AMRGRIDREADER_HH_