00001 #ifndef ARROWS_H_
00002 #define ARROWS_H_
00003
00004 #include "common.h"
00005 #include "FlowData.h"
00006 #include "Shader.h"
00007 #include <QObject>
00008 #include <QWidget>
00009 #include <QColor>
00010
00011 class Arrows : public QObject
00012 {
00013 Q_OBJECT
00014 public:
00015 Arrows(QWidget* parent = 0);
00016 virtual ~Arrows();
00017
00018 void draw();
00019 void setFlowData(FlowData* data);
00020
00021
00022 void setActiveBackground(int bg);
00023
00024 public slots:
00025 void setResolution(int res);
00026 void setPointSize(int size);
00027
00028
00029 void setActivePointScale(bool ps);
00030
00031
00032 void setColor();
00033
00034 private:
00035 FlowData* m_flowData;
00036 FlowGeometry* m_geom;
00037
00038
00039 float m_pointSize;
00040
00042 int m_resolution;
00043
00044
00045 FlowChannel* m_backgroundData;
00046
00047
00048 GLuint m_glyphTexID;
00049
00050
00051 Shader* m_psShader;
00052
00053 int m_dataDimX, m_dataDimY;
00054
00055
00056 QWidget* m_parent;
00057
00059 GLint m_spriteTexLoc;
00061 GLint m_angleLoc;
00062
00064 QColor m_arrowColor;
00065
00067 bool m_scalePoints;
00068
00069 };
00070 #endif