Back to index

salome-med  6.5.0
MEDfichierCreer.cxx
Go to the documentation of this file.
00001 /*************************************************************************
00002 * COPYRIGHT (C) 1999 - 2002  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 
00020 #include "med.hxx"
00021 #include "med_outils.hxx"
00022 
00023 /*
00024  * - Nom de la fonction : _MEDfichierCreer
00025  * - Description : creation d'un fichier HDF
00026  * - Parametres :
00027  *     - nom (IN) : le nom du fichier
00028  * - Resultat : ID du fichier en cas de succes, -1 sinon
00029  */ 
00030 
00031 namespace med_2_1{
00032 
00033 med_idt
00034 _MEDfichierCreer(char *nom)
00035 {
00036   med_idt fid,gid;
00037   med_err ret;
00038   med_int majeur = MED_NUM_MAJEUR;
00039   med_int mineur = MED_NUM_MINEUR; 
00040   med_int release = MED_NUM_RELEASE;
00041 
00042   /*
00043    * On inhibe le gestionnaire d'erreur HDF 5
00044    */
00045   _MEDmodeErreurVerrouiller();
00046 
00047   if ((fid = H5Fcreate(nom,H5F_ACC_TRUNC,
00048                                H5P_DEFAULT,H5P_DEFAULT)) < 0)
00049     return -1;
00050 
00051   if ((gid = _MEDdatagroupCreer(fid,MED_NOM_INFOS)) < 0)
00052     return -1;
00053 
00054   /* Numero de versions de MED */
00055   if ((ret = _MEDattrEntierEcrire(gid,MED_NOM_MAJEUR,&majeur,MED_REMP)) < 0)
00056     return -1;
00057 
00058   if ((ret = _MEDattrEntierEcrire(gid,MED_NOM_MINEUR,&mineur,MED_REMP)) < 0)
00059     return -1;
00060 
00061   if ((ret = _MEDattrEntierEcrire(gid,MED_NOM_RELEASE,&release,MED_REMP)) < 0)
00062     return -1;
00063 
00064   /* On ferme tout */
00065   if ((ret = _MEDdatagroupFermer(gid)) < 0)
00066     return -1;
00067 
00068   return fid;
00069 }
00070 
00071 }