00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MED23_H
00019 #define MED23_H
00020
00021 #include <hdf5.h>
00022
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00027 #define HDF5_VERSION (H5_VERS_MAJOR * 10000 + H5_VERS_MINOR * 100 + H5_VERS_RELEASE )
00028 #if HDF5_VERSION < 10607
00029 #define HDF5_SELECT_BUG (const hsize_t **)
00030 #else
00031 #define HDF5_SELECT_BUG
00032 #endif
00033
00034
00035 #define MED_NUM_MAJEUR 2
00036 #define MED_NUM_MINEUR 3
00037 #define MED_NUM_RELEASE 6
00038
00039 #define MED_NULL (void *) NULL
00040 #define MED_MAX_PARA 20
00041
00042 #define MED_TAILLE_DESC 200
00043 #define MED_TAILLE_IDENT 8
00044 #define MED_TAILLE_NOM 32
00045 #define MED_TAILLE_LNOM 80
00046 #define MED_TAILLE_PNOM 16
00047
00048 #define MED_PNOM_BLANC " "
00049 #define MED_NOM_BLANC " "
00050
00051
00052
00053
00054
00055 typedef enum {MED_FULL_INTERLACE,
00056 MED_NO_INTERLACE} med_mode_switch;
00057
00058 typedef enum {MED_NO_PFLMOD,
00059 MED_GLOBAL,
00060 MED_COMPACT } med_mode_profil;
00061
00062 typedef enum {MED_PFL_NON_COMPACT, MED_PFL_COMPACT} med_lecture_profil;
00063
00064
00065
00066
00067
00068
00069
00070
00071 typedef enum {MED_LECTURE, MED_LECTURE_ECRITURE,
00072 MED_LECTURE_AJOUT, MED_CREATION, MED_UNDEF_MODE_ACCES} med_mode_acces;
00073
00074 typedef enum {MED_NON_STRUCTURE, MED_STRUCTURE} med_maillage;
00075
00076 typedef enum {MED_GRILLE_CARTESIENNE, MED_GRILLE_POLAIRE, MED_GRILLE_STANDARD} med_type_grille;
00077
00078 typedef enum {MED_MAILLE, MED_FACE, MED_ARETE, MED_NOEUD, MED_NOEUD_MAILLE } med_entite_maillage;
00079
00080 typedef enum {MED_COOR, MED_CONN, MED_NOM, MED_NUM, MED_FAM,MED_COOR_IND1,MED_COOR_IND2,MED_COOR_IND3} med_table;
00081
00082 typedef enum {MED_FLOAT64=6, MED_INT32=24,MED_INT64=26, MED_INT=28} med_type_champ;
00083
00084 typedef enum {MED_MAILLAGE,MED_CHAMP} med_type_donnee;
00085
00086 #define MED_NBR_GEOMETRIE_MAILLE 15
00087 #define MED_NBR_GEOMETRIE_FACE 4
00088 #define MED_NBR_GEOMETRIE_ARETE 2
00089 typedef enum {MED_POINT1=1, MED_SEG2=102, MED_SEG3=103, MED_TRIA3=203,
00090 MED_QUAD4=204, MED_TRIA6=206,MED_QUAD8=208, MED_TETRA4=304,
00091 MED_PYRA5=305, MED_PENTA6=306, MED_HEXA8=308, MED_TETRA10=310,
00092 MED_PYRA13=313, MED_PENTA15=315, MED_HEXA20=320,
00093 MED_POLYGONE=400, MED_POLYGONE2=420, MED_POLYEDRE=500, MED_NONE=0,
00094 MED_SEG4=104, MED_TRIA7=207,MED_QUAD9=209,MED_OCTA12=312,MED_HEXA27=327
00095 } med_geometrie_element;
00096
00097
00098
00099
00100
00101 typedef enum {MED_NOD, MED_DESC} med_connectivite ;
00102
00103 typedef enum {MED_CART, MED_CYL,MED_SPHER} med_repere;
00104
00105 typedef enum {MED_FAUX, MED_VRAI} med_booleen ;
00106
00107 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille;
00108
00109 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ;
00110
00111 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info;
00112
00113 #define MED_NOPG 1
00114 #define MED_NOGAUSS ""
00115 #define MED_NOGAUSSi MED_NOM_BLANC
00116 #define MED_GAUSS_ELNO "MED_GAUSS_ELNO"
00117
00118 #define MED_NOPFL ""
00119 #define MED_NOPFLi MED_NOM_BLANC
00120 #define MED_NOLIEN ""
00121 #define MED_NOLIENi MED_NOM_BLANC
00122 #define MED_NOPF 0
00123 #define MED_NOPDT -1
00124 #define MED_NONOR -1
00125 #define MED_DIM1 1
00126 #define MED_ALL 0
00127 #define MED_NOREF ""
00128 #define MED_DEFAUT ""
00129
00130
00131
00132 typedef hsize_t med_size;
00133 typedef hssize_t med_ssize;
00134 typedef hid_t med_idt;
00135 typedef herr_t med_err;
00136
00137
00138
00139 typedef double med_float;
00140
00141 typedef int med_int;
00142
00143 #include "med_proto.h"
00144
00145 extern MEDC_EXPORT char * MED_ENTITE_MAILLAGE_AFF[5];
00146
00147 extern MEDC_EXPORT char * MED_GEOMETRIE_MAILLE_AFF[MED_NBR_GEOMETRIE_MAILLE+2];
00148 extern MEDC_EXPORT char * MED_GEOMETRIE_FACE_AFF[MED_NBR_GEOMETRIE_FACE+1];
00149 extern MEDC_EXPORT char * MED_GEOMETRIE_ARETE_AFF[MED_NBR_GEOMETRIE_ARETE];
00150 extern MEDC_EXPORT char * MED_GEOMETRIE_NOEUD_AFF[1];
00151
00152 #ifdef __cplusplus
00153 }
00154 #endif
00155
00156 #endif