1 /* This file is part of MED. 2 * 3 * COPYRIGHT (C) 1999 - 2019 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 25 #define MED_MAJOR_NAME "MAJ" 26 #define MED_MINOR_NAME "MIN" 27 #define MED_RELEASE_NAME "REL" 28 29 #define MED_NOM_MAJEUR "MAJ" 30 #define MED_NOM_MINEUR "MIN" 31 #define MED_NOM_RELEASE "REL" 32 33 #define MED_NOM_DESCRIPTEUR "descripteur de fichier" 34 #define MED_COMMENT_NAME MED_NOM_DESCRIPTEUR 35 36 /* Noms des data sets ou attributs correspondant a des entites MED */ 37 #define MED_TAILLE_NOM_ENTITE MED_NAME_SIZE 38 #define MED_NOM_NUM "NUM" 39 #define MED_NOM_NBR "NBR" 40 #define MED_NOM_NOM "NOM" 41 #define MED_NOM_UNV "UNV" 42 #define MED_NOM_NNS "NNS" 43 #define MED_NOM_NNM "NNM" 44 #define MED_NOM_NNI "NNI" 45 #define MED_NOM_GRO "GRO" 46 47 #define MED_NOM_ATR "ATR" 48 #define MED_NOM_ATT "ATT" 49 50 #define MED_NOM_NCO "NCO" 51 #define MED_NOM_DIM "DIM" 52 #define MED_NOM_ESP "ESP" 53 #define MED_NOM_FAM "FAM" 54 #define MED_NOM_IDE "IDE" 55 #define MED_NOM_VAL "VAL" 56 #define MED_NOM_DES "DES" 57 #define MED_NOM_COR "COR" 58 #define MED_NOM_DIM "DIM" 59 #define MED_NOM_COO "COO" 60 #define MED_NOM_TRF "TRF" 61 #define MED_NOM_IN1 "IN1" 62 #define MED_NOM_IN2 "IN2" 63 #define MED_NOM_IN3 "IN3" 64 #define MED_NOM_REP "REP" 65 #define MED_NOM_UNI "UNI" 66 #define MED_NOM_UNT "UNT" 67 #define MED_NOM_NOD "NOD" 68 #define MED_NOM_TYP "TYP" 69 #define MED_NOM_GTY "GTY" 70 #define MED_NOM_CO "CO" 71 #define MED_NOM_NCW "NCW" 72 #define MED_NOM_TYW "TYW" 73 #define MED_NOM_NXT "NXT" 74 #define MED_NOM_NXI "NXI" 75 #define MED_NOM_PVT "PVT" 76 #define MED_NOM_PVI "PVI" 77 #define MED_NOM_CGT "CGT" 78 #define MED_NOM_CGS "CGS" 79 #define MED_NOM_SRT "SRT" 80 81 #define MED_NOM_MAI "MAI" 82 #define MED_NOM_FAC "FAC" 83 #define MED_NOM_ARE "ARE" 84 #define MED_NOM_NOE "NOE" 85 #define MED_NOM_STR "STR" 86 87 #define MED_NOM_PO1 "PO1" 88 #define MED_NOM_SE2 "SE2" 89 #define MED_NOM_SE3 "SE3" 90 #define MED_NOM_SE4 "SE4" 91 #define MED_NOM_TR3 "TR3" 92 #define MED_NOM_TR6 "TR6" 93 #define MED_NOM_TR7 "TR7" 94 #define MED_NOM_QU4 "QU4" 95 #define MED_NOM_QU8 "QU8" 96 #define MED_NOM_QU9 "QU9" 97 #define MED_NOM_TE4 "TE4" 98 #define MED_NOM_T10 "T10" 99 #define MED_NOM_O12 "O12" 100 #define MED_NOM_HE8 "HE8" 101 #define MED_NOM_H20 "H20" 102 #define MED_NOM_H27 "H27" 103 #define MED_NOM_PE6 "PE6" 104 #define MED_NOM_P15 "P15" 105 #define MED_NOM_P18 "P18" 106 #define MED_NOM_PY5 "PY5" 107 #define MED_NOM_P13 "P13" 108 109 #define MED_NOM_TAI "TAI" 110 #define MED_NOM_TTI "TTI" 111 #define MED_NOM_IFN "IFN" 112 #define MED_NOM_IFD "IFD" 113 #define MED_NOM_INN "INN" 114 #define MED_NOM_IND "IND" 115 #define MED_NOM_POG "POG" 116 #define MED_NOM_PO2 "PO2" 117 #define MED_NOM_POE "POE" 118 119 #define MED_NOM_GEO "GEO" 120 #define MED_NOM_NEO "NEO" 121 #define MED_NOM_ENT "ENT" 122 #define MED_NOM_GED "GED" 123 #define MED_NOM_END "END" 124 #define MED_NOM_GAU "GAU" 125 #define MED_NOM_NGA "NGA" 126 #define MED_NOM_PFL "PFL" 127 #define MED_NOM_PFU "PFU" 128 #define MED_NOM_NDT "NDT" 129 #define MED_NOM_RDT "RDT" 130 #define MED_NOM_PDT "PDT" 131 #define MED_NOM_NOR "NOR" 132 #define MED_NOM_ROR "ROR" 133 #define MED_NOM_LIE "LIE" 134 135 #define MED_NOM_DOM "DOM" 136 #define MED_NOM_GLB "GLB" 137 138 /* #define MED_NOM_NBN "NBN" */ 139 /* #define MED_NOM_NBM "NBM" */ 140 141 #define MED_NOM_PRM "PRM" 142 143 /* #define MED_NOM_NBB "NBB" */ 144 #define MED_NOM_INM "INM" 145 #define MED_NOM_NBV "NBV" 146 #define MED_NOM_MDG "MDG" 147 #define MED_NOM_MCF "NCF" 148 #define MED_NOM_FCN "FCN" 149 #define MED_NOM_COE "COE" 150 #define MED_NOM_POW "POW" 151 152 /* #define MED_NOM_NAV "NAV" */ 153 /* #define MED_NOM_NAC "NAC" */ 154 155 /* Nom du DATA GROUP CONTENANT TOUS LES MAILLAGES DU FICHIER HDF */ 156 #define MED_MESH_NAME "ENS_MAA" 157 #define MED_MESH_GRP "/" MED_MESH_NAME "/" 158 #define MED_MESH_GRP_SIZE 9 159 160 /* Nom du DATA GROUP CONTENANT TOUS LES MAILLAGES SUPPORTS DU FICHIER HDF */ 161 #define MED_MESH_SUPPORT_GRP "/ENS_SUP_MAA/" 162 #define MED_MESH_SUPPORT_GRP_SIZE 13 163 164 /* Nom du DATA GROUP CONTENANT TOUS LES CHAMPS RESULTATS */ 165 #define MED_FIELD_NAME "CHA" 166 #define MED_FIELD_GRP "/" MED_FIELD_NAME "/" 167 #define MED_FIELD_GRP_SIZE 5 168 169 /* Nom du DATA GROUP CONTENANT TOUS LES MODELES D'ELEMENTS DE STRUCTURE */ 170 #define MED_ELSTRUCT_NAME "STRUCT" 171 #define MED_ELSTRUCT_GRP "/" MED_ELSTRUCT_NAME "/" 172 #define MED_ELSTRUCT_GRP_SIZE 8 173 174 /* Nom du DATA GROUP CONTENANT TOUTES LES FONCTIONS D'INTERPOLATIONS */ 175 #define MED_INTERPOLATION_NAME "INTERP" 176 #define MED_INTERPOLATION_GRP "/" MED_INTERPOLATION_NAME "/" 177 #define MED_INTERPOLATION_GRP_SIZE 8 178 179 /* Nom du DATA GROUP CONTENANT LES FONCTIONS D'INTERPOLATIONS UTILISEES PAR LES CHAMPS */ 180 #define MED_CHA_INTERP "/CHA_INTERP/" 181 #define MED_TAILLE_CHA_INTERP 12 182 183 /* Nom du DATA GROUP CONTENANT TOUS LES ATTRIBUTS CONSTANTS D'ELEMENTS DE STRUCTURE */ 184 #define MED_CSTATR "/CSTATR/" 185 #define MED_CSTATR_NOM "CSTATR" 186 #define MED_TAILLE_CSTATR 8 187 188 /* Nom du DATA GROUP CONTENANT TOUS LES ATTRIBUTS VARAIBLES D'ELEMENTS DE STRUCTURE */ 189 #define MED_VARATR "/VARATR/" 190 #define MED_VARATR_NOM "VARATR" 191 #define MED_TAILLE_VARATR 8 192 193 /* Nom du DATA GROUP CONTENANT LES TRANSFORMATIONS GEOMETRIQUES APPLIQUEES AUX COORDONNEES */ 194 #define MED_COOTRF "/COOTRF/" 195 #define MED_COOTRF_NOM "COOTRF" 196 #define MED_TAILLE_COOTRF 8 197 198 /* Nom du data group point de montage */ 199 #define MED_MNT "/MNT/" 200 #define MED_TAILLE_MNT 5 201 202 /* Nom du data group ou ranger les familles */ 203 #define MED_FAMILY_NAME "FAS" 204 #define MED_FAMILY_GRP "/" MED_FAMILY_NAME "/" 205 #define MED_FAMILY_GRP_SIZE 5 206 207 #define FAMILLE_ZERO "FAMILLE_ZERO" 208 #define MED_FAS_ZERO "/FAMILLE_ZERO/" 209 #define MED_FAS_ZERO_NOM "FAMILLE_ZERO" 210 #define MED_TAILLE_FAS_ZERO 14 211 #define MED_FAS_NOEUD "/NOEUD/" 212 #define MED_FAS_NOEUD_NOM "NOEUD" 213 #define MED_FAS_ELEME "/ELEME/" 214 #define MED_FAS_ELEME_NOM "ELEME" 215 #define MED_TAILLE_FAS_ENTITE 7 216 217 /* Nom du data group ou ranger les equivalences */ 218 #define MED_EQUIVALENCE_NAME "EQS" 219 #define MED_EQUIVALENCE_GRP "/" MED_EQUIVALENCE_NAME "/" 220 #define MED_EQUIVALENCE_GRP_SIZE 5 221 222 /* Nom du data group contenant les profils */ 223 #define MED_PROFILE_NAME "PROFILS" 224 #define MED_PROFILE_GRP "/" MED_PROFILE_NAME "/" 225 #define MED_PROFILE_GRP_SIZE 9 226 227 /* Nom du data group contenant la localisation des points de GAUSS */ 228 #define MED_LOCALIZATION_NAME "GAUSS" 229 #define MED_LOCALIZATION_GRP "/" MED_LOCALIZATION_NAME "/" 230 #define MED_LOCALIZATION_GRP_SIZE 7 231 232 /* Nom du data group contenant les valeurs numeriques scalaires */ 233 #define MED_NUMERICAL_DATA_NAME "NUM_DATA" 234 #define MED_NUMERICAL_DATA_GRP "/" MED_NUMERICAL_DATA_NAME "/" 235 #define MED_NUMERICAL_DATA_GRP_SIZE 10 236 237 /* Nom du data group contenant les liens */ 238 #define MED_LIENS "/LIENS/" 239 #define MED_TAILLE_LIENS 7 240 241 /* Nom du data group contenant les joints */ 242 #define MED_JOINT_NAME "JNT" 243 #define MED_JOINT_GRP "/" MED_JOINT_NAME "/" 244 #define MED_JOINT_GRP_SIZE 5 245 246 /* Nom du data group contenant la version du fichier */ 247 #define MED_INFOS "/INFOS_GENERALES/" 248 249 /*Pour eviter le bug solaris*/ 250 #ifndef __APPLE__ 251 #include <malloc.h> 252 #endif 253 254 /* Interface des routines du composant tools */ 255 #include <med_misc.h> 256 #include <med_hdfi.h> 257 #include <med_utils.h> 258 259 #endif /* MED_OUTILS_H */ 260