00001 //LabPlot : PlotGL.h 00002 00003 #ifndef PLOTGL_H 00004 #define PLOTGL_H 00005 00006 #include <qgl.h> 00007 #include "Plot.h" 00008 00009 class PlotGL : public Plot, public QGLWidget 00010 { 00011 public: 00012 PlotGL(Worksheet *p); 00013 QStringList Info() {} 00014 void initGL(); 00015 void resizeGL(int w, int h); 00016 void paintGL(); 00017 void drawGL(); 00018 00019 void saveAxes(QTextStream *t) {} 00020 void openAxes(QTextStream *t,int version) {} 00021 Axis *getAxis(int i) { return &axis[i]; } 00022 void setRanges(LRange* r) {range[0]=r[0];range[1]=r[1];} 00023 void setActRanges(LRange* r) {} 00024 void enableGrid(int index,bool b) { gridenabled[index] = b; } 00025 bool gridEnabled(int index) { return gridenabled[index]; } 00026 void enableBorder(int index,bool b) { borderenabled[index] = b; } 00027 bool borderEnabled(int index) { return borderenabled[index]; } 00028 void draw(QPainter *p, int w, int h); 00029 void setBorder(int item, bool on) {} 00030 private: 00031 void draw(); 00032 void mousePressEvent(QMouseEvent *e); 00033 void mouseMoveEvent(QMouseEvent *e); 00034 Axis axis[3]; // TODO : number of axes ? 00035 bool borderenabled[4]; // TODO 00036 bool gridenabled[8]; // TODO 00037 00038 GLfloat rotationX; 00039 GLfloat rotationY; 00040 GLfloat rotationZ; 00041 QColor faceColors[3]; 00042 QPoint lastPos; 00043 }; 00044 00045 #endif //PLOTGL_H