1 /*  This file is part of MED.
2  *
3  *  COPYRIGHT (C) 1999 - 2019  EDF R&D, CEA/DEN
4  *  MED is free software: you can redistribute it and/or modify
5  *  it under the terms of the GNU Lesser General Public License as published by
6  *  the Free Software Foundation, either version 3 of the License, or
7  *  (at your option) any later version.
8  *
9  *  MED is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU Lesser General Public License for more details.
13  *
14  *  You should have received a copy of the GNU Lesser General Public License
15  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 
19 #include "med_config.h"
20 #include <med.h>
21 #include "med_outils.h"
22 #include <string.h>
23 
24 /**\ingroup MEDsupportMesh
25   \brief \MEDsupportMeshInfoBrief
26   \param fid \fid
27   \param meshit \meshit
28   \param supportmeshname \supportmeshname
29   \param spacedim \spacedim
30   \param meshdim \meshdim
31   \param description \description
32   \param axistype \axistype
33   \param axisname \axisname
34   \param axisunit \axisunit
35   \retval med_err \error
36   \details \MEDsupportMeshInfoDetails
37  */
38 
MEDsupportMeshInfo(const med_idt fid,const int meshit,char * const supportmeshname,med_int * const spacedim,med_int * const meshdim,char * const description,med_axis_type * const axistype,char * const axisname,char * const axisunit)39 med_err MEDsupportMeshInfo(const med_idt            fid,
40 			   const int                meshit,
41 			   char   *           const supportmeshname,
42 			   med_int *          const spacedim,
43 			   med_int *          const meshdim,
44 			   char *             const description,
45 			   med_axis_type *    const axistype,
46 			   char *             const axisname,
47 			   char *             const axisunit)
48 {
49   med_err  _ret=-1;
50   char     _meshpath[MED_MESH_SUPPORT_GRP_SIZE+MED_NAME_SIZE+1]=MED_MESH_SUPPORT_GRP;
51   int      _num = meshit -1;
52 
53   /*
54    * On inhibe le gestionnaire d'erreur HDF 5
55    */
56   _MEDmodeErreurVerrouiller();
57 
58   /*
59    * On recupere le nom du champ
60    */
61   if ( _MEDobjectGetName(fid, _meshpath ,_num, supportmeshname) < 0 ) {
62     MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_meshpath);ISCRUTE_int(meshit);
63     goto ERROR;
64   }
65   strcat(_meshpath,supportmeshname);
66 
67   if ( MEDsupportMeshInfoByName(fid,  supportmeshname, spacedim, meshdim ,
68 				 description, axistype, axisname, axisunit)  < 0) {
69     MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_MESH_MSG);
70     SSCRUTE(supportmeshname);SSCRUTE(_meshpath);SSCRUTE("MEDsupportMeshInfoByName");
71     goto ERROR;
72   }
73 
74   _ret = 0;
75 
76  ERROR:
77 
78   return _ret;
79 }
80