/[MITgcm]/MITgcm_contrib/darwinview/src/darwin.c
ViewVC logotype

Diff of /MITgcm_contrib/darwinview/src/darwin.c

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.7 by marissa, Wed Aug 1 18:04:15 2007 UTC revision 1.8 by marissa, Fri Aug 3 14:37:15 2007 UTC
# Line 51  void menu( int value ){           // cal Line 51  void menu( int value ){           // cal
51  }  }
52    
53  void display(){                 // called on glutPostRedisplay  void display(){                 // called on glutPostRedisplay
54   int i, j, h, ioff, q;   int i, h, ioff, q;
55   float r, g, b, k, y;   float r, g, b, k, y, j, tmp;
56   double num, logmx, logmn;   double num, logmx, logmn;
57   char str[MAX];   char str[MAX];
58    
# Line 91  void display(){                 // calle Line 91  void display(){                 // calle
91     }     }
92    }    }
93    
94    if( scaledepth && xz || scaledepth && yz )  ymax=totaldepth;    if( scaledepth && xz || scaledepth && yz ) ymax=NY;
95    ioff=0; h=0;                        // ioff will count both i&j b/c data is 1D    tmp=(float)ymax/totaldepth;
96    for( j=0; j<ymax; j++ ){            // cycles through y values    j=0; ioff=0; h=0;                        // ioff will count both i&j b/c data is 1D
97    
98      while ( j<ymax ){            // cycles through y values
99     for( i=0; i<xmax; i++ ){           // cycles through x values     for( i=0; i<xmax; i++ ){           // cycles through x values
100      r=g=b=0;                          // set color values to black      r=g=b=0;                          // set color values to black
101      if( data[q][ioff]==0 );           // if data=0, values stay black      if( data[q][ioff]==0 );           // if data=0, values stay black
# Line 123  void display(){                 // calle Line 125  void display(){                 // calle
125    
126      glColor3f( r, g, b );           // put r, g, b into effect      glColor3f( r, g, b );           // put r, g, b into effect
127      if( scaledepth && xz || scaledepth && yz )      if( scaledepth && xz || scaledepth && yz )
128       glRectf( i, j, i+1, j+depths[h] );       glRectf( i, j, i+1, j+(depths[h]*tmp) );
129      else      else
130       glRectf( i, j, i+1, j+1 );      // draws a square for data value       glRectf( i, j, i+1, j+1 );      // draws a square for data value
131      ioff++;                          ioff++;                    
132     }     }
133     if( scaledepth && xz || scaledepth && yz ){     if( scaledepth && xz || scaledepth && yz ){
134      j+=depths[h]-1;      j+=(depths[h]*tmp);
135      h++;      h++;
136     }     }
137       else j++;
138    }    }
139    
140    glColor3f( 1, 1, 1 );             // set color to white    glColor3f( 1, 1, 1 );             // set color to white
# Line 216  void stroke( char str[], int x, int y ){ Line 219  void stroke( char str[], int x, int y ){
219    
220  void key( unsigned char key, int x, int y ){   // called on key press  void key( unsigned char key, int x, int y ){   // called on key press
221   int i, tmp;   int i, tmp;
222     char fn[MAX];
223    
224   switch(key){   switch(key){
225    case 'q':   exit(0);              // quits on 'q'    case 'q':   exit(0);              // quits on 'q'
226                break;                break;
227    case 'r':   count=0;              // resets back to first time        case 'r':   count=0;              // resets back to first time    
228                ilev=1;               // and first level                ilev=1;               // and first level
229                  xz=yz=0;
230                break;                break;
231    case 'a':   anim=(anim+1)%2;      // turns anim on/off    case 'a':   anim=(anim+1)%2;      // turns anim on/off
232                break;                break;
# Line 234  void key( unsigned char key, int x, int Line 239  void key( unsigned char key, int x, int
239    case 'z':   if( xz || yz ){    case 'z':   if( xz || yz ){
240                 scaledepth=( scaledepth+1 )%2;                 scaledepth=( scaledepth+1 )%2;
241                 scalecount++;                 scalecount++;
242                 if( scalecount==1 )                 if( scalecount==1 ){
243                  readdepths( ".darwinview/depths" );                  printf( "Please enter filename containing depth data: " );
244                    scanf( "%s", fn );
245                    readdepths( fn );
246                   }
247                }                }
248                break;                break;
249   }   }
# Line 421  void readjet(){               //reads in Line 429  void readjet(){               //reads in
429   FILE* fp;   FILE* fp;
430   int i, j;   int i, j;
431        
432   fp=fopen( ".darwinview/jet.h", "r" );  // opens file containing values   fp=fopen( "jet.dat", "r" );  // opens file containing values
433   for( i=0; i<64; i++ )        // reads in 64 sets of r, g, b values   for( i=0; i<64; i++ )        // reads in 64 sets of r, g, b values
434    for( j=0; j<3; j++ )    for( j=0; j<3; j++ )
435     fscanf( fp, "%f", &jet[i][j] );     fscanf( fp, "%f", &jet[i][j] );
# Line 536  int main( int argc, char *argv[] ){ Line 544  int main( int argc, char *argv[] ){
544   fclose( fp );   fclose( fp );
545    
546   xmax=NX; ymax=NY;   xmax=NX; ymax=NY;
547    
548   readjet();                               // stores color values   readjet();                               // stores color values
549   readnames( filename );                   // gets list of filenames to read from   readnames( filename );                   // gets list of filenames to read from
550   global();                                // calculates max and min for all data   global();                                // calculates max and min for all data

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.22