MED fichier
med_outils.h
Aller à la documentation de ce fichier.
1/* This file is part of MED.
2 *
3 * COPYRIGHT (C) 1999 - 2020 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_GRO "GRO"
47#define MED_NOM_ATT "ATT"
48#define MED_NOM_NCO "NCO"
49#define MED_NOM_DIM "DIM"
50#define MED_NOM_ESP "ESP"
51#define MED_NOM_FAM "FAM"
52#define MED_NOM_IDE "IDE"
53#define MED_NOM_VAL "VAL"
54#define MED_NOM_DES "DES"
55#define MED_NOM_COR "COR"
56#define MED_NOM_COO "COO"
57#define MED_NOM_TRF "TRF"
58#define MED_NOM_IN1 "IN1"
59#define MED_NOM_IN2 "IN2"
60#define MED_NOM_IN3 "IN3"
61#define MED_NOM_REP "REP"
62#define MED_NOM_UNI "UNI"
63#define MED_NOM_UNT "UNT"
64#define MED_NOM_NOD "NOD"
65#define MED_NOM_TYP "TYP"
66#define MED_NOM_GTY "GTY"
67#define MED_NOM_CO "CO"
69#define MED_NOM_NXT "NXT"
70#define MED_NOM_NXI "NXI"
71#define MED_NOM_PVT "PVT"
72#define MED_NOM_PVI "PVI"
73#define MED_NOM_CGT "CGT"
74#define MED_NOM_CGS "CGS"
75#define MED_NOM_SRT "SRT"
77/*Noms internes des types d'entités */
78#define MED_NOM_MAI "MAI"
79#define MED_NOM_FAC "FAC"
80#define MED_NOM_ARE "ARE"
81#define MED_NOM_NOE "NOE"
82#define MED_NOM_STR "STR"
83
84/*Noms internes des types géométriques */
85#define MED_NOM_PO1 "PO1"
86#define MED_NOM_SE2 "SE2"
87#define MED_NOM_SE3 "SE3"
88#define MED_NOM_SE4 "SE4"
89#define MED_NOM_TR3 "TR3"
90#define MED_NOM_QU4 "QU4"
91#define MED_NOM_TR6 "TR6"
92#define MED_NOM_TR7 "TR7"
93#define MED_NOM_QU8 "QU8"
94#define MED_NOM_QU9 "QU9"
95#define MED_NOM_TE4 "TE4"
96#define MED_NOM_PY5 "PY5"
97#define MED_NOM_PE6 "PE6"
98#define MED_NOM_HE8 "HE8"
99#define MED_NOM_T10 "T10"
100#define MED_NOM_O12 "O12"
101#define MED_NOM_P13 "P13"
102#define MED_NOM_P15 "P15"
103#define MED_NOM_P18 "P18"
104#define MED_NOM_H20 "H20"
105#define MED_NOM_H27 "H27"
107#define MED_NOM_POG "POG"
108#define MED_NOM_PO2 "PO2"
109#define MED_NOM_POE "POE"
111#define MED_NOM_TAI "TAI"
112#define MED_NOM_TTI "TTI"
113#define MED_NOM_IFN "IFN"
114#define MED_NOM_IFD "IFD"
115#define MED_NOM_INN "INN"
116#define MED_NOM_IND "IND"
118#define MED_NOM_LEN "LEN"
119#define MED_NOM_LAA "LAA"
120#define MED_NOM_LGC "LGC"
121#define MED_NOM_LCA "LCA"
122#define MED_NOM_LGF "LGF"
123#define MED_NOM_LFA "LFA"
124#define MED_NOM_LGE "LGE"
125#define MED_NOM_LEA "LEA"
126#define MED_NOM_LGN "LGN"
127#define MED_NOM_LNA "LNA"
128#define MED_NOM_LGT "LGT"
129#define MED_NOM_LTA "LTA"
130#define MED_NOM_LGS "LGS"
131#define MED_NOM_LSA "LSA"
133#define MED_NOM_GEO "GEO"
134#define MED_NOM_NEO "NEO"
135#define MED_NOM_ENT "ENT"
136#define MED_NOM_GED "GED"
137#define MED_NOM_END "END"
138#define MED_NOM_GAU "GAU"
139#define MED_NOM_NGA "NGA"
140#define MED_NOM_PFL "PFL"
141#define MED_NOM_PFU "PFU"
142#define MED_NOM_NDT "NDT"
143#define MED_NOM_RDT "RDT"
144#define MED_NOM_PDT "PDT"
145#define MED_NOM_NOR "NOR"
146#define MED_NOM_ROR "ROR"
147#define MED_NOM_LIE "LIE"
148#define MED_NOM_DOM "DOM"
149#define MED_NOM_GLB "GLB"
150#define MED_NOM_INM "INM"
151#define MED_NOM_NBV "NBV"
152#define MED_NOM_MDG "MDG"
153#define MED_NOM_MCF "NCF"
154#define MED_NOM_FCN "FCN"
155#define MED_NOM_COE "COE"
156#define MED_NOM_POW "POW"
158/* Nom du DATA GROUP CONTENANT TOUS LES MAILLAGES DU FICHIER HDF */
159#define MED_MESH_NAME "ENS_MAA"
160#define MED_MESH_GRP "/" MED_MESH_NAME "/"
161#define MED_MESH_GRP_SIZE 9
162
163/* Nom du DATA GROUP CONTENANT TOUS LES MAILLAGES SUPPORTS DU FICHIER HDF */
164#define MED_MESH_SUPPORT_GRP "/ENS_SUP_MAA/"
165#define MED_MESH_SUPPORT_GRP_SIZE 13
166
167/* Nom du DATA GROUP CONTENANT TOUS LES CHAMPS RESULTATS */
168#define MED_FIELD_NAME "CHA"
169#define MED_FIELD_GRP "/" MED_FIELD_NAME "/"
170#define MED_FIELD_GRP_SIZE 5
171
172/* Nom du DATA GROUP CONTENANT TOUS LES MODELES D'ELEMENTS DE STRUCTURE */
173#define MED_ELSTRUCT_NAME "STRUCT"
174#define MED_ELSTRUCT_GRP "/" MED_ELSTRUCT_NAME "/"
175#define MED_ELSTRUCT_GRP_SIZE 8
176
177/* Nom du DATA GROUP CONTENANT TOUTES LES FONCTIONS D'INTERPOLATIONS */
178#define MED_INTERPOLATION_NAME "INTERP"
179#define MED_INTERPOLATION_GRP "/" MED_INTERPOLATION_NAME "/"
180#define MED_INTERPOLATION_GRP_SIZE 8
181
182
183/* Nom du DATA GROUP CONTENANT LES FONCTIONS D'INTERPOLATIONS UTILISEES PAR LES CHAMPS */
184#define MED_CHA_INTERP "/CHA_INTERP/"
185#define MED_TAILLE_CHA_INTERP 12
186
187/* Nom du DATA GROUP CONTENANT LES ENTITES ET LES TYPES GEOMETRIQUES ASSOCIES UTILISES */
188#define MED_ENTITYTYPE_NAME "ENTITYP"
189#define MED_ENTITYTYPE_GRP "/" MED_ENTITYTYPE_NAME "/"
190#define MED_ENTITYTYPE_GRP_SIZE 9
191
192/* Nom du DATA GROUP CONTENANT TOUS LES ATTRIBUTS CONSTANTS D'ELEMENTS DE STRUCTURE */
193#define MED_CSTATR "/CSTATR/"
194#define MED_CSTATR_NOM "CSTATR"
195#define MED_TAILLE_CSTATR 8
196
197/* Nom du DATA GROUP CONTENANT TOUS LES ATTRIBUTS VARAIBLES D'ELEMENTS DE STRUCTURE */
198#define MED_VARATR "/VARATR/"
199#define MED_VARATR_NOM "VARATR"
200#define MED_TAILLE_VARATR 8
201
202/* Nom du DATA GROUP CONTENANT LES TRANSFORMATIONS GEOMETRIQUES APPLIQUEES AUX COORDONNEES */
203#define MED_COOTRF "/COOTRF/"
204#define MED_COOTRF_NOM "COOTRF"
205#define MED_TAILLE_COOTRF 8
206
207/* Nom du data group point de montage */
208#define MED_MNT "/MNT/"
209#define MED_TAILLE_MNT 5
210
211/* Nom du data group ou ranger les familles */
212#define MED_FAMILY_NAME "FAS"
213#define MED_FAMILY_GRP "/" MED_FAMILY_NAME "/"
214#define MED_FAMILY_GRP_SIZE 5
215
216#define FAMILLE_ZERO "FAMILLE_ZERO"
217#define MED_FAS_ZERO "/FAMILLE_ZERO/"
218#define MED_FAS_ZERO_NOM "FAMILLE_ZERO"
219#define MED_TAILLE_FAS_ZERO 14
220#define MED_FAS_NOEUD "/NOEUD/"
221#define MED_FAS_NOEUD_NOM "NOEUD"
222#define MED_FAS_ELEME "/ELEME/"
223#define MED_FAS_ELEME_NOM "ELEME"
224#define MED_TAILLE_FAS_ENTITE 7
225
226/* Nom du data group ou ranger les equivalences */
227#define MED_EQUIVALENCE_NAME "EQS"
228#define MED_EQUIVALENCE_GRP "/" MED_EQUIVALENCE_NAME "/"
229#define MED_EQUIVALENCE_GRP_SIZE 5
230
231/* Nom du data group contenant les profils */
232#define MED_PROFILE_NAME "PROFILS"
233#define MED_PROFILE_GRP "/" MED_PROFILE_NAME "/"
234#define MED_PROFILE_GRP_SIZE 9
235
236/* Nom du data group contenant la localisation des points de GAUSS */
237#define MED_LOCALIZATION_NAME "GAUSS"
238#define MED_LOCALIZATION_GRP "/" MED_LOCALIZATION_NAME "/"
239#define MED_LOCALIZATION_GRP_SIZE 7
240
241/* Nom du data group contenant les valeurs numeriques scalaires */
242#define MED_NUMERICAL_DATA_NAME "NUM_DATA"
243#define MED_NUMERICAL_DATA_GRP "/" MED_NUMERICAL_DATA_NAME "/"
244#define MED_NUMERICAL_DATA_GRP_SIZE 10
245
246/* Nom du data group contenant les liens */
247#define MED_LIENS "/LIENS/"
248#define MED_TAILLE_LIENS 7
249
250/* Nom du data group contenant les joints */
251#define MED_JOINT_NAME "JNT"
252#define MED_JOINT_GRP "/" MED_JOINT_NAME "/"
253#define MED_JOINT_GRP_SIZE 5
254
255/* Nom du data group contenant la version du fichier */
256#define MED_INFOS "/INFOS_GENERALES/"
257
258/*Pour eviter le bug solaris*/
259#ifndef __APPLE__
260#include <malloc.h>
261#endif
262
263/* Interface des routines du composant tools */
264#include <med_misc.h>
265#include <med_hdfi.h>
266#include <med_utils.h>
267
268#endif /* MED_OUTILS_H */