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 /*----------------------------------------------------------*/
22 #if defined MESHDriverGMF_EXPORTS || defined MeshDriverGMF_EXPORTS
23 #define MESHDriverGMF_EXPORT __declspec( dllexport )
25 #define MESHDriverGMF_EXPORT __declspec( dllimport )
28 #define MESHDriverGMF_EXPORT
31 #define GmfStrSiz 1024
32 #define GmfMaxTyp 1000
44 /* see MeshGems/Docs/meshgems_formats_description.pdf */
48 GmfVersionFormatted, \
62 GmfRequiredVertices, \
64 GmfRequiredTriangles, \
65 GmfRequiredQuadrilaterals, \
66 GmfTangentAtEdgeVertices, \
67 GmfNormalAtVertices, \
68 GmfNormalAtTriangleVertices, \
69 GmfNormalAtQuadrilateralVertices, \
70 GmfAngleOfCornerBound, \
74 GmfQuadrilateralsQ2, \
76 GmfSubDomainFromGeom, \
81 GmfExtraVerticesAtEdges, \
82 GmfExtraVerticesAtTriangles, \
83 GmfExtraVerticesAtQuadrilaterals, \
84 GmfExtraVerticesAtTetrahedra, \
85 GmfExtraVerticesAtPrisms, \
86 GmfExtraVerticesAtHexahedra, \
87 GmfVerticesOnGeometricVertices, \
88 GmfVerticesOnGeometricEdges, \
89 GmfVerticesOnGeometricTriangles, \
90 GmfVerticesOnGeometricQuadrilaterals, \
91 GmfEdgesOnGeometricEdges, \
102 GmfTrianglesOnGeometricTriangles, \
103 GmfTrianglesOnGeometricQuadrilaterals, \
104 GmfQuadrilateralsOnGeometricTriangles, \
105 GmfQuadrilateralsOnGeometricQuadrilaterals, \
108 GmfTangentAtVertices, \
112 GmfSolAtQuadrilaterals, \
113 GmfSolAtTetrahedra, \
119 GmfISolAtTriangles, \
120 GmfISolAtQuadrilaterals, \
121 GmfISolAtTetrahedra, \
123 GmfISolAtHexahedra, \
127 GmfCoarseHexahedra, \
128 GmfFault_MultipleEdge
132 /*----------------------------------------------------------*/
133 /* External procedures */
134 /*----------------------------------------------------------*/
136 MESHDriverGMF_EXPORT extern int GmfOpenMesh(const char *, int, ...);
137 MESHDriverGMF_EXPORT extern int GmfCloseMesh(int);
138 MESHDriverGMF_EXPORT extern int GmfStatKwd(int, int, ...);
139 MESHDriverGMF_EXPORT extern int GmfGotoKwd(int, int);
140 MESHDriverGMF_EXPORT extern int GmfSetKwd(int, int, ...);
141 MESHDriverGMF_EXPORT extern void GmfGetLin(int, int, ...);
142 MESHDriverGMF_EXPORT extern void GmfSetLin(int, int, ...);
145 /*----------------------------------------------------------*/
147 /*----------------------------------------------------------*/
149 #if defined(F77_NO_UNDER_SCORE)
152 #define call(x) x ## _
156 /*----------------------------------------------------------*/
157 /* Transmesh private API */
158 /*----------------------------------------------------------*/
162 MESHDriverGMF_EXPORT extern char *GmfKwdFmt[ GmfMaxKwd + 1 ][4];
163 MESHDriverGMF_EXPORT extern int GmfCpyLin(int, int, int);