Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #ifndef GLWIDGET_H
00042 #define GLWIDGET_H
00043
00044 #include <GL/glew.h>
00045 #include <QGLWidget>
00046 #include <QKeyEvent>
00047
00049 #include <vcg/complex/complex.h>
00050 #include <vcg/complex/algorithms/update/bounding.h>
00051 #include <vcg/complex/algorithms/update/normal.h>
00052 #include <vcg/complex/algorithms/create/platonic.h>
00053
00055 #include <wrap/io_trimesh/import.h>
00056 #include <wrap/gl/trimesh.h>
00057 #include <wrap/gui/trackball.h>
00058
00059
00061 #include <AntTweakBar.h>
00062 using namespace vcg;
00063 class CFace;
00064 class CVertex;
00065
00066 struct MyUsedTypes : public UsedTypes< Use<CVertex> ::AsVertexType,
00067 Use<CFace> ::AsFaceType>{};
00068
00070 class CVertex : public vcg::Vertex< MyUsedTypes, vcg::vertex::Coord3f, vcg::vertex::Normal3f, vcg::vertex::BitFlags>{};
00071 class CFace : public vcg::Face< MyUsedTypes, vcg::face::VertexRef, vcg::face::Normal3f, vcg::face::BitFlags > {};
00072 class CMesh : public vcg::tri::TriMesh< std::vector<CVertex>, std::vector<CFace> > {};
00073
00074 class GLWidget : public QGLWidget
00075 {
00076 Q_OBJECT
00077
00078 public:
00079 GLWidget(QWidget *parent = 0);
00080 bool hasToPick;
00081 Point2i pointToPick;
00082 ~GLWidget() {};
00083
00084 QSize sizeHint() const {
00085 return QSize(800, 600);
00086 };
00087
00088 protected:
00089 void initializeGL();
00090 void paintGL();
00091 void resizeGL(int width, int height);
00092 void mousePressEvent(QMouseEvent *event);
00093 void mouseReleaseEvent(QMouseEvent *event);
00094 void mouseMoveEvent(QMouseEvent *event);
00095 void mouseDoubleClickEvent ( QMouseEvent * event );
00096 void keyPressEvent(QKeyEvent *event);
00097 void keyReleaseEvent(QKeyEvent *event);
00098 void wheelEvent(QWheelEvent *event);
00099 };
00100
00101 #endif