34 #include "config_hdf5.h"
39 #include "InternalErr.h"
47 BaseType *HDF5GMCFFillIndexArray::ptr_duplicate()
53 bool HDF5GMCFFillIndexArray::read()
56 BESDEBUG(
"h5",
"Coming to HDF5GMCFFillIndexArray read "<<endl);
58 read_data_NOT_from_mem_cache(
false,NULL);
64 void HDF5GMCFFillIndexArray::read_data_NOT_from_mem_cache(
bool ,
void*) {
67 BESDEBUG(
"h5",
"Coming to HDF5GMCFFillIndexArray: read_data_NOT_from_mem_cache"<<endl);
73 cerr<<
"coming to read function"<<endl;
74 cerr<<
"file name " <<filename <<endl;
75 "h5",
"var name "<<varname <<endl;
79 throw InternalErr (__FILE__, __LINE__,
80 "Currently the rank of the dimension scale must be 1.");
90 nelms = format_constraint (&offset[0], &step[0], &count[0]);
98 vector<unsigned char> val;
101 for (
int i = 0; i < count[0]; i++)
102 val[i] = offset[0] + step[0] * i;
104 set_value ((dods_byte *) &val[0], nelms);
117 for (
int i = 0; i < count[0]; i++)
118 val[i] = offset[0] + step[0] * i;
120 set_value ((dods_int16 *) &val[0], nelms);
127 vector<unsigned short> val;
130 for (
int i = 0; i < count[0]; i++)
131 val[i] = offset[0] + step[0] * i;
133 set_value ((dods_uint16 *) &val[0], nelms);
143 for (
int i = 0; i < count[0]; i++)
144 val[i] = offset[0] + step[0] * i;
146 set_value ((dods_int32 *) &val[0], nelms);
152 vector<unsigned int>val;
155 for (
int i = 0; i < count[0]; i++)
156 val[i] = offset[0] + step[0] * i;
158 set_value ((dods_uint32 *) &val[0], nelms);
168 for (
int i = 0; i < count[0]; i++)
169 val[i] = offset[0] + step[0] * i;
171 set_value ((dods_float32 *) &val[0], nelms);
182 for (
int i = 0; i < count[0]; i++)
183 val[i] = offset[0] + step[0] * i;
185 set_value ((dods_float64 *) &val[0], nelms);
195 eherr <<
"Currently the dimension scale datatype cannot be string"<<endl;
196 throw InternalErr (__FILE__, __LINE__, eherr.str ());