source: issm/trunk-jpl/src/wrappers/InterpFromGridToMesh/InterpFromGridToMesh.h@ 22673

Last change on this file since 22673 was 22673, checked in by jdquinn, 7 years ago

CHG: Changes to InterpFromGridToMesh header and JS wrapper.

File size: 2.1 KB
Line 
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,nodsIn,1
58#define XMESHHANDLE xMeshIn,nodsIn,1
59#define YMESHHANDLE yMeshIn,nodsIn,1
60#define DEFAULTHANDLE defaultValueIn
61#define INTERPENUM interpTypeIn
62/* serial output macros: */
63#define DATAMESH pdataMesh,NULL
64#define WRAPPER(modulename) extern "C" { int InterpFromGridToMeshModule(double** pdataMesh, double* xIn, double* yIn, double* dataIn, double* xMeshIn, double* yMeshIn, double defaultValue, int nodsIn, char* interpTypeIn)
65#endif
66
67/* serial arg counts: */
68#undef NLHS
69#define NLHS 1
70#undef NRHS
71#define NRHS 6
72
73#endif /* _INTERPFROMGRIDTOMESH_H */
Note: See TracBrowser for help on using the repository browser.