1 // MED MEDMEM : MED files in memory
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : MEDMEM_define.hxx
35 // UTILE AUX DEUX NAMESPACES
41 # include <med_proto.h>
49 #define MED_NULL (void *) NULL
50 #define MED_MAX_PARA 20
52 #define MED_TAILLE_DESC 200
53 #define MED_TAILLE_IDENT 8
54 #define MED_TAILLE_NOM 32
55 #define MED_TAILLE_LNOM 80
56 #define MED_TAILLE_PNOM 8
58 typedef enum {MED_CARTESIAN, MED_POLAR, MED_BODY_FITTED} med_grid_type;
60 typedef enum {MED_FULL_INTERLACE,
61 MED_NO_INTERLACE} medModeSwitch;
63 typedef enum {MED_LECT,MED_ECRI,MED_REMP} med_mode_acces;
65 typedef enum {MED_CELL, MED_FACE, MED_EDGE, MED_NODE, MED_ALL_ENTITIES} medEntityMesh;
67 typedef enum {MED_COOR, MED_CONN, MED_NOM, MED_NUM, MED_FAM} med_table;
69 typedef enum {MED_REEL64=6, MED_INT32=24,MED_INT64=26, MED_INT} med_type_champ;
71 #define MED_NBR_GEOMETRIE_MAILLE 15
72 #define MED_NBR_GEOMETRIE_FACE 4
73 #define MED_NBR_GEOMETRIE_ARETE 2
74 typedef enum {MED_NONE=0, MED_POINT1=1, MED_SEG2=102, MED_SEG3=103, MED_TRIA3=203,
75 MED_QUAD4=204, MED_TRIA6=206,MED_QUAD8=208, MED_TETRA4=304,
76 MED_PYRA5=305, MED_PENTA6=306, MED_HEXA8=308, MED_TETRA10=310,
77 MED_PYRA13=313, MED_PENTA15=315, MED_HEXA20=320, MED_ALL_ELEMENTS=999}
80 typedef enum {MED_NODAL, MED_DESCENDING} medConnectivity ;
82 typedef enum {MED_CART, MED_CYL, MED_SPHER} med_repere;
84 typedef enum {MED_FAUX, MED_VRAI} med_booleen ;
86 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille;
88 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ;
90 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info;
92 #define MED_NOPG 1 /* -> pas de point de Gauss */
93 #define MED_NOPFL "" /* -> pas de profils utilisateur */
94 #define MED_NOPFLi " " /* Variable Interne */
95 #define MED_NOPF 0 /* -> pas de profils pour _MEDdataseNnumEcrire */
96 #define MED_NOPDT -1 /* rem: pas de pas de temps negatifs */
97 #define MED_NONOR -1 /* rem: pas de n°ordre negatif */
98 #define MED_DIM1 1 /* PAS */
99 //#define MED_ALL 0 !!!!! NB: WARNING MED_ALL deja utilise dans l'enum medGeometryElement !!!!!!!!
102 #if defined(SUN4SOL2) || defined(PCLINUX) || defined(OSF1) || defined(IRIX64_32) || defined(RS6000)
103 /* interface C/FORTRAN */
104 /* 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 ! */
105 #define NOMF_POST_UNDERSCORE
107 /* correspondance des types avec HDF 5 */
108 typedef hsize_t med_size;
109 typedef hssize_t med_ssize;
110 typedef hid_t med_idt;
111 typedef herr_t med_err;
113 /* types elementaires */
115 typedef double med_float;
119 /* correspondance des types avec HDF 5 */
120 typedef hsize_t med_size;
121 typedef hssize_t med_ssize;
122 typedef hid_t med_idt;
123 typedef herr_t med_err;
125 /* types elementaires */
127 typedef double med_float;
131 #define NOMF_POST_UNDERSCORE
133 /* correspondance des types avec HDF 5 */
134 typedef hsize_t med_size;
135 typedef hssize_t med_ssize;
136 typedef hid_t med_idt;
137 typedef herr_t med_err;
139 /* types elementaires */
140 typedef long med_int;
141 typedef double med_float;
146 /* correspondance des types avec HDF 5 */
147 typedef hsize_t med_size;
148 typedef hssize_t med_ssize;
149 typedef hid_t med_idt;
150 typedef herr_t med_err;
152 /* types elementaires */
154 typedef double med_float;
158 #if defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
159 # define NOMF(x) _##x##_
161 #if defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
162 # define NOMF(x) _##x
164 #if !defined(NOMF_PRE_UNDERSCORE) && defined(NOMF_POST_UNDERSCORE)
165 # define NOMF(x) x##_
167 #if !defined(NOMF_PRE_UNDERSCORE) && !defined(NOMF_POST_UNDERSCORE)
171 //#include "med_proto.h"
175 // valeurs des algos de connexites
176 #define FRACT_ALGO 10
187 #define MED_INVALID -1
190 //#define MED_NULL NULL
192 #define MED_RDONLY MED_LECT
193 // rem: MED_WRONLY=MED_ECR n'empêche malheureusement pas de lire le fichier
194 // mais permet de conserver l'existant. Attention à la création d'objet
195 // ne prenant pas de paramètre de type mode d'accès il faut tester si il
196 // est déjà présent dans le fichier. Si MED_WRONLY=MED_REMP le fichier est
197 // réinitialisé. Cf une évolution de MED.
198 #define MED_WRONLY MED_ECRI
199 #define MED_RDWR MED_ECRI
204 #define longueur_string 100
205 #define PRECISION 0.0000001
206 // #define undefined -1
209 // type des connectivites
211 //#define CONN_DESC_PART 1
212 //#define CONN_DESC_TOT 2
214 // valeurs de type_interpolation
217 #define trilineaire 2
219 #define VF_conservatif 4
220 #define VF_non_conservatif 5
221 // valeurs de type_mapping
223 #define conn_octree 1
225 // valeurs des type_support
226 #define support_noeud 0
227 #define support_maille 1
228 // retour des fonctions
234 // End Of NameSpace MED_EN
237 #endif /* DEFINE_HXX */