From efca06ae01a889932bf7817510d4a6e4286fc479 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Tue, 31 Jul 2001 07:18:48 +0000 Subject: [PATCH] saturate for lines --- Graphics/PostSimplex.cpp | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/Graphics/PostSimplex.cpp b/Graphics/PostSimplex.cpp index 7fd02b74b6..a5103a0189 100644 --- a/Graphics/PostSimplex.cpp +++ b/Graphics/PostSimplex.cpp @@ -1,4 +1,4 @@ -// $Id: PostSimplex.cpp,v 1.19 2001-07-30 18:34:26 geuzaine Exp $ +// $Id: PostSimplex.cpp,v 1.20 2001-07-31 07:18:48 geuzaine Exp $ #include "Gmsh.h" #include "GmshUI.h" @@ -49,11 +49,25 @@ void Draw_ScalarLine(Post_View *View, int i,k,nb=0; double d; - double Xp[5],Yp[5],Zp[5],value[5],thev; + double Xp[5],Yp[5],Zp[5],Val[5],value[5],thev; char Num[100] ; + double *vv = &V[2*View->TimeStep]; + if(View->SaturateValues){ + for(i=0;i<2;i++){ + if(vv[i] > ValMax) Val[i] = ValMax; + else if(vv[i] < ValMin) Val[i] = ValMin; + else Val[i] = vv[i]; + } + } + else{ + for(i=0;i<2;i++){ + Val[i] = vv[i]; + } + } + for(k=0 ; k<2 ; k++) - RaiseFill(k, V[2*View->TimeStep+k], ValMin, Raise); + RaiseFill(k, Val[k], ValMin, Raise); if(View->ShowElement){ glColor4ubv((GLubyte*)&CTX.color.fg); @@ -62,7 +76,7 @@ void Draw_ScalarLine(Post_View *View, if(View->IntervalsType == DRAW_POST_NUMERIC){ - d = (V[2*View->TimeStep]+V[2*View->TimeStep+1]) / 2.; + d = (Val[0]+Val[1]) / 2.; if(d >= ValMin && d <= ValMax){ Palette2(View,ValMin,ValMax,d); @@ -78,14 +92,14 @@ void Draw_ScalarLine(Post_View *View, if(View->IntervalsType==DRAW_POST_CONTINUOUS){ - if(V[2*View->TimeStep] >=ValMin && V[2*View->TimeStep] <=ValMax && - V[2*View->TimeStep+1]>=ValMin && V[2*View->TimeStep+1]<=ValMax){ + if(Val[0]>=ValMin && Val[0]<=ValMax && + Val[1]>=ValMin && Val[1]<=ValMax){ glBegin(GL_LINES); - Palette2(View,ValMin,ValMax,V[2*View->TimeStep]); + Palette2(View,ValMin,ValMax,Val[0]); glVertex3d(X[0]+View->Offset[0]+Raise[0][0], Y[0]+View->Offset[1]+Raise[1][0], Z[0]+View->Offset[2]+Raise[2][0]); - Palette2(View,ValMin,ValMax,V[2*View->TimeStep+1]); + Palette2(View,ValMin,ValMax,Val[1]); glVertex3d(X[1]+View->Offset[0]+Raise[0][1], Y[1]+View->Offset[1]+Raise[1][1], Z[1]+View->Offset[2]+Raise[2][1]); @@ -100,7 +114,7 @@ void Draw_ScalarLine(Post_View *View, for(k=0 ; k<View->NbIso ; k++){ Palette(View,View->NbIso,k); if(View->IntervalsType==DRAW_POST_DISCRETE){ - CutLine1D(X,Y,Z,&V[2*View->TimeStep], + CutLine1D(X,Y,Z,&Val[0], View->GVFI(ValMin,ValMax,View->NbIso+1,k), View->GVFI(ValMin,ValMax,View->NbIso+1,k+1), ValMin,ValMax,Xp,Yp,Zp,&nb,value); @@ -111,7 +125,7 @@ void Draw_ScalarLine(Post_View *View, } else{ thev = View->GVFI(ValMin,ValMax,View->NbIso,k); - CutLine0D(X,Y,Z,&V[2*View->TimeStep], + CutLine0D(X,Y,Z,&Val[0], thev, ValMin,ValMax,Xp,Yp,Zp,&nb); if(nb){ RaiseFill(0,thev,ValMin,Raise); @@ -339,7 +353,7 @@ void Draw_ScalarTetrahedron(Post_View *View, int preproNormals, } for(k=0 ; k<4 ; k++) - RaiseFill(k, V[4*View->TimeStep+k], ValMin, Raise); + RaiseFill(k, Val[k], ValMin, Raise); if(!preproNormals && View->ShowElement){ glColor4ubv((GLubyte*)&CTX.color.fg); -- GitLab