Changeset 12728


Ignore:
Timestamp:
07/24/12 16:36:11 (13 years ago)
Author:
Mathieu Morlighem
Message:

Faster interpolation module

File:
1 edited

Legend:

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

    r12604 r12728  
    2020
    2121        /*Intermediary*/
     22        double xmin,xmax,ymin,ymax;
    2223        bool   isdefault;
    2324        double defaultvalue;
     
    5758        Th.CreateSingleVertexToTriangleConnectivity();
    5859
     60        /*Get domain boundaries*/
     61        xmin=x_data[0]; ymin=y_data[0];
     62        xmax=x_data[0]; ymax=y_data[0];
     63        for(i=1;i<nods_data;i++){
     64                if(x_data[i]<xmin) xmin=x_data[i];
     65                if(x_data[i]>xmax) xmax=x_data[i];
     66                if(y_data[i]<ymin) ymin=y_data[i];
     67                if(y_data[i]>ymax) ymax=y_data[i];
     68        }
     69
    5970        /*Loop over output nodes*/
    6071        for(i=0;i<N_interp;i++){
     72                //if(i%100==0) _printString_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<double(i)/double(N_interp)*100.<<"%");
     73
     74                if(isdefault){
     75                        if(x_interp[i]<xmin || x_interp[i]>xmax || y_interp[i]<ymin || y_interp[i]>ymax){
     76                                for(j=0;j<N_data;j++) data_interp[i*N_data+j]=defaultvalue;
     77                                continue;
     78                        }
     79                }
    6180
    6281                /*Get current point coordinates*/
     
    125144                }
    126145        }
     146        //if(N_interp>=100) _printLine_("\r      interpolation progress: "<<fixed<<setw(6)<<setprecision(2)<<100.<<"%");
    127147
    128148        /*clean-up and return*/
Note: See TracChangeset for help on using the changeset viewer.