blob: 94f2a7047b5cf0d0fbfb836c85ea89bb52d77a40 (
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
30
31
32
33
34
35
36
37
|
#ifndef __UNIWRITER_HH_
#define __UNIWRITER_HH_
#include "IO.hh"
class Writer {
protected:
IObase &file;
int drank;
//int *ddims;
int ddims[5];
IObase::DataType dtypeID;
// double *ddelta,*dorigin,*dext;
double ddelta[5],dorigin[5],dext[5];
int extsize;
virtual void writeBounds();
public:
Writer(IObase &outfile);
virtual ~Writer();
virtual void setRank(int rank); // more efficient to set rank once for all
virtual void setDims(int *dims);//only if rank has been set(should have flag)
virtual void setDims(int rank,int *dims);
virtual void setType(IObase::DataType typeID);
virtual void setOrigin(double *origin);
virtual void setDelta(double *delta);
virtual void setParams(int rank,int *dims,IObase::DataType typeID,
double *origin,double *delta);
virtual void write(void *data);
virtual void reserveChunk();
virtual void writeChunk(int *chunkdims,int *chunkorigin,void *data);
};
extern "C" {
#include "Writer.h"
}
#endif
|