9 // UTILE AUX DEUX NAMESPACES
15 # include <med_proto.h>
23 #define MED_NULL (void *) NULL
24 #define MED_MAX_PARA 20
26 #define MED_TAILLE_DESC 200
27 #define MED_TAILLE_IDENT 8
28 #define MED_TAILLE_NOM 32
29 #define MED_TAILLE_LNOM 80
30 #define MED_TAILLE_PNOM 16
32 #define MED_PNOM_BLANC " "
33 #define MED_NOM_BLANC " "
35 typedef long medGeometryElement;
36 const medGeometryElement MED_NONE = 0;
37 const medGeometryElement MED_POINT1 = 1;
38 const medGeometryElement MED_SEG2 = 102;
39 const medGeometryElement MED_SEG3 = 103;
40 const medGeometryElement MED_TRIA3 = 203;
41 const medGeometryElement MED_QUAD4 = 204;
42 const medGeometryElement MED_TRIA6 = 206;
43 const medGeometryElement MED_QUAD8 = 208;
44 const medGeometryElement MED_TETRA4 = 304;
45 const medGeometryElement MED_PYRA5 = 305;
46 const medGeometryElement MED_PENTA6 = 306;
47 const medGeometryElement MED_HEXA8 = 308;
48 const medGeometryElement MED_TETRA10 = 310;
49 const medGeometryElement MED_PYRA13 = 313;
50 const medGeometryElement MED_PENTA15 = 315;
51 const medGeometryElement MED_HEXA20 = 320;
52 const medGeometryElement MED_POLYGONE = 400;
53 const medGeometryElement MED_POLYEDRE = 500;
54 const medGeometryElement MED_ALL_ELEMENTS = 999;
56 typedef long medEntityMesh;
57 const medEntityMesh MED_CELL = 0;
58 const medEntityMesh MED_FACE = 1;
59 const medEntityMesh MED_EDGE = 2;
60 const medEntityMesh MED_NODE = 3;
61 const medEntityMesh MED_ALL_ENTITIES = 4;
63 typedef long medModeSwitch;
64 const medModeSwitch MED_FULL_INTERLACE = 0;
65 const medModeSwitch MED_NO_INTERLACE = 1;
67 typedef enum {MED_NO_PFLMOD, MED_GLOBAL, MED_COMPACT } med_mode_profil;
69 typedef long medConnectivity;
70 const medConnectivity MED_NODAL = 0;
71 const medConnectivity MED_DESCENDING = 1;
73 // typedef enum {MED_CARTESIAN, MED_POLAR, MED_BODY_FITTED} med_grid_type;
76 // typedef enum {MED_LECT,MED_ECRI,MED_REMP} med_mode_acces; V2_1->V2_2
78 typedef enum {MED_LECTURE, MED_LECTURE_ECRITURE, MED_LECTURE_AJOUT,
79 MED_CREATION} med_mode_acces;
81 typedef enum {MED_NON_STRUCTURE, MED_STRUCTURE} med_maillage;
83 typedef enum {MED_GRILLE_CARTESIENNE, MED_GRILLE_POLAIRE,
84 MED_GRILLE_STANDARD} med_type_grille;
86 typedef enum {MED_COOR, MED_CONN, MED_NOM, MED_NUM, MED_FAM, MED_COOR_IND1,
87 MED_COOR_IND2,MED_COOR_IND3} med_table;
89 typedef enum {MED_REEL64=6, MED_INT32=24,MED_INT64=26,
90 MED_INT=28} med_type_champ;
92 #define MED_NBR_GEOMETRIE_MAILLE 15
93 #define MED_NBR_GEOMETRIE_FACE 4
94 #define MED_NBR_GEOMETRIE_ARETE 2
96 typedef enum {MED_CART, MED_CYL, MED_SPHER} med_repere;
98 typedef enum {MED_FAUX, MED_VRAI} med_booleen ;
100 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille;
102 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ;
104 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info;
106 #define MED_NOPG 1 /* -> pas de point de Gauss */
107 #define MED_NOGAUSS "" /* -> pas de point de Gauss */
108 #define MED_NOGAUSSi MED_NOM_BLANC /* Variable Interne */
109 #define MED_NOPFL "" /* -> pas de profils utilisateur */
110 #define MED_NOPFLi MED_NOM_BLANC /* Variable Interne */
111 #define MED_NOLIEN ""
112 #define MED_NOLIENi MED_NOM_BLANC /* Variable Interne */
113 #define MED_NOPF 0 /* -> pas de profils pour _MEDdataseNnumEcrire */
114 #define MED_NOPDT -1 /* rem: pas de pas de temps negatifs */
115 #define MED_NONOR -1 /* rem: pas de n°ordre negatif */
116 #define MED_DIM1 1 /* PAS */
117 //#define MED_ALL 0 !!!!! NB: WARNING MED_ALL deja utilise dans l'enum medGeometryElement !!!!!!!!
120 #define MED_DEFAUT "" /* Toutes les donnees champs ou maillage pour le montage */
122 #if defined(SUN4SOL2) || defined(PCLINUX) || defined(OSF1) || defined(IRIX64_32) || defined(RS6000)
123 /* interface C/FORTRAN */
124 /* this true only with g77 and gcc : we must change it to use directly NOMF_... and INT32 or INT64 - it will be more simple to understand and to use ! */
125 #define NOMF_POST_UNDERSCORE
127 /* correspondance des types avec HDF 5 */
128 typedef hsize_t med_size;
129 typedef hssize_t med_ssize;
130 typedef hid_t med_idt;
131 typedef herr_t med_err;
133 /* types elementaires */
135 typedef double med_float;
139 /* correspondance des types avec HDF 5 */
140 typedef hsize_t med_size;
141 typedef hssize_t med_ssize;
142 typedef hid_t med_idt;
143 typedef herr_t med_err;
145 /* types elementaires */
147 typedef double med_float;
151 #define NOMF_POST_UNDERSCORE
153 /* correspondance des types avec HDF 5 */
154 typedef hsize_t med_size;
155 typedef hssize_t med_ssize;
156 typedef hid_t med_idt;
157 typedef herr_t med_err;
159 /* types elementaires */
160 typedef long med_int;
161 typedef double med_float;
166 /* correspondance des types avec HDF 5 */
167 typedef hsize_t med_size;
168 typedef hssize_t med_ssize;
169 typedef hid_t med_idt;
170 typedef herr_t med_err;
172 /* types elementaires */
174 typedef double med_float;
178 #if defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
179 # define NOMF(x) _##x##_
181 #if defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
182 # define NOMF(x) _##x
184 #if !defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
185 # define NOMF(x) x##_
187 #if !defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
191 //#include "med_proto.h"
195 // valeurs des algos de connexites
196 #define FRACT_ALGO 10
207 #define MED_INVALID -1
210 //#define MED_NULL NULL
212 //#define MED_RDONLY MED_LECT V2_1->V2_2
213 #define MED_RDONLY MED_LECTURE
214 // rem: MED_WRONLY=MED_ECR n'empêche malheureusement pas de lire le fichier
215 // mais permet de conserver l'existant. Attention à la création d'objet
216 // ne prenant pas de paramètre de type mode d'accès il faut tester si il
217 // est déjà présent dans le fichier. Si MED_WRONLY=MED_REMP le fichier est
218 // réinitialisé. Cf une évolution de MED.
219 //#define MED_WRONLY MED_ECRI V2_1->V2_2
220 #define MED_WRONLY MED_LECTURE_AJOUT
221 //#define MED_RDWR MED_ECRI V2_1->V2_2
222 #define MED_RDWR MED_LECTURE_ECRITURE
227 #define longueur_string 100
228 #define PRECISION 0.0000001
229 // #define undefined -1
232 // type des connectivites
234 //#define CONN_DESC_PART 1
235 //#define CONN_DESC_TOT 2
237 // valeurs de type_interpolation
240 #define trilineaire 2
242 #define VF_conservatif 4
243 #define VF_non_conservatif 5
244 // valeurs de type_mapping
246 #define conn_octree 1
248 // valeurs des type_support
249 #define support_noeud 0
250 #define support_maille 1
251 // retour des fonctions
257 // End Of NameSpace MED_EN
260 #endif /* DEFINE_HXX */