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