00001 #ifndef STREAMLINE_H 00002 #define STREAMLINE_H 00003 00004 #include "vec3.h" 00005 #include <vector> 00006 #include <list> 00007 00008 using namespace std; 00009 00010 class StreamlineGrid; 00011 00013 class StreamLine 00014 { 00015 public: 00016 StreamLine(StreamlineGrid*, const vec3&); 00017 ~StreamLine(); 00018 00019 vec3& getStartSample() { return this->startSample; }; 00020 00021 bool getNextSeed(vec3*); 00022 00023 bool addSample(const vec3); 00024 00025 void finalize(); 00026 00027 private: 00028 vec3 startSample; 00029 StreamlineGrid* grid; 00030 00031 vector<vec3> samples; 00032 list<vec3> potentialSeeds; 00033 }; 00034 00035 #endif