# MEDinterpInfo.c

Aller à la documentation de ce fichier.

    00001 /*  This file is part of MED.
    00002  *
    00003  *  COPYRIGHT (C) 1999 - 2012  EDF R&D, CEA/DEN
    00004  *  MED is free software: you can redistribute it and/or modify
    00005  *  it under the terms of the GNU Lesser General Public License as published by
    00006  *  the Free Software Foundation, either version 3 of the License, or
    00007  *  (at your option) any later version.
    00008  *
    00009  *  MED is distributed in the hope that it will be useful,
    00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00012  *  GNU Lesser General Public License for more details.
    00013  *
    00014  *  You should have received a copy of the GNU Lesser General Public License
    00015  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
    00016  */
    00017
    00018
    00019 #include <med.h>
    00020 #include <med_config.h>
    00021 #include <med_outils.h>
    00022 #include <hdf5.h>
    00023 #include <string.h>
    00024
    00042 med_err
    00043 MEDinterpInfo(const med_idt                 fid,
    00044               const int                      interpit,
    00045                     char*              const interpname,
    00046                     med_geometry_type* const geotype,
    00047                     med_bool*          const cellnode,
    00048                     med_int*           const nbasisfunc,
    00049                     med_int*           const nvariable,
    00050                     med_int*           const maxdegree,
    00051                     med_int*           const nmaxcoef
    00052               )
    00053 {
    00054   med_err  _ret=-1;
    00055   char     _interppath[MED_TAILLE_INTERP+MED_NAME_SIZE+1]=MED_INTERP;
    00056   int      _num = interpit -1;
    00057
    00058   /*
    00059    * On inhibe le gestionnaire d'erreur HDF 5
    00060    */
    00061   _MEDmodeErreurVerrouiller();
    00062
    00063   /*
    00064    * On recupere le nom de l'interpolation
    00065    */
    00066   if ( _MEDobjectGetName(fid, _interppath ,_num, interpname) < 0 ) {
    00067     MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_interppath);ISCRUTE_int(interpit);
    00068     goto ERROR;
    00069   }
    00070   strcat(_interppath,interpname);
    00071
    00072   if (  MEDinterpInfoByName(fid,
    00073                             interpname,
    00074                             geotype,
    00075                             cellnode,
    00076                             nbasisfunc,
    00077                             nvariable,
    00078                             maxdegree,
    00079                             nmaxcoef
    00080                             )    < 0 ) {
    00081     MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_INTERP_MSG);
    00082     SSCRUTE(interpname);SSCRUTE(_interppath);SSCRUTE("MEDinterpInfoByName");
    00083     goto ERROR;
    00084   }
    00085
    00086   _ret = 0;
    00087
    00088  ERROR:
    00089
    00090   return _ret;
    00091 }