Ice Sheet System Model  4.18
Code documentation
ContourToMesh.h
Go to the documentation of this file.
1 /*
2  ContourToMesh.h
3 */
4 
5 #ifndef _CONTOURTOMESH_H
6 #define _CONTOURTOMESH_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 /*Header files: */
20 #include "../bindings.h"
21 #include "../../c/main/globals.h"
22 #include "../../c/toolkits/toolkits.h"
23 #include "../../c/modules/modules.h"
24 #include "../../c/shared/shared.h"
25 #include "../../c/shared/io/io.h"
26 
27 #undef __FUNCT__
28 #define __FUNCT__ "ContourToMesh"
29 
30 #ifdef _HAVE_MATLAB_MODULES_
31 /* serial input macros: */
32 #define INDEX prhs[0]
33 #define X prhs[1]
34 #define Y prhs[2]
35 #define CONTOUR prhs[3]
36 #define INTERPTYPE prhs[4]
37 #define EDGEVALUE prhs[5]
38 /* serial output macros: */
39 #define PLHS0 (mxArray**)&plhs[0]
40 #define PLHS1 (mxArray**)&plhs[1]
41 #endif
42 
43 #ifdef _HAVE_PYTHON_MODULES_
44 /* serial input macros: */
45 #define INDEX PyTuple_GetItem(args,0)
46 #define X PyTuple_GetItem(args,1)
47 #define Y PyTuple_GetItem(args,2)
48 #define CONTOUR PyTuple_GetItem(args,3)
49 #define INTERPTYPE PyTuple_GetItem(args,4)
50 #define EDGEVALUE PyTuple_GetItem(args,5)
51 /* serial output macros: */
52 #define PLHS0 output,0
53 #define PLHS1 output,1
54 #endif
55 
56 #ifdef _HAVE_JAVASCRIPT_MODULES_
57 /* serial input macros: */
58 #define INDEX indexin,nelin,3
59 #define X xin,nodsin,1
60 #define Y yin,nodsin,1
61 #define CONTOUR contourx,contoury,contour_nods
62 #define INTERPTYPE interptypein
63 #define EDGEVALUE valuein
64 #define WRAPPER(modulename) extern "C" { int ContourToMeshModule(double** pin_nod, double** pin_nel, double* indexin, double* xin, double* yin, double* contourx, double* contoury, char* interptypein, int nelin, int nodsin, int contour_nods, double valuein)
65 /* serial output macros: */
66 #define PLHS0 pin_nod,NULL
67 #define PLHS1 pin_nel,NULL
68 #define nrhs 6
69 #endif
70 
71 /* serial arg counts: */
72 #undef NLHS
73 #define NLHS 2
74 #undef NRHS
75 #define NRHS 6
76 
77 #endif /* _CONTOURTOMESH_H */