MED fichier
med_outils.h
Aller à la documentation de ce fichier.
1 /* This file is part of MED.
2  *
3  * COPYRIGHT (C) 1999 - 2025 EDF R&D, CEA/DEN
4  * MED is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * MED is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with MED. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef MED_OUTILS_H
19 #define MED_OUTILS_H
20 #include <med.h>
21 #include "med_vargs.h"
22 
23 #define MAX(a,b) ((a) > (b) ? (a) : (b))
24 #define MIN(a,b) ((a) > (b) ? (b) : (a))
25 
26 #define MED_MAJOR_NAME "MAJ"
27 #define MED_MINOR_NAME "MIN"
28 #define MED_RELEASE_NAME "REL"
29 
30 #define MED_NOM_MAJEUR "MAJ"
31 #define MED_NOM_MINEUR "MIN"
32 #define MED_NOM_RELEASE "REL"
33 
34 #define MED_NOM_DESCRIPTEUR "descripteur de fichier"
35 #define MED_COMMENT_NAME MED_NOM_DESCRIPTEUR
36 
37 /* Noms des data sets ou attributs correspondant a des entites MED */
38 #define MED_TAILLE_NOM_ENTITE MED_NAME_SIZE
39 #define MED_NOM_NUM "NUM"
40 #define MED_NOM_NBR "NBR"
41 #define MED_NOM_NOM "NOM"
42 #define MED_NOM_UNV "UNV"
43 #define MED_NOM_NNS "NNS"
44 #define MED_NOM_NNM "NNM"
45 #define MED_NOM_NNI "NNI"
46 #define MED_NOM_ATT "ATT"
47 #define MED_NOM_NCO "NCO"
48 #define MED_NOM_DIM "DIM"
49 #define MED_NOM_ESP "ESP"
50 #define MED_NOM_FAM "FAM"
51 #define MED_NOM_IDE "IDE"
52 #define MED_NOM_VAL "VAL"
53 #define MED_NOM_DES "DES"
54 #define MED_NOM_COR "COR"
55 #define MED_NOM_COO "COO"
56 #define MED_NOM_TRF "TRF"
57 #define MED_NOM_IN1 "IN1"
58 #define MED_NOM_IN2 "IN2"
59 #define MED_NOM_IN3 "IN3"
60 #define MED_NOM_REP "REP"
61 #define MED_NOM_UNI "UNI"
62 #define MED_NOM_UNT "UNT"
63 #define MED_NOM_NOD "NOD"
64 #define MED_NOM_TYP "TYP"
65 #define MED_NOM_GTY "GTY"
66 #define MED_NOM_CO "CO"
68 #define MED_NOM_NXT "NXT"
69 #define MED_NOM_NXI "NXI"
70 #define MED_NOM_PVT "PVT"
71 #define MED_NOM_PVI "PVI"
72 #define MED_NOM_CGT "CGT"
73 #define MED_NOM_CGS "CGS"
74 #define MED_NOM_SRT "SRT"
76 /*Noms internes des types d'entités */
77 #define MED_NOM_MAI "MAI"
78 #define MED_NOM_FAC "FAC"
79 #define MED_NOM_ARE "ARE"
80 #define MED_NOM_NOE "NOE"
81 #define MED_NOM_STR "STR"
82 
83 /*Noms internes des types géométriques */
84 #define MED_NOM_PO1 "PO1"
85 #define MED_NOM_SE2 "SE2"
86 #define MED_NOM_SE3 "SE3"
87 #define MED_NOM_SE4 "SE4"
88 #define MED_NOM_TR3 "TR3"
89 #define MED_NOM_QU4 "QU4"
90 #define MED_NOM_TR6 "TR6"
91 #define MED_NOM_TR7 "TR7"
92 #define MED_NOM_QU8 "QU8"
93 #define MED_NOM_QU9 "QU9"
94 #define MED_NOM_TE4 "TE4"
95 #define MED_NOM_PY5 "PY5"
96 #define MED_NOM_PE6 "PE6"
97 #define MED_NOM_HE8 "HE8"
98 #define MED_NOM_T10 "T10"
99 #define MED_NOM_O12 "O12"
100 #define MED_NOM_P13 "P13"
101 #define MED_NOM_P15 "P15"
102 #define MED_NOM_P18 "P18"
103 #define MED_NOM_H20 "H20"
104 #define MED_NOM_H27 "H27"
106 #define MED_NOM_POG "POG"
107 #define MED_NOM_PO2 "PO2"
108 #define MED_NOM_POE "POE"
110 #define MED_NOM_TAI "TAI"
111 #define MED_NOM_TTI "TTI"
112 #define MED_NOM_IFN "IFN"
113 #define MED_NOM_IFD "IFD"
114 #define MED_NOM_INN "INN"
115 #define MED_NOM_IND "IND"
117 #define MED_NOM_LEN "LEN"
118 #define MED_NOM_LAA "LAA"
119 #define MED_NOM_LGC "LGC"
120 #define MED_NOM_LCA "LCA"
121 #define MED_NOM_LGF "LGF"
122 #define MED_NOM_LFA "LFA"
123 #define MED_NOM_LGE "LGE"
124 #define MED_NOM_LEA "LEA"
125 #define MED_NOM_LGN "LGN"
126 #define MED_NOM_LNA "LNA"
127 #define MED_NOM_LGT "LGT"
128 #define MED_NOM_LTA "LTA"
129 #define MED_NOM_LGS "LGS"
130 #define MED_NOM_LSA "LSA"
132 #define MED_NOM_GEO "GEO"
133 #define MED_NOM_NEO "NEO"
134 #define MED_NOM_ENT "ENT"
135 #define MED_NOM_GED "GED"
136 #define MED_NOM_END "END"
137 #define MED_NOM_GAU "GAU"
138 #define MED_NOM_NGA "NGA"
139 #define MED_NOM_PFL "PFL"
140 #define MED_NOM_PFU "PFU"
141 #define MED_NOM_NDT "NDT"
142 #define MED_NOM_RDT "RDT"
143 #define MED_NOM_PDT "PDT"
144 #define MED_NOM_NOR "NOR"
145 #define MED_NOM_ROR "ROR"
146 #define MED_NOM_LIE "LIE"
147 #define MED_NOM_DOM "DOM"
148 #define MED_NOM_GLB "GLB"
149 #define MED_NOM_INM "INM"
150 #define MED_NOM_NBV "NBV"
151 #define MED_NOM_MDG "MDG"
152 #define MED_NOM_MCF "NCF"
153 #define MED_NOM_FCN "FCN"
154 #define MED_NOM_COE "COE"
155 #define MED_NOM_POW "POW"
158 /* Nom du DATA GROUP CONTENANT TOUS LES OBJETS DU FICHIER HDF */
159 #define MED_FILE_NAME ""
160 #define MED_FILE_GRP "/"
161 #define MED_FILE_GRP_SIZE 1
162 
163 /* Nom du DATA GROUP CONTENANT TOUS LES MAILLAGES DU FICHIER HDF */
164 #define MED_MESH_NAME "ENS_MAA"
165 #define MED_MESH_GRP "/" MED_MESH_NAME "/"
166 #define MED_MESH_GRP_SIZE 9
167 
168 /* Nom du DATA GROUP CONTENANT TOUS LES MAILLAGES SUPPORTS DU FICHIER HDF */
169 #define MED_MESH_SUPPORT_GRP "/ENS_SUP_MAA/"
170 #define MED_MESH_SUPPORT_GRP_SIZE 13
171 
172 /* Nom du DATA GROUP CONTENANT TOUS LES CHAMPS RESULTATS */
173 #define MED_FIELD_NAME "CHA"
174 #define MED_FIELD_GRP "/" MED_FIELD_NAME "/"
175 #define MED_FIELD_GRP_SIZE 5
176 
177 /* Nom du DATA GROUP CONTENANT TOUS LES MODELES D'ELEMENTS DE STRUCTURE */
178 #define MED_ELSTRUCT_NAME "STRUCT"
179 #define MED_ELSTRUCT_GRP "/" MED_ELSTRUCT_NAME "/"
180 #define MED_ELSTRUCT_GRP_SIZE 8
181 
182 /* Nom du DATA GROUP CONTENANT TOUTES LES FONCTIONS D'INTERPOLATIONS */
183 #define MED_INTERPOLATION_NAME "INTERP"
184 #define MED_INTERPOLATION_GRP "/" MED_INTERPOLATION_NAME "/"
185 #define MED_INTERPOLATION_GRP_SIZE 8
186 
187 
188 /* Nom du DATA GROUP CONTENANT LES FONCTIONS D'INTERPOLATIONS UTILISEES PAR LES CHAMPS */
189 #define MED_CHA_INTERP "/CHA_INTERP/"
190 #define MED_TAILLE_CHA_INTERP 12
191 
192 /* Nom du DATA GROUP CONTENANT LES ENTITES ET LES TYPES GEOMETRIQUES ASSOCIES UTILISES */
193 #define MED_ENTITYTYPE_NAME "ENTITYP"
194 #define MED_ENTITYTYPE_GRP "/" MED_ENTITYTYPE_NAME "/"
195 #define MED_ENTITYTYPE_GRP_SIZE 9
196 
197 /* Nom du DATA GROUP CONTENANT TOUS LES ATTRIBUTS CONSTANTS D'ELEMENTS DE STRUCTURE */
198 #define MED_CSTATR "/CSTATR/"
199 #define MED_CSTATR_NOM "CSTATR"
200 #define MED_TAILLE_CSTATR 8
201 
202 /* Nom du DATA GROUP CONTENANT TOUS LES ATTRIBUTS VARAIBLES D'ELEMENTS DE STRUCTURE */
203 #define MED_VARATR "/VARATR/"
204 #define MED_VARATR_NOM "VARATR"
205 #define MED_TAILLE_VARATR 8
206 
207 /* Nom du DATA GROUP CONTENANT LES TRANSFORMATIONS GEOMETRIQUES APPLIQUEES AUX COORDONNEES */
208 #define MED_COOTRF "/COOTRF/"
209 #define MED_COOTRF_NOM "COOTRF"
210 #define MED_TAILLE_COOTRF 8
211 
212 /* NOM DU DATA GROUP POINT DE MONTAGE */
213 #define MED_MNT "/MNT/"
214 #define MED_TAILLE_MNT 5
215 
216 /* NOM DU DATA GROUP OU RANGER LES FAMILLES */
217 #define MED_FAMILY_NAME "FAS"
218 #define MED_FAMILY_GRP "/" MED_FAMILY_NAME "/"
219 #define MED_FAMILY_GRP_SIZE 5
220 
221 #define FAMILLE_ZERO "FAMILLE_ZERO"
222 #define FAMILY_ZERO FAMILLE_ZERO
223 /* DEPRECATED NAME DEBUT */
224 #define MED_FAS_ZERO_NOM FAMILLE_ZERO
225 #define MED_FAS_ZERO "/" FAMILY_ZERO "/"
226 #define MED_TAILLE_FAS_ZERO 14
227 /* DEPRECATED NAME FIN */
228 #define MED_FAMILY_ZERO_NAME FAMILLE_ZERO
229 #define MED_FAMILY_ZERO_GRP "/" FAMILY_ZERO "/"
230 #define MED_FAMILY_ZERO_GRP_SIZE 14
231 
232 /* DEPRECATED NAME DEBUT */
233 #define MED_FAS_NOEUD "/NOEUD/"
234 #define MED_FAS_NOEUD_NOM "NOEUD"
235 /* DEPRECATED NAME FIN */
236 #define MED_FAMILY_NODE_NAME "NOEUD"
237 #define MED_FAMILY_NODE_GRP "/" MED_FAMILY_NODE_NAME "/"
238 #define MED_FAMILY_NODE_GRP_SIZE 7
239 
240 /* DEPRECATED NAME DEBUT */
241 #define MED_FAS_ELEME "/ELEME/"
242 #define MED_FAS_ELEME_NOM "ELEME"
243 #define MED_TAILLE_FAS_ENTITE 7
244 /* DEPRECATED NAME FIN */
245 #define MED_FAMILY_ELEM_NAME "ELEME"
246 #define MED_FAMILY_ELEM_GRP "/" MED_FAMILY_ELEM_NAME "/"
247 #define MED_FAMILY_ELEM_GRP_SIZE 7
248 
249 /* DEPRECATED NAME DEBUT */
250 #define MED_NOM_GRO "GRO"
251 /* DEPRECATED NAME FIN */
252 
253 #define MED_GROUP_NAME MED_NOM_GRO
254 #define MED_GROUP_GRP "/" MED_GROUP_NAME "/"
255 #define MED_GROUP_GRP_SIZE 5
256 
257 /* Nom du data group ou ranger les equivalences */
258 #define MED_EQUIVALENCE_NAME "EQS"
259 #define MED_EQUIVALENCE_GRP "/" MED_EQUIVALENCE_NAME "/"
260 #define MED_EQUIVALENCE_GRP_SIZE 5
261 
262 /* Nom du data group contenant les profils */
263 #define MED_PROFILE_NAME "PROFILS"
264 #define MED_PROFILE_GRP "/" MED_PROFILE_NAME "/"
265 #define MED_PROFILE_GRP_SIZE 9
266 
267 /* Nom du data group contenant la localisation des points de GAUSS */
268 #define MED_LOCALIZATION_NAME "GAUSS"
269 #define MED_LOCALIZATION_GRP "/" MED_LOCALIZATION_NAME "/"
270 #define MED_LOCALIZATION_GRP_SIZE 7
271 
272 /* Nom du data group contenant les valeurs numeriques scalaires */
273 #define MED_NUMERICAL_DATA_NAME "NUM_DATA"
274 #define MED_NUMERICAL_DATA_GRP "/" MED_NUMERICAL_DATA_NAME "/"
275 #define MED_NUMERICAL_DATA_GRP_SIZE 10
276 
277 /* Nom du data group contenant les liens */
278 #define MED_LIENS "/LIENS/"
279 #define MED_TAILLE_LIENS 7
280 
281 /* Nom du data group contenant les joints */
282 #define MED_JOINT_NAME "JNT"
283 #define MED_JOINT_GRP "/" MED_JOINT_NAME "/"
284 #define MED_JOINT_GRP_SIZE 5
285 
286 /* Nom du data group contenant la version du fichier */
287 #define MED_INFOS "/INFOS_GENERALES/"
288 
289 /*Pour eviter le bug solaris*/
290 #ifndef __APPLE__
291 #include <malloc.h>
292 #endif
293 
294 /* Interface des routines du composant tools */
295 #include <med_misc.h>
296 #include <med_hdfi.h>
297 #include <med_utils.h>
298 
299 #endif /* MED_OUTILS_H */
med_hdfi.h
med_vargs.h
med_utils.h
med.h
med_misc.h