VAPoR  0.1
WaveletBlock3DReader.h
Go to the documentation of this file.
1 //
2 // $Id$
3 //
4 
5 
6 #ifndef _WavletBlock3DReader_h_
7 #define _WavletBlock3DReader_h_
8 
9 #include <vapor/MyBase.h>
10 #include "WaveletBlockIOBase.h"
11 
12 namespace VAPoR {
13 
14 //
25 //
27 
28 public:
29 
37  //
39  const MetadataVDC &metadata
40 );
41 
49  //
51  const string &metafile
52  );
53 
54  virtual ~WaveletBlock3DReader();
55 
80  virtual int OpenVariableRead(
81  size_t timestep,
82  const char *varname,
83  int reflevel = 0,
84  int lod = 0
85  );
86 
87  virtual int OpenVariableWrite(
88  size_t timestep,
89  const char *varname,
90  int reflevel = 0,
91  int lod = 0
92  ) {SetErrMsg("Operation not supported"); return(-1);};
93 
94 
95  virtual int CloseVariable();
96 
97 
126  //
127  int ReadSlabs(float *two_slabs, int unblock);
128 
129 protected:
130  void _GetDataRange(float range[2]) const {};
131 
132 private:
133 
134  float *lambda_blks_c[MAX_LEVELS]; // temp storage for lambda blocks
135  float *scratch_block_c; // scratch space
136  int slab_cntr_c;
137  size_t _block_size;
138 
139  int read_slabs(
140  int level,
141  const float *src_lambda_buf,
142  int src_nbx,
143  int src_nby,
144  float *two_slabs,
145  int dst_nbx,
146  int dst_nby
147  );
148 
149  int my_realloc();
150  void my_free();
151 
152  void _WaveletBlock3DReader();
153 
154 };
155 
156 };
157 
158 #endif // _WavletBlock3DReader_h_
#define VDF_API
Definition: common.h:61
A slab reader for VDF files.
A class for managing data set metadata.
Definition: MetadataVDC.h:92
Performs data IO to VDF files.
virtual int OpenVariableWrite(size_t timestep, const char *varname, int reflevel=0, int lod=0)
void _GetDataRange(float range[2]) const