diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp index db2545bc9a9dddec23c16a055791208f8c2c5e7b..343de43776da64e26ffb228b53d8461b7b1976f7 100644 --- a/Graphics/Mesh.cpp +++ b/Graphics/Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Mesh.cpp,v 1.33 2001-06-28 17:42:08 geuzaine Exp $ +// $Id: Mesh.cpp,v 1.34 2001-07-31 10:41:38 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -74,6 +74,33 @@ void Draw_Mesh (Mesh *M) { if(CTX.mesh.hidden) glEnable(GL_POLYGON_OFFSET_FILL); + // draw the bbox of the mesh in fast redraw mode if there is no geometry + if(!CTX.mesh.draw && !Tree_Nbr(M->Points)){ + glColor4ubv((GLubyte*)&CTX.color.fg); + glBegin(GL_LINE_LOOP); + glVertex3d(CTX.min[0], CTX.min[1], CTX.min[2]); + glVertex3d(CTX.max[0], CTX.min[1], CTX.min[2]); + glVertex3d(CTX.max[0], CTX.max[1], CTX.min[2]); + glVertex3d(CTX.min[0], CTX.max[1], CTX.min[2]); + glEnd(); + glBegin(GL_LINE_LOOP); + glVertex3d(CTX.min[0], CTX.min[1], CTX.max[2]); + glVertex3d(CTX.max[0], CTX.min[1], CTX.max[2]); + glVertex3d(CTX.max[0], CTX.max[1], CTX.max[2]); + glVertex3d(CTX.min[0], CTX.max[1], CTX.max[2]); + glEnd(); + glBegin(GL_LINES); + glVertex3d(CTX.min[0], CTX.min[1], CTX.min[2]); + glVertex3d(CTX.min[0], CTX.min[1], CTX.max[2]); + glVertex3d(CTX.max[0], CTX.min[1], CTX.min[2]); + glVertex3d(CTX.max[0], CTX.min[1], CTX.max[2]); + glVertex3d(CTX.max[0], CTX.max[1], CTX.min[2]); + glVertex3d(CTX.max[0], CTX.max[1], CTX.max[2]); + glVertex3d(CTX.min[0], CTX.max[1], CTX.min[2]); + glVertex3d(CTX.min[0], CTX.max[1], CTX.max[2]); + glEnd(); + } + switch(M->status) { case 3 : if(CTX.mesh.draw &&