00001 #ifndef FLOATDATA_H
00002 #define FLOATDATA_H
00003
00004 #include "FlowGeometry.h"
00005 #include "FlowChannel.h"
00006 #include <stdio.h>
00007 #include <iostream>
00008 #include <string>
00009
00010 using namespace std;
00011
00012 #define max_channels 16
00013
00014 class FlowData{
00015 private:
00016
00017 string griName;
00018
00019 int m_dimX;
00020 int m_dimY;
00021 int m_dimZ;
00022 int m_numChannels;
00023 float m_DT;
00024 string m_filename;
00025 bool bigEndian;
00026
00028 bool loaded;
00029
00031 int timesteps;
00032
00034 bool freeChannel[max_channels];
00036 FlowChannel* channels[max_channels];
00037
00038 public:
00040 FlowData();
00042 ~FlowData();
00043
00045 bool loadDataset(string filename, bool bigEndian);
00046
00047
00048 bool FlowData::loadDatFile(int timestep);
00049
00051 int getNumTimesteps();
00052
00053
00054 int GetNumChannels();
00055
00057 FlowGeometry geometry;
00058
00059
00060
00062 int createChannel();
00064 void deleteChannel(int i);
00066 FlowChannel* getChannel(int i);
00067
00068
00070 int createChannelGeometry(int dimension);
00072 int createChannelVectorLength(int chX, int chY, int chZ = -1);
00074 int createChannelVectorLength(FlowChannel* chX, FlowChannel* chY, FlowChannel* chZ = NULL);
00075 };
00076 #endif