3 /*----------------------------------------------------------*/
7 /*----------------------------------------------------------*/
9 /* Description: handle .meshb file format I/O */
10 /* Author: Loic MARECHAL */
11 /* Creation date: feb 16 2007 */
12 /* Last modification: dec 09 2011 */
14 /*----------------------------------------------------------*/
17 /*----------------------------------------------------------*/
19 /*----------------------------------------------------------*/
21 #define GmfStrSiz 1024
22 #define GmfMaxTyp 1000
37 GmfVersionFormatted, \
51 GmfRequiredVertices, \
53 GmfRequiredTriangles, \
54 GmfRequiredQuadrilaterals, \
55 GmfTangentAtEdgeVertices, \
56 GmfNormalAtVertices, \
57 GmfNormalAtTriangleVertices, \
58 GmfNormalAtQuadrilateralVertices, \
59 GmfAngleOfCornerBound, \
63 GmfQuadrilateralsQ2, \
65 GmfSubDomainFromGeom, \
70 GmfExtraVerticesAtEdges, \
71 GmfExtraVerticesAtTriangles, \
72 GmfExtraVerticesAtQuadrilaterals, \
73 GmfExtraVerticesAtTetrahedra, \
74 GmfExtraVerticesAtPrisms, \
75 GmfExtraVerticesAtHexahedra, \
76 GmfVerticesOnGeometricVertices, \
77 GmfVerticesOnGeometricEdges, \
78 GmfVerticesOnGeometricTriangles, \
79 GmfVerticesOnGeometricQuadrilaterals, \
80 GmfEdgesOnGeometricEdges, \
91 GmfTrianglesOnGeometricTriangles, \
92 GmfTrianglesOnGeometricQuadrilaterals, \
93 GmfQuadrilateralsOnGeometricTriangles, \
94 GmfQuadrilateralsOnGeometricQuadrilaterals, \
97 GmfTangentAtVertices, \
101 GmfSolAtQuadrilaterals, \
102 GmfSolAtTetrahedra, \
108 GmfISolAtTriangles, \
109 GmfISolAtQuadrilaterals, \
110 GmfISolAtTetrahedra, \
112 GmfISolAtHexahedra, \
120 /*----------------------------------------------------------*/
121 /* External procedures */
122 /*----------------------------------------------------------*/
124 extern int GmfOpenMesh(const char *, int, ...);
125 extern int GmfCloseMesh(int);
126 extern int GmfStatKwd(int, int, ...);
127 extern int GmfGotoKwd(int, int);
128 extern int GmfSetKwd(int, int, ...);
129 extern void GmfGetLin(int, int, ...);
130 extern void GmfSetLin(int, int, ...);
133 /*----------------------------------------------------------*/
135 /*----------------------------------------------------------*/
137 #if defined(F77_NO_UNDER_SCORE)
140 #define call(x) x ## _
144 /*----------------------------------------------------------*/
145 /* Transmesh private API */
146 /*----------------------------------------------------------*/
150 extern char *GmfKwdFmt[ GmfMaxKwd + 1 ][4];
151 extern int GmfCpyLin(int, int, int);