1 /*************************************************************************
2 * COPYRIGHT (C) 1999 - 2003 EDF R&D
3 * THIS LIBRARY IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4 * IT UNDER THE TERMS OF THE GNU LESSER GENERAL PUBLIC LICENSE
5 * AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION;
6 * EITHER VERSION 2.1 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
8 * THIS LIBRARY IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9 * WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11 * LESSER GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13 * YOU SHOULD HAVE RECEIVED A COPY OF THE GNU LESSER GENERAL PUBLIC LICENSE
14 * ALONG WITH THIS LIBRARY; IF NOT, WRITE TO THE FREE SOFTWARE FOUNDATION,
15 * INC., 59 TEMPLE PLACE, SUITE 330, BOSTON, MA 02111-1307 USA
17 *************************************************************************/
28 #define MED_NULL (void *) NULL
29 #define MED_MAX_PARA 20
31 #define MED_TAILLE_DESC 200
32 #define MED_TAILLE_IDENT 8
33 #define MED_TAILLE_NOM 32
34 #define MED_TAILLE_LNOM 80
35 #define MED_TAILLE_PNOM 8
37 /* Integration des developpements OCC */
38 typedef enum {MED_CARTESIAN, MED_POLAR, MED_BODY_FITTED} med_grid_type;
40 typedef enum {MED_GRID_D1=0, MED_GRID_D2=1, MED_GRID_D3=2,
42 MED_FAM_NOEUD=4, MED_FAM_ARETE=5, MED_FAM_FACE=6, MED_FAM_MAILLE=7 } med_grid;
44 /* Fin de l'integration*/
46 typedef enum {MED_FULL_INTERLACE,
47 MED_NO_INTERLACE} med_mode_switch;
49 typedef enum {MED_GLOBALE,
50 MED_COMPACT } med_mode_profil;
52 typedef enum {MED_LECT,MED_ECRI,MED_REMP} med_mode_acces;
54 typedef enum {MED_MAILLE, MED_FACE, MED_ARETE, MED_NOEUD} med_entite_maillage;
56 typedef enum {MED_COOR, MED_CONN, MED_NOM, MED_NUM, MED_FAM} med_table;
58 typedef enum {MED_REEL64=6, MED_INT32=24,MED_INT64=26, MED_INT} med_type_champ;
60 #define MED_NBR_GEOMETRIE_MAILLE 15
61 #define MED_NBR_GEOMETRIE_FACE 4
62 #define MED_NBR_GEOMETRIE_ARETE 2
63 typedef enum {MED_POINT1=1, MED_SEG2=102, MED_SEG3=103, MED_TRIA3=203,
64 MED_QUAD4=204, MED_TRIA6=206,MED_QUAD8=208, MED_TETRA4=304,
65 MED_PYRA5=305, MED_PENTA6=306, MED_HEXA8=308, MED_TETRA10=310,
66 MED_PYRA13=313, MED_PENTA15=315, MED_HEXA20=320}
67 med_geometrie_element;
69 typedef enum {MED_NOD, MED_DESC} med_connectivite ;
71 typedef enum {MED_CART, MED_CYL, MED_SPHER} med_repere;
73 typedef enum {MED_FAUX, MED_VRAI} med_booleen ;
75 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille;
77 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ;
79 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info;
81 #define MED_NOPG 1 /* -> pas de point de Gauss */
82 #define MED_NOPFL "" /* -> pas de profils utilisateur */
83 #define MED_NOPFLi " " /* Variable Interne */
84 #define MED_NOPF 0 /* -> pas de profils pour _MEDdataseNnumEcrire */
85 #define MED_NOPDT -1 /* rem: pas de pas de temps negatifs */
86 #define MED_NONOR -1 /* rem: pas de n°ordre negatif */
87 #define MED_DIM1 1 /* PAS */
90 #if defined(SUN4SOL2) || defined(PCLINUX) || defined(OSF1_32) || defined(IRIX64_32) || defined(RS6000)
91 /* interface C/FORTRAN */
92 /* this true only with g77 and gcc : we must change it to use directly NOMF_... and INT32 or INT64 -
93 it will be more simple to understand and to use ! */
94 #define NOMF_POST_UNDERSCORE
96 /* correspondance des types avec HDF 5 */
97 typedef hsize_t med_size;
98 typedef hssize_t med_ssize;
99 typedef hid_t med_idt;
100 typedef herr_t med_err;
102 /* types elementaires */
104 typedef double med_float;
108 /* correspondance des types avec HDF 5 */
109 typedef hsize_t med_size;
110 typedef hssize_t med_ssize;
111 typedef hid_t med_idt;
112 typedef herr_t med_err;
114 /* types elementaires */
116 typedef double med_float;
119 #if defined(IRIX64) || defined(OSF1)
120 #define NOMF_POST_UNDERSCORE
122 /* correspondance des types avec HDF 5 */
123 typedef hsize_t med_size;
124 typedef hssize_t med_ssize;
125 typedef hid_t med_idt;
126 typedef herr_t med_err;
128 /* types elementaires */
129 typedef long med_int;
130 typedef double med_float;
135 /* correspondance des types avec HDF 5 */
136 typedef hsize_t med_size;
137 typedef hssize_t med_ssize;
138 typedef hid_t med_idt;
139 typedef herr_t med_err;
141 /* types elementaires */
143 typedef double med_float;
147 #if defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
148 # define NOMF(x) _##x##_
150 #if defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
151 # define NOMF(x) _##x
153 #if !defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
154 # define NOMF(x) x##_
156 #if !defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
162 #include "med_proto.hxx"