FlowVis 1.0

FlowVis/Streamline.h

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