FlowVis 1.0

FlowVis/Framework/FlowData.h

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
 All Classes Functions Variables Friends