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