Changeset 15168


Ignore:
Timestamp:
05/30/13 10:47:21 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: fixing interpolation if xflip or yflip

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp

    r15163 r15168  
    1919        bool   debug;
    2020        int    xflip,yflip;
    21         double area,ymin;
     21        double area;
    2222        double area_1,area_2,area_3;
    2323        double x_tria_min,y_tria_min;
     
    5151        debug=(bool)((double)ncols*nlines*nels >= 5*pow(10.,10.));
    5252
     53        /*Initialize coordintes and griddata*/
     54        for(i=0;i<nlines;i++){
     55                for(j=0;j<ncols; j++){
     56                        griddata[i*ncols+j]=default_value;
     57                }
     58        }
    5359        /*figure out if x or y are flipped*/
    5460        if (xposting<0) xflip=1;
     
    5763        else yflip=0;
    5864
    59         /*Compute coordinates lists*/
    60         ymin=ymax-(nlines-1)*yposting;
    61         for(i=0;i<nlines;i++)   y_grid[i]= ymin + fabs(yposting)*i;
    62         for(i=0;i<ncols; i++)   x_grid[i]= xmin + fabs(xposting)*i;
    6365
    64         /*Initialize coordintes and griddata*/
    65         for(i=0;i<nlines;i++){
    66                 for(j=0;j<ncols; j++){
    67                         griddata[i*ncols+j]=default_value;
    68                 }
    69         }
    7066
    7167        /*Get extreme coordinates of the grid*/
    7268        if (xflip){
    73                 x_grid_min=x_grid[ncols-1]; x_grid_max=x_grid[0];
     69                for(i=0;i<ncols; i++) x_grid[ncols-1-i] = xmin - xposting*i;
     70                x_grid_min=x_grid[ncols-1];
     71                x_grid_max=x_grid[0];
    7472        }
    7573        else{
    76                 x_grid_min=x_grid[0]; x_grid_max=x_grid[ncols-1];
     74                for(i=0;i<ncols; i++) x_grid[i]= xmin + xposting*i;
     75                x_grid_min=x_grid[0];
     76                x_grid_max=x_grid[ncols-1];
    7777        }
    7878        if (yflip){
    79                 y_grid_min=y_grid[nlines-1]; y_grid_max=y_grid[0];
     79                for(i=0;i<nlines;i++) y_grid[i] = ymax + yposting*i;
     80                y_grid_min=y_grid[nlines-1];
     81                y_grid_max=y_grid[0];
    8082        }
    8183        else{
    82                 y_grid_min=y_grid[0]; y_grid_max=y_grid[nlines-1];
     84                for(i=0;i<nlines;i++) y_grid[nlines-1-i]= ymax - yposting*i;
     85                y_grid_min=y_grid[0];
     86                y_grid_max=y_grid[nlines-1];
    8387        }
    8488
Note: See TracChangeset for help on using the changeset viewer.