00001 #ifndef _GLWIDGET_HPP_ 00002 #define _GLWIDGET_HPP_ 00003 00004 00005 #include <QtOpenGL/QGLWidget> 00006 #include <QTime> 00007 #include <navigator_tool.hpp> 00008 #include <scene.hpp> 00009 00010 00011 class glwidget : public QGLWidget 00012 { 00013 00014 Q_OBJECT 00015 00016 public: 00017 00018 glwidget(QWidget *parent=0); 00019 ~glwidget(); 00020 00021 void set_wireframe(); 00022 void set_filled(); 00023 00024 scene current_scene; 00025 00026 void draw_text(double x,double y,double z,QString text,QFont font); 00027 00028 protected: 00029 void initializeGL(); 00030 void paintGL(); 00031 void resizeGL(int width, int height); 00032 void mousePressEvent(QMouseEvent *event); 00033 void mouseReleaseEvent(QMouseEvent *event); 00034 void mouseMoveEvent(QMouseEvent *event); 00035 void keyPressEvent(QKeyEvent *event); 00036 void timerEvent(QTimerEvent *event); 00037 00038 00039 00040 private: 00041 00042 cpe::navigator_tool nav; 00043 00044 00045 void print_help_start() const; 00046 void draw_pointer(cpe::navigator_tool& nav) const; 00047 void draw_orientation(cpe::navigator_tool& nav) const; 00048 void draw_camera_stat(); 00049 00050 void draw_fps(); 00051 void draw_decorating_info(); 00052 00053 QTime t_timer; 00054 00055 }; 00056 00057 00058 #endif
1.6.3