FlowVis 1.0
|
00001 #pragma once 00002 00003 #include <vector> 00004 #include "Framework/vec3.h" 00005 00006 using std::vector; 00007 00008 class Streamline 00009 { 00010 public: 00011 00022 Streamline(vec3 seed); 00023 00024 ~Streamline(void); 00025 00037 vec3* addSamplePoint(vec3 p, bool backwards); 00038 00049 void addSamplePointThickness(float val, bool backwards); 00050 00060 vector<vec3> getSamplePoints(bool backwards) { if (backwards) return sample_points_b; return sample_points_f; }; 00061 00071 vector<vec3>* getSamplePointsPtr(bool backwards) { if (backwards) return &sample_points_b; return &sample_points_f; }; 00072 00082 vector<float> getSamplePointThicknesses(bool backwards) { if (backwards) return sample_point_thickness_b; return sample_point_thickness_f; }; 00083 00092 vec3 getSeedPoint() { return seed_point; }; 00093 00102 vec3* getSeedPointPtr() { return &seed_point; }; 00103 00112 void setSeedPointThickness(float val) { seed_point_thickness = val; }; 00113 00122 float getSeedPointThickness() { return seed_point_thickness; }; 00123 00124 private: 00125 vector<vec3> sample_points_f; 00126 vector<vec3> sample_points_b; 00127 vector<float> sample_point_thickness_f; 00128 vector<float> sample_point_thickness_b; 00129 vec3 seed_point; 00130 float seed_point_thickness; 00131 }; 00132