]> SALOME platform Git repositories - modules/med.git/blob - src/MEDMEM/MEDMEM_define.hxx
Salome HOME
update due to bugs PAL8113 and another I do not remember the number ;) .
[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 # include <med.hxx>
13 # include <med_proto.hxx>
14
15 // namespace MED_FR {
16 //   extern "C" { 
17 // # include <med.h>
18 // # include <med_proto.h>
19 //   }
20 // }
21
22 namespace MED_EN {
23   extern "C" { 
24   
25 #define MED_NULL       (void *) NULL
26 #define MED_MAX_PARA     20
27
28 #define MED_TAILLE_DESC 200
29 #define MED_TAILLE_IDENT  8
30 #define MED_TAILLE_NOM   32
31 #define MED_TAILLE_LNOM  80    
32 #define MED_TAILLE_PNOM   8 
33
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_ALL_ELEMENTS = 999;
53
54     typedef long medEntityMesh;
55     const medEntityMesh MED_CELL = 0;
56     const medEntityMesh MED_FACE = 1;
57     const medEntityMesh MED_EDGE = 2;
58     const medEntityMesh MED_NODE = 3;
59     const medEntityMesh MED_ALL_ENTITIES = 4;
60     
61     typedef long medModeSwitch;
62     const medModeSwitch MED_FULL_INTERLACE = 0;
63     const medModeSwitch MED_NO_INTERLACE = 1;
64     
65     typedef long medConnectivity;
66     const medConnectivity MED_NODAL = 0;
67     const medConnectivity MED_DESCENDING = 1;
68     
69     typedef enum {MED_CARTESIAN, MED_POLAR, MED_BODY_FITTED} med_grid_type;
70     
71     typedef enum {MED_LECT,MED_ECRI,MED_REMP} med_mode_acces; 
72     
73     typedef enum {MED_COOR, MED_CONN, MED_NOM, MED_NUM, MED_FAM} med_table;
74     
75     typedef enum {MED_REEL64=6, MED_INT32=24,MED_INT64=26, MED_INT} med_type_champ;
76
77 #define MED_NBR_GEOMETRIE_MAILLE 15
78 #define MED_NBR_GEOMETRIE_FACE 4
79 #define MED_NBR_GEOMETRIE_ARETE 2
80
81 typedef enum {MED_CART, MED_CYL, MED_SPHER} med_repere; 
82
83 typedef enum {MED_FAUX, MED_VRAI} med_booleen ; 
84
85 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille; 
86
87 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ; 
88
89 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info; 
90
91 #define MED_NOPG   1                   /* -> pas de point de Gauss                    */
92 #define MED_NOPFL  ""                  /* -> pas de profils utilisateur               */
93 #define MED_NOPFLi "                                "  /* Variable Interne                      */
94 #define MED_NOPF   0                   /* -> pas de profils pour _MEDdataseNnumEcrire */
95 #define MED_NOPDT -1                   /* rem: pas de pas de temps negatifs           */
96 #define MED_NONOR -1                   /* rem: pas de n°ordre negatif                 */
97 #define MED_DIM1   1                   /* PAS */
98   //#define MED_ALL    0 !!!!! NB: WARNING MED_ALL deja utilise dans l'enum medGeometryElement !!!!!!!!
99 #define MED_ALL    0
100
101 #if defined(SUN4SOL2) || defined(PCLINUX) || defined(OSF1_32) || defined(IRIX64_32) || defined(RS6000)
102 /* interface C/FORTRAN */
103 /* 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 ! */
104 #define NOMF_POST_UNDERSCORE 
105
106 /* correspondance des types avec HDF 5 */
107 typedef hsize_t        med_size;
108 typedef hssize_t       med_ssize;
109 typedef hid_t          med_idt;
110 typedef herr_t         med_err;
111
112 /* types elementaires */
113 typedef int            med_int;
114 typedef double         med_float;
115 #endif
116
117 #if defined(HP9000)
118 /* correspondance des types avec HDF 5 */
119 typedef hsize_t        med_size;
120 typedef hssize_t       med_ssize;
121 typedef hid_t          med_idt;
122 typedef herr_t         med_err;
123
124 /* types elementaires */
125 typedef int            med_int;
126 typedef double         med_float;
127 #endif
128
129 #if defined(IRIX64) || defined(OSF1) || defined(VPP5000)
130 #define NOMF_POST_UNDERSCORE
131
132 /* correspondance des types avec HDF 5 */
133 typedef hsize_t        med_size;
134 typedef hssize_t       med_ssize;
135 typedef hid_t          med_idt;
136 typedef herr_t         med_err;
137
138 /* types elementaires */
139 typedef long           med_int;
140 typedef double         med_float;
141 #endif
142
143
144 #if defined(PPRO_NT) 
145 /* correspondance des types avec HDF 5 */
146 typedef hsize_t        med_size;
147 typedef hssize_t       med_ssize;
148 typedef hid_t          med_idt;
149 typedef herr_t         med_err;
150
151 /* types elementaires */
152 typedef int            med_int;
153 typedef double         med_float;
154 #endif
155
156
157 #if defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
158 #   define NOMF(x)     _##x##_
159 #endif
160 #if defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
161 #   define NOMF(x)     _##x
162 #endif
163 #if !defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
164 #   define NOMF(x)     x##_
165 #endif
166 #if !defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
167 #   define NOMF(x)     x
168 #endif
169
170   //#include "med_proto.h"
171
172   }
173
174 // valeurs des algos de connexites
175 #define FRACT_ALGO 10
176 #define MAX_LOOP 200
177 // fin
178
179 // Valeurs de IO_MED
180 //#define READ 0
181 //#define WRITE 1
182
183
184 #define MED_CLOSED   0
185 #define MED_OPENED   1
186 #define MED_INVALID -1
187 #define MED_ERROR   -1
188 #define MED_VALID    0
189 //#define MED_NULL     NULL
190
191 #define MED_RDONLY MED_LECT
192   //   rem: MED_WRONLY=MED_ECR n'empêche malheureusement pas de lire le fichier
193   //   mais permet de conserver l'existant. Attention à la création d'objet 
194   //   ne prenant pas de paramètre de type mode d'accès il faut tester si il
195   //   est déjà présent dans le fichier. Si  MED_WRONLY=MED_REMP le fichier est
196   //   réinitialisé. Cf une évolution de MED.
197 #define MED_WRONLY MED_ECRI
198 #define MED_RDWR   MED_ECRI
199 // Fin
200
201 #define FAUX 0
202 #define VRAI 1
203 #define longueur_string 100
204 #define PRECISION 0.0000001
205 // #define undefined -1
206 #define UNDEFINED -1
207
208 // type des connectivites
209 //#define CONN_NOD 0
210 //#define CONN_DESC_PART 1
211 //#define CONN_DESC_TOT 2
212
213 // valeurs de type_interpolation
214 #define P1                 0
215 #define pseudo_P2          1
216 #define trilineaire        2
217 #define P2_adapte          3
218 #define VF_conservatif     4
219 #define VF_non_conservatif 5
220 // valeurs de type_mapping
221 #define connexite   0
222 #define conn_octree 1
223 #define brutal      2
224 // valeurs des type_support
225 #define support_noeud 0
226 #define support_maille 1
227 // retour des fonctions
228 #define OK 0
229 #define KO 1
230 // fin
231
232 }
233 // End Of NameSpace MED_EN
234
235
236 #endif /* DEFINE_HXX */
237