diff --git a/apps/sample/trimesh_QT/glarea.cpp b/apps/sample/trimesh_QT/glarea.cpp index bf5d14b1..70655f72 100644 --- a/apps/sample/trimesh_QT/glarea.cpp +++ b/apps/sample/trimesh_QT/glarea.cpp @@ -8,7 +8,7 @@ * \ * * All rights reserved. * * * - * This program is free software; you can redistribute it and/or modify * + * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * @@ -40,52 +40,52 @@ Initial release. GLArea::GLArea (QWidget * parent) :QGLWidget (parent) { - drawmode= SMOOTH; - GLArea::loadTetrahedron(); + drawmode= SMOOTH; + GLArea::loadTetrahedron(); } void GLArea::selectDrawMode(int mode){ - drawmode=DrawMode(mode); - updateGL(); + drawmode=DrawMode(mode); + updateGL(); } void GLArea::loadMesh(QString fileName) -{ +{ int err=vcg::tri::io::ImporterPLY::Open(mesh,(fileName.toStdString()).c_str()); - if(err!=0){ - const char* errmsg=vcg::tri::io::ImporterPLY::ErrorMsg(err); + if(err!=0){ + const char* errmsg=vcg::tri::io::ImporterPLY::ErrorMsg(err); QMessageBox::warning(this,tr("Error Loading Mesh"),QString(errmsg)); - } - initMesh("Loaded \""+fileName+"\"."); + } + initMesh("Loaded \""+fileName+"\"."); } void GLArea::loadTetrahedron(){ - vcg::tri::Tetrahedron(mesh); - initMesh(tr("Tethraedron [builtin]")); + vcg::tri::Tetrahedron(mesh); + initMesh(tr("Tethraedron [builtin]")); } void GLArea::loadDodecahedron(){ - vcg::tri::Dodecahedron(mesh); - initMesh(tr("Dodecahedron [builtin]")); + vcg::tri::Dodecahedron(mesh); + initMesh(tr("Dodecahedron [builtin]")); } void GLArea::initMesh(QString message) { - // update bounding box - vcg::tri::UpdateBounding::Box(mesh); - // update Normals + // update bounding box + vcg::tri::UpdateBounding::Box(mesh); + // update Normals vcg::tri::UpdateNormal::PerVertexNormalizedPerFace(mesh); vcg::tri::UpdateNormal::PerFaceNormalized(mesh); - // Initialize the opengl wrapper - glWrap.m = &mesh; - glWrap.Update(); - updateGL(); - emit setStatusBar(message); + // Initialize the opengl wrapper + glWrap.m = &mesh; + glWrap.Update(); + updateGL(); + emit setStatusBar(message); } void GLArea::initializeGL () { - glClearColor(0, 0, 0, 0); + glClearColor(0, 0, 0, 0); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_NORMALIZE); @@ -96,7 +96,7 @@ void GLArea::initializeGL () void GLArea::resizeGL (int w, int h) { - glViewport (0, 0, (GLsizei) w, (GLsizei) h); + glViewport (0, 0, (GLsizei) w, (GLsizei) h); initializeGL(); } @@ -105,46 +105,46 @@ void GLArea::paintGL () glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); - gluPerspective(40, GLArea::width()/(float)GLArea::height(), 0.1, 100); + gluPerspective(25, GLArea::width()/(float)GLArea::height(), 0.1, 100); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0,0,5, 0,0,0, 0,1,0); track.center=vcg::Point3f(0, 0, 0); track.radius= 1; - track.GetView(); + track.GetView(); track.Apply(); glPushMatrix(); - float d=1.0f/mesh.bbox.Diag(); + float d=2.0f/mesh.bbox.Diag(); vcg::glScale(d); - glTranslate(-glWrap.m->bbox.Center()); - // the trimesh drawing calls - switch(drawmode) - { - case SMOOTH: - glWrap.Draw (); - break; - case POINTS: - glWrap.Draw (); - break; - case WIRE: - glWrap.Draw (); - break; - case FLATWIRE: - glWrap.Draw (); - break; - case HIDDEN: - glWrap.Draw (); - break; - case FLAT: - glWrap.Draw (); - break; - default: - break; - } + glTranslate(-glWrap.m->bbox.Center()); + // the trimesh drawing calls + switch(drawmode) + { + case SMOOTH: + glWrap.Draw (); + break; + case POINTS: + glWrap.Draw (); + break; + case WIRE: + glWrap.Draw (); + break; + case FLATWIRE: + glWrap.Draw (); + break; + case HIDDEN: + glWrap.Draw (); + break; + case FLAT: + glWrap.Draw (); + break; + default: + break; + } glPopMatrix(); track.DrawPostApply(); -} +} void GLArea::keyReleaseEvent (QKeyEvent * e) { @@ -174,21 +174,21 @@ void GLArea::mousePressEvent (QMouseEvent * e) { e->accept (); setFocus (); - track.MouseDown (e->x (), height () - e->y (), QT2VCG (e->button (), e->modifiers ())); + track.MouseDown (QT2VCG_X(this,e), QT2VCG_Y(this,e), QT2VCG (e->button (), e->modifiers ())); updateGL (); } void GLArea::mouseMoveEvent (QMouseEvent * e) { if (e->buttons ()) { - track.MouseMove (e->x (), height () - e->y ()); + track.MouseMove (QT2VCG_X(this,e), QT2VCG_Y(this,e)); updateGL (); } } void GLArea::mouseReleaseEvent (QMouseEvent * e) { - track.MouseUp (e->x (), height () - e->y (), QT2VCG (e->button (), e->modifiers ())); + track.MouseUp (QT2VCG_X(this,e), QT2VCG_Y(this,e), QT2VCG (e->button (), e->modifiers ())); updateGL (); }