Ice Sheet System Model  4.18
Code documentation
Functions
InterpFromMeshToGrid.cpp File Reference
#include "./InterpFromMeshToGrid.h"

Go to the source code of this file.

Functions

void InterpFromMeshToGridUsage (void)
 
 WRAPPER (InterpFromMeshToGrid_python)
 

Function Documentation

◆ InterpFromMeshToGridUsage()

void InterpFromMeshToGridUsage ( void  )

Definition at line 7 of file InterpFromMeshToGrid.cpp.

7  {/*{{{*/
8  _printf0_("INTERPFROMMESHTOGRID - interpolation of a data defined on a mesh onto a grid\n");
9  _printf0_("\n");
10  _printf0_(" This function is a multi-threaded mex file that interpolates a field\n");
11  _printf0_(" defined on a triangular mesh onto a regular grid\n");
12  _printf0_("\n");
13  _printf0_(" Usage:\n");
14  _printf0_(" grid=InterpFromMeshToGrid(index,x,y,data,x_grid,y_grid,default_value)\n");
15  _printf0_("\n");
16  _printf0_(" index,x,y: delaunay triangulation defining the mesh.\n");
17  _printf0_(" meshdata: vertex values of data to be interpolated.\n");
18  _printf0_(" xgrid,ygrid: parameters that define the grid\n");
19  _printf0_(" default_value: value of points located out of the mesh.\n");
20  _printf0_("\n");
21 }/*}}}*/

◆ WRAPPER()

WRAPPER ( InterpFromMeshToGrid_python  )

Definition at line 22 of file InterpFromMeshToGrid.cpp.

22  {
23 
24  /*inputs */
25  int* index=NULL;
26  double* x=NULL;
27  double* y=NULL;
28  int nel,nods;
29  double* meshdata=NULL;
30  int meshdata_length;
31  double* xgrid=NULL;
32  double* ygrid=NULL;
33  int nlines,ncols,test;
34  double default_value;
35 
36  /* outputs */
37  double* griddata=NULL;
38 
39  /*Boot module: */
40  MODULEBOOT();
41 
42  /*checks on arguments on the matlab side: */
43  #ifdef _HAVE_MATLAB_MODULES_
45  #endif
46 
47  /*Input datasets: */
48  FetchData(&index,&nel,&test,INDEX);
49  if(test!=3) _error_("size not supported yet");
50  FetchData(&x,&nods,X);
51  FetchData(&y,&test,Y);
52  if(test!=nods) _error_("size not supported yet");
53  FetchData(&meshdata,&meshdata_length,MESHDATA);
54  FetchData(&xgrid,&ncols,XGRID);
55  FetchData(&ygrid,&nlines,YGRID);
56  FetchData(&default_value,DEFAULTVALUE);
57 
58  /*Call core of computation: */
59  InterpFromMeshToGridx(&griddata,index,x,y,nods,nel,meshdata,meshdata_length,xgrid,ygrid,nlines,ncols,default_value);
60 
61  /*Write results: */
62  WriteData(GRIDDATA,griddata,nlines,ncols);
63 
64  /*Free ressources: */
65  xDelete<int>(index);
66  xDelete<double>(x);
67  xDelete<double>(y);
68  xDelete<double>(meshdata);
69  xDelete<double>(griddata);
70  xDelete<double>(xgrid);
71  xDelete<double>(ygrid);
72 
73  /*end module: */
74  MODULEEND();
75 }
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
WriteData
void WriteData(IssmPDouble **pmatrix, int *pnel, int *matrix, int M, int N)
Definition: WriteJavascriptData.cpp:16
NRHS
#define NRHS
Definition: BamgConvertMesh.h:52
CheckNumMatlabArguments
int CheckNumMatlabArguments(int nlhs, int NLHS, int nrhs, int NRHS, const char *THISFUNCTION, void(*function)(void))
Definition: CheckNumMatlabArguments.cpp:7
FetchData
void FetchData(char **pstring, char *stringin)
Definition: FetchJavascriptData.cpp:16
__FUNCT__
#define __FUNCT__
Definition: Chacox.h:43
NLHS
#define NLHS
Definition: BamgConvertMesh.h:50
InterpFromMeshToGridUsage
void InterpFromMeshToGridUsage(void)
Definition: InterpFromMeshToGrid.cpp:7
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
InterpFromMeshToGridx
void InterpFromMeshToGridx(double **pgriddata, int *index_mesh, double *x_mesh, double *y_mesh, int nods, int nels, double *data_mesh, int data_length, double *x_grid, double *y_grid, int nlines, int ncols, double default_value)
Definition: InterpFromMeshToGridx.cpp:8