1 | /*!\file InterpFromGridToMesh.h
|
---|
2 | * \brief: prototype for Data Interpolation mex module.
|
---|
3 | */
|
---|
4 |
|
---|
5 | #ifndef _InterpFromGridToMesh_H
|
---|
6 | #define _InterpFromGridToMesh_H
|
---|
7 |
|
---|
8 | #ifdef HAVE_CONFIG_H
|
---|
9 | #include <config.h>
|
---|
10 | #else
|
---|
11 | #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
|
---|
12 | #endif
|
---|
13 |
|
---|
14 | /*For python modules: needs to come before header files inclusion*/
|
---|
15 | #ifdef _HAVE_PYTHON_
|
---|
16 | #define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
|
---|
17 | #endif
|
---|
18 |
|
---|
19 | #include "../bindings.h"
|
---|
20 | #include "../../c/main/globals.h"
|
---|
21 | #include "../../c/modules/modules.h"
|
---|
22 | #include "../../c/shared/shared.h"
|
---|
23 |
|
---|
24 | #undef __FUNCT__
|
---|
25 | #define __FUNCT__ "InterpFromGridToMesh"
|
---|
26 |
|
---|
27 | #ifdef _HAVE_MATLAB_MODULES_
|
---|
28 | /* serial input macros: */
|
---|
29 | #define XHANDLE prhs[0]
|
---|
30 | #define YHANDLE prhs[1]
|
---|
31 | #define DATAHANDLE prhs[2]
|
---|
32 | #define XMESHHANDLE prhs[3]
|
---|
33 | #define YMESHHANDLE prhs[4]
|
---|
34 | #define DEFAULTHANDLE prhs[5]
|
---|
35 | #define INTERPENUM prhs[6]
|
---|
36 | /* serial output macros: */
|
---|
37 | #define DATAMESH (mxArray**)&plhs[0]
|
---|
38 | #endif
|
---|
39 |
|
---|
40 | #ifdef _HAVE_PYTHON_MODULES_
|
---|
41 | /* serial input macros: */
|
---|
42 | #define XHANDLE PyTuple_GetItem(args,0)
|
---|
43 | #define YHANDLE PyTuple_GetItem(args,1)
|
---|
44 | #define DATAHANDLE PyTuple_GetItem(args,2)
|
---|
45 | #define XMESHHANDLE PyTuple_GetItem(args,3)
|
---|
46 | #define YMESHHANDLE PyTuple_GetItem(args,4)
|
---|
47 | #define DEFAULTHANDLE PyTuple_GetItem(args,5)
|
---|
48 | #define INTERPENUM PyTuple_GetItem(args,6)
|
---|
49 | /* serial output macros: */
|
---|
50 | #define DATAMESH output,0
|
---|
51 | #endif
|
---|
52 |
|
---|
53 | #ifdef _HAVE_JAVASCRIPT_MODULES_
|
---|
54 | /* serial input macros: */
|
---|
55 | #define XHANDLE xIn,nodsIn,1
|
---|
56 | #define YHANDLE yIn,nodsIn,1
|
---|
57 | #define DATAHANDLE dataIn,dataNumRowsIn,dataNumColsIn
|
---|
58 | #define XMESHHANDLE xMeshIn,meshNumRowsIn,1
|
---|
59 | #define YMESHHANDLE yMeshIn,meshNumRowsIn,1
|
---|
60 | #define DEFAULTHANDLE defaultValue
|
---|
61 | #define INTERPENUM interpType
|
---|
62 | /* serial output macros: */
|
---|
63 | #define DATAMESH pdataMesh
|
---|
64 | #define WRAPPER(modulename) extern "C" { int InterpFromGridToMeshModule(double** pdataMesh, double* xIn, double* yIn, double* dataIn, double* xMeshIn, double* yMeshIn, double defaultValue, int nodsIn, int dataNumRowsIn, int dataNumColsIn, int meshNumRowsIn, char* interpType)
|
---|
65 | #define nrhs 6
|
---|
66 | #endif
|
---|
67 |
|
---|
68 | /* serial arg counts: */
|
---|
69 | #undef NLHS
|
---|
70 | #define NLHS 1
|
---|
71 | #undef NRHS
|
---|
72 | #define NRHS 6
|
---|
73 |
|
---|
74 | #endif /* _INTERPFROMGRIDTOMESH_H */
|
---|