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 protected: 00025 void initializeGL(); 00026 void paintGL(); 00027 void resizeGL(int width, int height); 00028 void mousePressEvent(QMouseEvent *event); 00029 void mouseReleaseEvent(QMouseEvent *event); 00030 void mouseMoveEvent(QMouseEvent *event); 00031 void keyPressEvent(QKeyEvent *event); 00032 void timerEvent(QTimerEvent *event); 00033 00034 private: 00035 00036 cpe::navigator_tool nav; 00037 scene current_scene; 00038 00039 void print_help_start() const; 00040 void draw_pointer(cpe::navigator_tool& nav) const; 00041 void draw_orientation(cpe::navigator_tool& nav) const; 00042 void draw_camera_stat(); 00043 00044 void draw_fps(); 00045 void draw_decorating_info(); 00046 00047 QTime t_timer; 00048 00049 }; 00050 00051 00052 #endif