Back to index

salome-med  6.5.0
med.hxx
Go to the documentation of this file.
00001 /*************************************************************************
00002 * COPYRIGHT (C) 1999 - 2003  EDF R&D
00003 * THIS LIBRARY IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
00004 * IT UNDER THE TERMS OF THE GNU LESSER GENERAL PUBLIC LICENSE 
00005 * AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION; 
00006 * EITHER VERSION 2.1 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
00007 *
00008 * THIS LIBRARY IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
00009 * WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
00010 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
00011 * LESSER GENERAL PUBLIC LICENSE FOR MORE DETAILS.
00012 *
00013 * YOU SHOULD HAVE RECEIVED A COPY OF THE GNU LESSER GENERAL PUBLIC LICENSE
00014 * ALONG WITH THIS LIBRARY; IF NOT, WRITE TO THE FREE SOFTWARE FOUNDATION,
00015 * INC., 59 TEMPLE PLACE, SUITE 330, BOSTON, MA 02111-1307 USA
00016 *
00017 *************************************************************************/
00018 
00019 #ifndef MED_H
00020 #define MED_H
00021 
00022 
00023 #include <hdf5.h>
00024 
00025 namespace med_2_1{
00026   
00027 
00028 #define MED_NULL       (void *) NULL
00029 #define MED_MAX_PARA        20
00030 
00031 #define MED_TAILLE_DESC 200
00032 #define MED_TAILLE_IDENT  8
00033 #define MED_TAILLE_NOM   32
00034 #define MED_TAILLE_LNOM  80    
00035 #define MED_TAILLE_PNOM   8
00036 
00037 /* Integration des developpements OCC */
00038 typedef enum {MED_CARTESIAN, MED_POLAR, MED_BODY_FITTED} med_grid_type;
00039 
00040 typedef enum {MED_GRID_D1=0, MED_GRID_D2=1, MED_GRID_D3=2,
00041               MED_GRID_NOEUD=3,
00042               MED_FAM_NOEUD=4, MED_FAM_ARETE=5, MED_FAM_FACE=6, MED_FAM_MAILLE=7 } med_grid;
00043 
00044 /* Fin de l'integration*/
00045 
00046 typedef enum {MED_FULL_INTERLACE,
00047               MED_NO_INTERLACE}  med_mode_switch; 
00048 
00049 typedef enum {MED_GLOBALE,
00050               MED_COMPACT }  med_mode_profil; 
00051 
00052 typedef enum {MED_LECT,MED_ECRI,MED_REMP} med_mode_acces; 
00053 
00054 typedef enum {MED_MAILLE, MED_FACE, MED_ARETE, MED_NOEUD} med_entite_maillage; 
00055 
00056 typedef enum {MED_COOR, MED_CONN, MED_NOM, MED_NUM, MED_FAM} med_table;
00057 
00058 typedef enum {MED_REEL64=6, MED_INT32=24,MED_INT64=26, MED_INT} med_type_champ;
00059 
00060 #define MED_NBR_GEOMETRIE_MAILLE 15
00061 #define MED_NBR_GEOMETRIE_FACE 4
00062 #define MED_NBR_GEOMETRIE_ARETE 2
00063 typedef enum {MED_POINT1=1, MED_SEG2=102, MED_SEG3=103, MED_TRIA3=203,
00064               MED_QUAD4=204, MED_TRIA6=206,MED_QUAD8=208, MED_TETRA4=304,
00065               MED_PYRA5=305, MED_PENTA6=306, MED_HEXA8=308, MED_TETRA10=310, 
00066               MED_PYRA13=313, MED_PENTA15=315, MED_HEXA20=320}
00067 med_geometrie_element;
00068 
00069 typedef enum {MED_NOD, MED_DESC} med_connectivite ; 
00070 
00071 typedef enum {MED_CART, MED_CYL, MED_SPHER} med_repere; 
00072 
00073 typedef enum {MED_FAUX, MED_VRAI} med_booleen ; 
00074 
00075 typedef enum {MED_GROUPE, MED_ATTR, MED_FAMILLE} med_dim_famille; 
00076 
00077 typedef enum {MED_COMP, MED_DTYPE} med_dim_champ; 
00078 
00079 typedef enum {MED_HDF_VERSION, MED_VERSION, MED_FICH_DES} med_fich_info; 
00080 
00081 #define MED_NOPG   1                   /* -> pas de point de Gauss                    */
00082 #define MED_NOPFL  ""                  /* -> pas de profils utilisateur               */
00083 #define MED_NOPFLi "                                "  /* Variable Interne                      */
00084 #define MED_NOPF   0                   /* -> pas de profils pour _MEDdataseNnumEcrire */
00085 #define MED_NOPDT -1                   /* rem: pas de pas de temps negatifs           */
00086 #define MED_NONOR -1                   /* rem: pas de n°ordre negatif                 */
00087 #define MED_DIM1   1                   /* PAS */
00088 #define MED_ALL    0
00089 
00090 
00091 
00092 
00093 /* correspondance des types avec HDF 5 */
00094 typedef hsize_t        med_size;
00095 typedef hssize_t       med_ssize;
00096 typedef hid_t          med_idt;
00097 typedef herr_t         med_err;
00098 
00099 /* types elementaires */
00100 
00101 typedef double         med_float;
00102 #if defined(HAVE_F77INT64)
00103     typedef long med_int;
00104 #else
00105     typedef int med_int;
00106 #endif
00107 
00108 }
00109 
00110 #include "med_proto.hxx"
00111 
00112 #endif  /* MED_H */