Skip to content
Snippets Groups Projects
Commit dfa2ab56 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

prepare dllexports

parent 238b4b77
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
#ifndef _GMSH_API_H_ #ifndef _GMSH_API_H_
#define _GMSH_API_H_ #define _GMSH_API_H_
#if defined(WIN32)
#define GMSH_API __declspec(dllexport) int
#else
#define GMSH_API int
#endif
typedef struct gmshEntity{ int dim, tag; }; typedef struct gmshEntity{ int dim, tag; };
typedef struct gmshIntVector{ int n; int *v; }; typedef struct gmshIntVector{ int n; int *v; };
typedef struct gmshDoubleVector{ int n; double *v; }; typedef struct gmshDoubleVector{ int n; double *v; };
...@@ -27,38 +33,38 @@ typedef struct gmshEntityVector{ int n; gmshEntity *v; }; ...@@ -27,38 +33,38 @@ typedef struct gmshEntityVector{ int n; gmshEntity *v; };
extern "C" extern "C"
{ {
/* Gmsh */ /* Gmsh */
int gmshInitialize(int argc, char **argv); GMSH_API gmshInitialize(int argc, char **argv);
int gmshFinalize(); GMSH_API gmshFinalize();
int gmshOpen(const char *fileName); GMSH_API gmshOpen(const char *fileName);
int gmshMerge(const char *fileName); GMSH_API gmshMerge(const char *fileName);
int gmshExport(const char *fileName); GMSH_API gmshExport(const char *fileName);
int gmshClear(); GMSH_API gmshClear();
/* Gmsh Options */ /* Gmsh Options */
int gmshOptionsSetNumber(const char *name, double value); GMSH_API gmshOptionsSetNumber(const char *name, double value);
int gmshOptionsGetNumber(const char *name, double *value); GMSH_API gmshOptionsGetNumber(const char *name, double *value);
/* Gmsh Model */ /* Gmsh Model */
int gmshModelCreate(const char *name); GMSH_API gmshModelCreate(const char *name);
int gmshModelSetCurrent(const char *name); GMSH_API gmshModelSetCurrent(const char *name);
int gmshModelDestroy(); GMSH_API gmshModelDestroy();
int gmshModelMesh(int dim); GMSH_API gmshModelMesh(int dim);
int gmshModelAddEmbeddedVertex(int tag, int inDim, int inTag); GMSH_API gmshModelAddEmbeddedVertex(int tag, int inDim, int inTag);
/* Gmsh Model Geo Internals */ /* Gmsh Model Geo Internals */
int gmshModelGeoAddVertex(int *tag, double x, double y, double z, double lc); GMSH_API gmshModelGeoAddVertex(int *tag, double x, double y, double z, double lc);
int gmshModelGeoAddLine(int *tag, int startVertexTag, int endVertexTag); GMSH_API gmshModelGeoAddLine(int *tag, int startVertexTag, int endVertexTag);
int gmshModelGeoAddPolyLine(int *tag, const gmshIntVector *vertexTags); GMSH_API gmshModelGeoAddPolyLine(int *tag, const gmshIntVector *vertexTags);
int gmshModelGeoExtrude(gmshEntityVector *in, double dx, double dy, double dz, GMSH_API gmshModelGeoExtrude(const gmshEntityVector *in, double dx, double dy,
gmshEntityVector *out); double dz, gmshEntityVector *out);
int gmshModelGeoSynchronize(); GMSH_API gmshModelGeoSynchronize();
/* Gmsh Model OCC Internals */ /* Gmsh Model OCC Internals */
int gmshModelOCCAddVertex(int *tag, double x, double y, double z, double lc); GMSH_API gmshModelOCCAddVertex(int *tag, double x, double y, double z, double lc);
int gmshModelOCCAddLine(int *tag, int startVertexTag, int endVertexTag); GMSH_API gmshModelOCCAddLine(int *tag, int startVertexTag, int endVertexTag);
int gmshModelOCCExtrude(const gmshEntityVector *in, double dx, double dy, double dz, GMSH_API gmshModelOCCExtrude(const gmshEntityVector *in, double dx, double dy,
gmshEntityVector *out); double dz, gmshEntityVector *out);
int gmshModelOCCSynchronize(); GMSH_API gmshModelOCCSynchronize();
} }
#endif #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment