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 #include "SMESH_DriverGMF.hxx"
23 #define GmfStrSiz 1024
24 #define GmfMaxTyp 1000
36 // see MeshGems/Docs/meshgems_formats_description.pdf
40 GmfVersionFormatted, \
54 GmfRequiredVertices, \
56 GmfRequiredTriangles, \
57 GmfRequiredQuadrilaterals, \
58 GmfTangentAtEdgeVertices, \
59 GmfNormalAtVertices, \
60 GmfNormalAtTriangleVertices, \
61 GmfNormalAtQuadrilateralVertices, \
62 GmfAngleOfCornerBound, \
66 GmfQuadrilateralsQ2, \
68 GmfSubDomainFromGeom, \
73 GmfExtraVerticesAtEdges, \
74 GmfExtraVerticesAtTriangles, \
75 GmfExtraVerticesAtQuadrilaterals, \
76 GmfExtraVerticesAtTetrahedra, \
77 GmfExtraVerticesAtPrisms, \
78 GmfExtraVerticesAtHexahedra, \
79 GmfVerticesOnGeometricVertices, \
80 GmfVerticesOnGeometricEdges, \
81 GmfVerticesOnGeometricTriangles, \
82 GmfVerticesOnGeometricQuadrilaterals, \
83 GmfEdgesOnGeometricEdges, \
94 GmfTrianglesOnGeometricTriangles, \
95 GmfTrianglesOnGeometricQuadrilaterals, \
96 GmfQuadrilateralsOnGeometricTriangles, \
97 GmfQuadrilateralsOnGeometricQuadrilaterals, \
100 GmfTangentAtVertices, \
104 GmfSolAtQuadrilaterals, \
105 GmfSolAtTetrahedra, \
111 GmfISolAtTriangles, \
112 GmfISolAtQuadrilaterals, \
113 GmfISolAtTetrahedra, \
115 GmfISolAtHexahedra, \
119 GmfCoarseHexahedra, \
120 GmfFault_MultipleEdge
124 /*----------------------------------------------------------*/
125 /* External procedures */
126 /*----------------------------------------------------------*/
128 MESHDriverGMF_EXPORT extern int GmfOpenMesh(const char *, int, ...);
129 MESHDriverGMF_EXPORT extern int GmfCloseMesh(int);
130 MESHDriverGMF_EXPORT extern int GmfStatKwd(int, int, ...);
131 MESHDriverGMF_EXPORT extern int GmfGotoKwd(int, int);
132 MESHDriverGMF_EXPORT extern int GmfSetKwd(int, int, ...);
133 MESHDriverGMF_EXPORT extern void GmfGetLin(int, int, ...);
134 MESHDriverGMF_EXPORT extern void GmfSetLin(int, int, ...);
137 /*----------------------------------------------------------*/
139 /*----------------------------------------------------------*/
141 #if defined(F77_NO_UNDER_SCORE)
144 #define call(x) x ## _
148 /*----------------------------------------------------------*/
149 /* Transmesh private API */
150 /*----------------------------------------------------------*/
154 MESHDriverGMF_EXPORT extern char *GmfKwdFmt[ GmfMaxKwd + 1 ][4];
155 MESHDriverGMF_EXPORT extern int GmfCpyLin(int, int, int);