aboutsummaryrefslogtreecommitdiff
path: root/src/AmrGridReader.hh
blob: 1d14915fd1385c4af079d0ebeb748328ef8d60d1 (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_