VisLU Flow 0.1

src/renderer/streamline.h

00001 #ifndef STREAMLINE_H
00002 #define STREAMLINE_H
00003 
00004 #include "vec3.h"
00005 
00006 #include <queue>
00007 #include <list>
00008 
00009 class StreamGrid;
00010 
00011 class Streamline
00012 {
00013 public:
00014     Streamline(StreamGrid* grid, const vec3& initialSeed);
00015     ~Streamline(void);
00016 
00017     std::list<vec3> getAllSamples(void);
00018 
00019     vec3& getInitialSeed(void) { return this->initialSeed; }
00020     vec3 getNextSeed(void);
00021 private:
00022     vec3 initialSeed;
00023     StreamGrid* grid;
00024 
00025     void calculate(void);
00026     void calculateSeedCandidates(const vec3& point, const vec3& velocity);
00027 
00028     std::list<vec3> linePoints;
00029     std::queue<vec3> seedCandidates;
00030 };
00031 
00032 #endif
 All Classes Functions Variables