#include #include #include "IO.hh" #include "IEEEIO.hh" #include "Reader.hh" #include "Writer.hh" int main(int argc,char *argv[]){ float data[4*4*8]; double origin[3]={0,0,0}; double dx[3]={0.25,0.25,0.25}; int i; int rank=3; int dims[3]={4,4,8}; Reader *reader; IObase *infile; if(argc>1) infile = new IEEEIO(argv[1],IObase::Read); else infile = new IEEEIO("data3d.raw",IObase::Read); // reader = new Reader(*infile); int ndatasets=infile->nDatasets(); printf("Number of datasets=%d\n",ndatasets); for(i=0;ireadInfo(datatype,rank,dims); printf("Data info dt=%u,rank=%u,dims=%u,%u,%u\n", (int)(datatype),rank,dims[0],dims[1],dims[2]); infile->read(buffer); for(j=0;j<8*4*4;j++) printf("Data[%u]=%f\n",j,buffer[j]); puts("***done printing data"); int nattribs=infile->nAttributes(); printf("Number of Attributes=%d\n",nattribs); for(j=0;jreadAttributeInfo(j,attribname,datatype,length); printf("\tAttribute[%u] name=%s\n",j,attribname); switch(datatype){ case IObase::Float32:{ //float buf[5]; puts("Float"); printf("length=%u\n",length); } break; case IObase::Float64:{ double buf[5]; puts("Double"); printf("length=%u\n",length); infile->readAttribute(j,buf); for(int k=0;k