From c99b077a1606bc8c22f6f01efcace7dddfa025de Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sat, 19 Oct 2002 18:56:12 +0000 Subject: [PATCH] Fix small bug for multi-timestep strings in views --- Graphics/Graph2D.cpp | 43 ++++++++++++++++++++++++++++--------------- tutorial/t8.geo | 2 +- tutorial/view4.pos | 5 +++++ 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/Graphics/Graph2D.cpp b/Graphics/Graph2D.cpp index 99fb3dc442..6b3ed13dfd 100644 --- a/Graphics/Graph2D.cpp +++ b/Graphics/Graph2D.cpp @@ -1,4 +1,4 @@ -// $Id: Graph2D.cpp,v 1.20 2002-10-12 19:41:13 geuzaine Exp $ +// $Id: Graph2D.cpp,v 1.21 2002-10-19 18:56:12 geuzaine Exp $ // // Copyright (C) 1997 - 2002 C. Geuzaine, J.-F. Remacle // @@ -390,18 +390,18 @@ void Draw_Graph2D(void){ } } -// 2D text strings +// Text strings -// T2(x,y,style){"str","str",...}; -// T2D : x,y,style,index,x,y,style,index,... -// T2C : string\0,string\0,string\0,string\0,... +// Parser format: T2(x,y,style){"str","str",...}; +// T2D list of double : x,y,style,index,x,y,style,index,... +// T2C list of chars : string\0,string\0,string\0,string\0,... -// T3(x,y,z,style){"str","str",...}; -// T3D : x,y,z,style,index,x,y,z,style,index,... -// T3C : string\0,string\0,string\0,string\0,... +// Parser format: T3(x,y,z,style){"str","str",...}; +// T3D list of double: x,y,z,style,index,x,y,z,style,index,... +// T3C list of chars: string\0,string\0,string\0,string\0,... void Draw_Text2D3D(int dim, int timestep, int nb, List_T *td, List_T *tc){ - int j,k,l,nbd,index,stop; + int j,k,l,nbd,index,nbchar; char *c; double *d1, *d2, style, x, y, z; @@ -409,6 +409,19 @@ void Draw_Text2D3D(int dim, int timestep, int nb, List_T *td, List_T *tc){ else if(dim==3) nbd=5; else return; +#if 0 //debug + if(nb){ + for(j=0; j<List_Nbr(tc); j++){ + c = (char*)List_Pointer(tc, j); + if(*c == '\0') + printf("|"); + else + printf("%c", *c); + } + printf("\n"); + } +#endif + for(j=0; j<nb; j++){ d1 = (double*)List_Pointer(td, j*nbd); d2 = (double*)List_Pointer_Test(td, (j+1)*nbd); @@ -420,8 +433,8 @@ void Draw_Text2D3D(int dim, int timestep, int nb, List_T *td, List_T *tc){ z = 0.; style = d1[2]; index = (int)d1[3]; - if(d2) stop=(int)d2[3]; - else stop=List_Nbr(tc)-index; + if(d2) nbchar=(int)d2[3]-index; + else nbchar=List_Nbr(tc)-index; } else{ x = d1[0]; @@ -429,16 +442,16 @@ void Draw_Text2D3D(int dim, int timestep, int nb, List_T *td, List_T *tc){ z = d1[2]; style = d1[3]; index = (int)d1[4]; - if(d2) stop=(int)d2[4]; - else stop=List_Nbr(tc)-index; + if(d2) nbchar=(int)d2[4]-index; + else nbchar=List_Nbr(tc)-index; } glRasterPos3d(x,y,z); c = (char*)List_Pointer(tc, index); k=l=0; - while(k<stop && l!=timestep){ + while(k<nbchar && l!=timestep){ if(c[k++]=='\0') l++; } - if(k<stop && l==timestep) + if(k<nbchar && l==timestep) Draw_String(&c[k]); else Draw_String(c); diff --git a/tutorial/t8.geo b/tutorial/t8.geo index 0c5e74481e..f5082bae84 100644 --- a/tutorial/t8.geo +++ b/tutorial/t8.geo @@ -52,7 +52,7 @@ View[2].AutoPosition = 0; View[2].PositionX = 85; View[2].PositionY = 50; View[2].Width = 200; -View[2].Height = 150; +View[2].Height = 130; View[3].Type = 3; View[3].RangeType = 2; diff --git a/tutorial/view4.pos b/tutorial/view4.pos index edfbddeae6..aa36d9452a 100644 --- a/tutorial/view4.pos +++ b/tutorial/view4.pos @@ -103,4 +103,9 @@ SP(0.05,0.3,0){0,0,0,0,0}; }; View "e" { SP(0.05,0.2,0){1939799.2,-3879808.7,1939891.9,1939888.6,-3880387.9}; +T2(10,-12,0){"File created on Fri Oct 18 23:50:20 2002"}; +T2(220,-12,0){"First time step", "Second time step", "Third time step", + "Fourth time step", "Last time step!"}; +T3(0.1,0,0,0){"This is a 3D string, defined in model coordinates"}; +T3(0.1,0.3,0,0){"Test 1","Test 2","Test 3","Test 4","Test 5","Test 6","Test 7"}; }; -- GitLab