Version: 9.16.0
libmesh5.h
Go to the documentation of this file.
1
2
3/*----------------------------------------------------------*/
4/* */
5/* LIBMESH V 5.46 */
6/* */
7/*----------------------------------------------------------*/
8/* */
9/* Description: handle .meshb file format I/O */
10/* Author: Loic MARECHAL */
11/* Creation date: feb 16 2007 */
12/* Last modification: dec 09 2011 */
13/* */
14/*----------------------------------------------------------*/
15
16
17/*----------------------------------------------------------*/
18/* Defines */
19/*----------------------------------------------------------*/
20
21#ifdef WIN32
22 #if defined MESHDriverGMF_EXPORTS || defined MeshDriverGMF_EXPORTS
23 #define MESHDriverGMF_EXPORT __declspec( dllexport )
24 #else
25 #define MESHDriverGMF_EXPORT __declspec( dllimport )
26 #endif
27#else
28 #define MESHDriverGMF_EXPORT
29#endif
30
31#define GmfStrSiz 1024
32#define GmfMaxTyp 1000
33#define GmfMaxKwd 81
34#define GmfMshVer 1
35#define GmfRead 1
36#define GmfWrite 2
37#define GmfSca 1
38#define GmfVec 2
39#define GmfSymMat 3
40#define GmfMat 4
41#define GmfFloat 1
42#define GmfDouble 2
43
44/* see MeshGems/Docs/meshgems_formats_description.pdf */
46{
48 GmfVersionFormatted, \
49 GmfReserved2, \
50 GmfDimension, \
51 GmfVertices, \
52 GmfEdges, \
53 GmfTriangles, \
54 GmfQuadrilaterals, \
55 GmfTetrahedra, \
56 GmfPrisms, \
57 GmfHexahedra, \
58 GmfIterationsAll, \
59 GmfTimesAll, \
60 GmfCorners, \
61 GmfRidges, \
62 GmfRequiredVertices, \
63 GmfRequiredEdges, \
64 GmfRequiredTriangles, \
65 GmfRequiredQuadrilaterals, \
66 GmfTangentAtEdgeVertices, \
67 GmfNormalAtVertices, \
68 GmfNormalAtTriangleVertices, \
69 GmfNormalAtQuadrilateralVertices, \
70 GmfAngleOfCornerBound, \
71 GmfTrianglesP2, \
72 GmfEdgesP2, \
73 GmfSolAtPyramids, \
74 GmfQuadrilateralsQ2, \
75 GmfISolAtPyramids, \
76 GmfSubDomainFromGeom, \
77 GmfTetrahedraP2, \
78 GmfFault_NearTri, \
79 GmfFault_Inter, \
80 GmfHexahedraQ2, \
81 GmfExtraVerticesAtEdges, \
82 GmfExtraVerticesAtTriangles, \
83 GmfExtraVerticesAtQuadrilaterals, \
84 GmfExtraVerticesAtTetrahedra, \
85 GmfExtraVerticesAtPrisms, \
86 GmfExtraVerticesAtHexahedra, \
87 GmfVerticesOnGeometricVertices, \
88 GmfVerticesOnGeometricEdges, \
89 GmfVerticesOnGeometricTriangles, \
90 GmfVerticesOnGeometricQuadrilaterals, \
91 GmfEdgesOnGeometricEdges, \
92 GmfFault_FreeEdge, \
93 GmfPolyhedra, \
94 GmfPolygons, \
95 GmfFault_Overlap, \
96 GmfPyramids, \
97 GmfBoundingBox, \
98 GmfBody, \
99 GmfPrivateTable, \
100 GmfFault_BadShape, \
101 GmfEnd, \
102 GmfTrianglesOnGeometricTriangles, \
103 GmfTrianglesOnGeometricQuadrilaterals, \
104 GmfQuadrilateralsOnGeometricTriangles, \
105 GmfQuadrilateralsOnGeometricQuadrilaterals, \
106 GmfTangents, \
107 GmfNormals, \
108 GmfTangentAtVertices, \
109 GmfSolAtVertices, \
110 GmfSolAtEdges, \
111 GmfSolAtTriangles, \
112 GmfSolAtQuadrilaterals, \
113 GmfSolAtTetrahedra, \
114 GmfSolAtPrisms, \
115 GmfSolAtHexahedra, \
116 GmfDSolAtVertices, \
117 GmfISolAtVertices, \
118 GmfISolAtEdges, \
119 GmfISolAtTriangles, \
120 GmfISolAtQuadrilaterals, \
121 GmfISolAtTetrahedra, \
122 GmfISolAtPrisms, \
123 GmfISolAtHexahedra, \
124 GmfIterations, \
125 GmfTime, \
126 GmfFault_SmallTri, \
127 GmfCoarseHexahedra, \
128 GmfFault_MultipleEdge
130
131
132/*----------------------------------------------------------*/
133/* External procedures */
134/*----------------------------------------------------------*/
135
136MESHDriverGMF_EXPORT extern int GmfOpenMesh(const char *, int, ...);
137MESHDriverGMF_EXPORT extern int GmfCloseMesh(int);
138MESHDriverGMF_EXPORT extern int GmfStatKwd(int, int, ...);
139MESHDriverGMF_EXPORT extern int GmfGotoKwd(int, int);
140MESHDriverGMF_EXPORT extern int GmfSetKwd(int, int, ...);
141MESHDriverGMF_EXPORT extern void GmfGetLin(int, int, ...);
142MESHDriverGMF_EXPORT extern void GmfSetLin(int, int, ...);
143
144
145/*----------------------------------------------------------*/
146/* Fortran 77 API */
147/*----------------------------------------------------------*/
148
149#if defined(F77_NO_UNDER_SCORE)
150#define call(x) x
151#else
152#define call(x) x ## _
153#endif
154
155
156/*----------------------------------------------------------*/
157/* Transmesh private API */
158/*----------------------------------------------------------*/
159
160#ifdef TRANSMESH
161
162MESHDriverGMF_EXPORT extern char *GmfKwdFmt[ GmfMaxKwd + 1 ][4];
163MESHDriverGMF_EXPORT extern int GmfCpyLin(int, int, int);
164
165#endif
static const char * GmfKwdFmt[81+1][4]
Definition: libmesh5.c:82
void GmfCpyLin(int InpIdx, int OutIdx, int KwdCod)
Definition: libmesh5.c:956
void GmfSetLin(int, int,...)
Definition: libmesh5.c:819
int GmfStatKwd(int, int,...)
Definition: libmesh5.c:516
GmfKwdCod
Definition: libmesh5.h:46
@ GmfReserved1
Definition: libmesh5.h:47
int GmfOpenMesh(const char *, int,...)
Definition: libmesh5.c:189
void GmfGetLin(int, int,...)
Definition: libmesh5.c:708
int GmfSetKwd(int, int,...)
Definition: libmesh5.c:590
#define GmfMaxKwd
Definition: libmesh5.h:33
int GmfCloseMesh(int)
Definition: libmesh5.c:481
int GmfGotoKwd(int, int)
Definition: libmesh5.c:564
#define MESHDriverGMF_EXPORT
Definition: libmesh5.h:28