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