FlowVis 1.0
|
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 //maximum nuber of channels. For VisLU data sets we have only 5 anyways 00012 #define max_channels 16 00013 00014 class FlowData{ 00015 private: 00017 bool loaded; 00018 00020 int timesteps; 00021 00023 FlowGeometry geometry; 00024 00026 bool freeChannel[max_channels]; 00028 FlowChannel* channels[max_channels]; 00029 00030 int numofChannels; 00031 public: 00033 FlowData(); 00035 ~FlowData(); 00036 00038 bool loadDataset(string filename, bool bigEndian); 00039 00041 int getNumTimesteps(); 00042 00043 int getNumChannels(){return numofChannels;} 00044 //channels stuff 00046 int createChannel(); 00048 void deleteChannel(int i); 00050 FlowChannel* getChannel(int i); 00051 00052 //special channels creation 00053 int createChannelValue(int ch); 00055 int createChannelGeometry(int dimension); 00057 int createChannelVectorLength(int chX, int chY, int chZ = -1); 00059 int createChannelVectorLength(FlowChannel* chX, FlowChannel* chY, FlowChannel* chZ = NULL); 00060 00061 void getGeometry(int &x,int &y); 00062 }; 00063 #endif