VisLU Flow 0.1
|
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