]> SALOME platform Git repositories - modules/med.git/blob - src/MEDMEM/MEDMEM_define.hxx
Salome HOME
correct small problem from the version in the MedFileV2_2 branch.
[modules/med.git] / src / MEDMEM / MEDMEM_define.hxx
1 #ifndef DEFINE_HXX
2 #define DEFINE_HXX      
3
4 #include <stdio.h>
5 #include <iostream>
6 #include <string>
7 #include <assert.h>
8
9 // UTILE AUX DEUX NAMESPACES
10 #include <hdf5.h>
11
12 namespace MED_FR {
13   extern "C" { 
14 # include <med.h>
15 # include <med_proto.h>
16   }
17 }
18
19
20 namespace MED_EN {
21   extern "C" { 
22   
23 #define MED_NULL       (void *) NULL
24 #define MED_MAX_PARA     20
25
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 
31
32 #define MED_PNOM_BLANC "                "
33 #define MED_NOM_BLANC  "                                "
34
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;
55
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;
62     
63     typedef long medModeSwitch;
64     const medModeSwitch MED_FULL_INTERLACE = 0;
65     const medModeSwitch MED_NO_INTERLACE = 1;
66
67     typedef enum {MED_NO_PFLMOD, MED_GLOBAL, MED_COMPACT }  med_mode_profil; 
68     
69     typedef long medConnectivity;
70     const medConnectivity MED_NODAL = 0;
71     const medConnectivity MED_DESCENDING = 1;
72     
73 //     typedef enum {MED_CARTESIAN, MED_POLAR, MED_BODY_FITTED} med_grid_type;
74 //     V2_1->V2_2
75     
76 //     typedef enum {MED_LECT,MED_ECRI,MED_REMP} med_mode_acces; V2_1->V2_2
77     
78     typedef enum {MED_LECTURE, MED_LECTURE_ECRITURE, MED_LECTURE_AJOUT,
79                   MED_CREATION} med_mode_acces; 
80
81     typedef enum {MED_NON_STRUCTURE, MED_STRUCTURE} med_maillage;
82
83     typedef enum {MED_GRILLE_CARTESIENNE, MED_GRILLE_POLAIRE,
84                   MED_GRILLE_STANDARD} med_type_grille;
85
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;
88     
89     typedef enum {MED_REEL64=6, MED_INT32=24,MED_INT64=26,
90                   MED_INT=28} med_type_champ;
91
92 #define MED_NBR_GEOMETRIE_MAILLE 15
93 #define MED_NBR_GEOMETRIE_FACE 4
94 #define MED_NBR_GEOMETRIE_ARETE 2
95
96 typedef enum {MED_CART, MED_CYL, MED_SPHER} med_repere; 
97
98 typedef enum {MED_FAUX, MED_VRAI} med_booleen ; 
99
100 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille; 
101
102 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ; 
103
104 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info; 
105
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 !!!!!!!!
118 #define MED_ALL    0
119 #define MED_NOREF  ""
120 #define MED_DEFAUT ""                  /* Toutes les donnees champs ou maillage pour le montage */
121
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 
126
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;
132
133 /* types elementaires */
134 typedef int            med_int;
135 typedef double         med_float;
136 #endif
137
138 #if defined(HP9000)
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;
144
145 /* types elementaires */
146 typedef int            med_int;
147 typedef double         med_float;
148 #endif
149
150 #if defined(IRIX64)
151 #define NOMF_POST_UNDERSCORE
152
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;
158
159 /* types elementaires */
160 typedef long           med_int;
161 typedef double         med_float;
162 #endif
163
164
165 #if defined(PPRO_NT) 
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;
171
172 /* types elementaires */
173 typedef int            med_int;
174 typedef double         med_float;
175 #endif
176
177
178 #if defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
179 #   define NOMF(x)     _##x##_
180 #endif
181 #if defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
182 #   define NOMF(x)     _##x
183 #endif
184 #if !defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
185 #   define NOMF(x)     x##_
186 #endif
187 #if !defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
188 #   define NOMF(x)     x
189 #endif
190
191   //#include "med_proto.h"
192
193   }
194
195 // valeurs des algos de connexites
196 #define FRACT_ALGO 10
197 #define MAX_LOOP 200
198 // fin
199
200 // Valeurs de IO_MED
201 //#define READ 0
202 //#define WRITE 1
203
204
205 #define MED_CLOSED   0
206 #define MED_OPENED   1
207 #define MED_INVALID -1
208 #define MED_ERROR   -1
209 #define MED_VALID    0
210 //#define MED_NULL     NULL
211
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
223 // Fin
224
225 #define FAUX 0
226 #define VRAI 1
227 #define longueur_string 100
228 #define PRECISION 0.0000001
229 // #define undefined -1
230 #define UNDEFINED -1
231
232 // type des connectivites
233 //#define CONN_NOD 0
234 //#define CONN_DESC_PART 1
235 //#define CONN_DESC_TOT 2
236
237 // valeurs de type_interpolation
238 #define P1                 0
239 #define pseudo_P2          1
240 #define trilineaire        2
241 #define P2_adapte          3
242 #define VF_conservatif     4
243 #define VF_non_conservatif 5
244 // valeurs de type_mapping
245 #define connexite   0
246 #define conn_octree 1
247 #define brutal      2
248 // valeurs des type_support
249 #define support_noeud 0
250 #define support_maille 1
251 // retour des fonctions
252 #define OK 0
253 #define KO 1
254 // fin
255
256 }
257 // End Of NameSpace MED_EN
258
259
260 #endif /* DEFINE_HXX */
261