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 MED23V30_NUM_MAJEUR 2 
00036 #define MED23V30_NUM_MINEUR 3 
00037 #define MED23V30_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 {MED23V30_FULL_INTERLACE,
00056               MED23V30_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 {MED23V30_FLOAT64=6, MED23V30_INT32=24,MED23V30_INT64=26, MED23V30_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 {MED23V30_POINT1=1, MED23V30_SEG2=102, MED23V30_SEG3=103, MED23V30_TRIA3=203,
00090               MED23V30_QUAD4=204, MED23V30_TRIA6=206,MED23V30_QUAD8=208, MED23V30_TETRA4=304,
00091               MED23V30_PYRA5=305, MED23V30_PENTA6=306, MED23V30_HEXA8=308, MED23V30_TETRA10=310, 
00092               MED23V30_PYRA13=313, MED23V30_PENTA15=315, MED23V30_HEXA20=320, 
00093               MED23V30_POLYGONE=400, MED23V30_POLYEDRE=500, MED23V30_NONE=0} med_geometrie_element;
00094 
00095 typedef enum {MED_NOD, MED_DESC} med_connectivite ; 
00096 
00097 typedef enum {MED_CART, MED_CYL,MED_SPHER} med_repere; 
00098 
00099 typedef enum {MED_FAUX, MED_VRAI} med_booleen ; 
00100 
00101 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille; 
00102 
00103 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ; 
00104 
00105 typedef enum {MED23V30_HDF_VERSION, MED23V30_VERSION, MED23V30_FICH_DES} med23v30_fich_info; 
00106 
00107 #define MED_NOPG    1                   
00108 #define MED_NOGAUSS  ""                 
00109 #define MED_NOGAUSSi  MED_NOM_BLANC     
00110 #define MED_GAUSS_ELNO "MED_GAUSS_ELNO" 
00111               
00112 #define MED_NOPFL   ""                  
00113 #define MED_NOPFLi  MED_NOM_BLANC       
00114 #define MED_NOLIEN  ""
00115 #define MED_NOLIENi MED_NOM_BLANC      
00116 #define MED_NOPF   0                   
00117 #define MED_NOPDT -1                   
00118 #define MED_NONOR -1                   
00119 #define MED_DIM1   1                   
00120 #define MED_ALL    0
00121 #define MED_NOREF  ""
00122 #define MED_DEFAUT ""                  
00123 
00124 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info;
00125 
00126 
00127 
00128 
00129 
00130 
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00138 
00139 
00140 #include "2.3.6/med23v30_proto.h"
00141 
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145 
00146 #endif