diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp index 069c9a456c3abb4da8daf1cd03832ef6604ad8cf..975926910b4670b39fa5af845f6778aa35be8c75 100644 --- a/Graphics/Mesh.cpp +++ b/Graphics/Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Mesh.cpp,v 1.56 2003-01-23 20:19:20 geuzaine Exp $ +// $Id: Mesh.cpp,v 1.57 2003-02-14 04:02:30 geuzaine Exp $ // // Copyright (C) 1997 - 2003 C. Geuzaine, J.-F. Remacle // @@ -341,6 +341,8 @@ void Draw_Simplex_Volume (void *a, void *b){ Z[i] = Zc + CTX.mesh.explode * (s->V[i]->Pos.Z - Zc); } + if(CTX.mesh.shade) glDisable(GL_LIGHTING); + if(CTX.mesh.volumes && !(fulldraw && CTX.mesh.shade)){ glBegin(GL_LINES); glVertex3d(X[1], Y[1], Z[1]); @@ -392,6 +394,8 @@ void Draw_Simplex_Volume (void *a, void *b){ gl2psDisable(GL2PS_LINE_STIPPLE); } + if(CTX.mesh.shade) glEnable(GL_LIGHTING); + if(!fulldraw) return ; double n[4], x1x0, y1y0, z1z0, x2x0, y2y0, z2z0; @@ -504,6 +508,8 @@ void Draw_Simplex_Surface_Common(Simplex *s, double *pX, double *pY, double *pZ, glColor4ubv((GLubyte*)&CTX.color.mesh.line); } + if(CTX.mesh.shade) glDisable(GL_LIGHTING); + if(pX && pY && pZ){ // using precomputed vertices glBegin(GL_LINE_LOOP); for(i=0 ; i<K*(1+L) ; i++){ @@ -520,13 +526,17 @@ void Draw_Simplex_Surface_Common(Simplex *s, double *pX, double *pY, double *pZ, glEnd(); } else{ + glBegin(GL_LINE_LOOP); for(i=0 ; i<K ; i++){ glVertex3d(s->V[i]->Pos.X,s->V[i]->Pos.Y,s->V[i]->Pos.Z); glVertex3d(s->VSUP[i]->Pos.X,s->VSUP[i]->Pos.Y,s->VSUP[i]->Pos.Z); } + glEnd(); } } + if(CTX.mesh.shade) glEnable(GL_LIGHTING); + } if(CTX.mesh.color_carousel){ @@ -740,6 +750,8 @@ void Draw_Simplex_Curves(void *a,void *b){ else glColor4ubv((GLubyte*)&CTX.color.mesh.line); + if(CTX.mesh.shade) glDisable(GL_LIGHTING); + if(CTX.mesh.lines){ glBegin(GL_LINES); glVertex3d(X[0], Y[0], Z[0]); @@ -768,7 +780,7 @@ void Draw_Simplex_Curves(void *a,void *b){ Draw_Vector(DRAW_POST_ARROW, 0, Xc,Yc,Zc,mm,m[0],m[1],m[2],NULL); } - + if(CTX.mesh.shade) glEnable(GL_LIGHTING); } @@ -809,6 +821,8 @@ void Draw_Hexahedron_Volume (void *a, void *b){ Z[i] = Zc + CTX.mesh.explode * (h->V[i]->Pos.Z - Zc); } + if(CTX.mesh.shade) glDisable(GL_LIGHTING); + glBegin(GL_LINE_LOOP); glVertex3d(X[0], Y[0], Z[0]); glVertex3d(X[1], Y[1], Z[1]); @@ -882,6 +896,8 @@ void Draw_Hexahedron_Volume (void *a, void *b){ gl2psDisable(GL2PS_LINE_STIPPLE); } + if(CTX.mesh.shade) glEnable(GL_LIGHTING); + } void Draw_Prism_Volume (void *a, void *b){ @@ -920,6 +936,8 @@ void Draw_Prism_Volume (void *a, void *b){ Y[i] = Yc + CTX.mesh.explode * (p->V[i]->Pos.Y - Yc); Z[i] = Zc + CTX.mesh.explode * (p->V[i]->Pos.Z - Zc); } + + if(CTX.mesh.shade) glDisable(GL_LIGHTING); glBegin(GL_LINE_LOOP); glVertex3d(X[0], Y[0], Z[0]); @@ -984,6 +1002,8 @@ void Draw_Prism_Volume (void *a, void *b){ gl2psDisable(GL2PS_LINE_STIPPLE); } + if(CTX.mesh.shade) glEnable(GL_LIGHTING); + } void Draw_Pyramid_Volume (void *a, void *b){ @@ -1023,6 +1043,8 @@ void Draw_Pyramid_Volume (void *a, void *b){ Z[i] = Zc + CTX.mesh.explode * (p->V[i]->Pos.Z - Zc); } + if(CTX.mesh.shade) glDisable(GL_LIGHTING); + glBegin(GL_LINE_LOOP); glVertex3d(X[0], Y[0], Z[0]); glVertex3d(X[1], Y[1], Z[1]); @@ -1047,6 +1069,8 @@ void Draw_Pyramid_Volume (void *a, void *b){ Draw_String(Num); } + if(CTX.mesh.shade) glEnable(GL_LIGHTING); + } diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp index bcc44e41695707fc781fa90f87cc2654e809d4ff..da6a4be22f0a7628ccc9dc96694b32866cf876c5 100644 --- a/Graphics/PostElement.cpp +++ b/Graphics/PostElement.cpp @@ -1,4 +1,4 @@ -// $Id: PostElement.cpp,v 1.7 2003-02-05 01:35:08 geuzaine Exp $ +// $Id: PostElement.cpp,v 1.8 2003-02-14 04:02:30 geuzaine Exp $ // // Copyright (C) 1997 - 2003 C. Geuzaine, J.-F. Remacle // @@ -51,6 +51,8 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl int k; double xx[8], yy[8], zz[8]; + if(View->Light) glDisable(GL_LIGHTING); + glColor4ubv((GLubyte*)&CTX.color.fg); switch(type){ case POINT : @@ -71,7 +73,6 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl yy[k] = Y[k]+Raise[1][k] ; zz[k] = Z[k]+Raise[2][k] ; } - if(View->Light) glDisable(GL_LIGHTING); glBegin(GL_LINES); glVertex3d(xx[0], yy[0], zz[0]); glVertex3d(xx[1], yy[1], zz[1]); glVertex3d(xx[0], yy[0], zz[0]); glVertex3d(xx[2], yy[2], zz[2]); @@ -80,7 +81,6 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl glVertex3d(xx[1], yy[1], zz[1]); glVertex3d(xx[3], yy[3], zz[3]); glVertex3d(xx[2], yy[2], zz[2]); glVertex3d(xx[3], yy[3], zz[3]); glEnd(); - if(View->Light) glEnable(GL_LIGHTING); break; case QUADRANGLE : glBegin(GL_LINE_LOOP); @@ -94,7 +94,6 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl yy[k] = Y[k]+Raise[1][k] ; zz[k] = Z[k]+Raise[2][k] ; } - if(View->Light) glDisable(GL_LIGHTING); glBegin(GL_LINES); glVertex3d(xx[0], yy[0], zz[0]); glVertex3d(xx[1], yy[1], zz[1]); glVertex3d(xx[0], yy[0], zz[0]); glVertex3d(xx[3], yy[3], zz[3]); @@ -109,7 +108,6 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl glVertex3d(xx[5], yy[5], zz[5]); glVertex3d(xx[6], yy[6], zz[6]); glVertex3d(xx[6], yy[6], zz[6]); glVertex3d(xx[7], yy[7], zz[7]); glEnd(); - if(View->Light) glEnable(GL_LIGHTING); break; case PRISM : for(k=0 ; k<6 ; k++){ @@ -117,7 +115,6 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl yy[k] = Y[k]+Raise[1][k] ; zz[k] = Z[k]+Raise[2][k] ; } - if(View->Light) glDisable(GL_LIGHTING); glBegin(GL_LINES); glVertex3d(xx[0], yy[0], zz[0]); glVertex3d(xx[1], yy[1], zz[1]); glVertex3d(xx[0], yy[0], zz[0]); glVertex3d(xx[2], yy[2], zz[2]); @@ -129,7 +126,6 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl glVertex3d(xx[3], yy[3], zz[3]); glVertex3d(xx[5], yy[5], zz[5]); glVertex3d(xx[4], yy[4], zz[4]); glVertex3d(xx[5], yy[5], zz[5]); glEnd(); - if(View->Light) glEnable(GL_LIGHTING); break; case PYRAMID : for(k=0 ; k<5 ; k++){ @@ -137,7 +133,6 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl yy[k] = Y[k]+Raise[1][k] ; zz[k] = Z[k]+Raise[2][k] ; } - if(View->Light) glDisable(GL_LIGHTING); glBegin(GL_LINES); glVertex3d(xx[0], yy[0], zz[0]); glVertex3d(xx[1], yy[1], zz[1]); glVertex3d(xx[1], yy[1], zz[1]); glVertex3d(xx[2], yy[2], zz[2]); @@ -148,9 +143,10 @@ void Draw_ElementBoundary(int type, Post_View *View, double *X, double *Y, doubl glVertex3d(xx[3], yy[3], zz[3]); glVertex3d(xx[4], yy[4], zz[4]); glVertex3d(xx[2], yy[2], zz[2]); glVertex3d(xx[4], yy[4], zz[4]); glEnd(); - if(View->Light) glEnable(GL_LIGHTING); break; } + + if(View->Light) glEnable(GL_LIGHTING); } void SaturateValues(int saturate, double min, double max, @@ -667,7 +663,7 @@ void Draw_ScalarPyramid(Post_View *View, int preproNormals, static int error=0 ; if(!error){ error = 1; - Msg(GERROR, "Pyramid drawing not implemented yet..."); + Msg(WARNING, "Pyramid drawing not implemented yet..."); } }