_MEDmeshnAxisByName30.c
Aller à la documentation de ce fichier.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <med.h>
00020 #include <med_config.h>
00021 #include <med_outils.h>
00022
00023 #include <string.h>
00024 #include <stdlib.h>
00025
00026 void
00027 _MEDmeshnAxisByName30(int dummy, ...)
00028 {
00029
00030 va_list params;
00031 va_start(params,dummy);
00032
00033 const med_idt fid = va_arg(params, const med_idt ) ;
00034 const char * const meshname = va_arg(params, const char * const );
00035 med_int * fret = va_arg(params, med_int *);
00036
00037
00038 med_int _ret=0;
00039 med_idt _meshid=0;
00040 char _meshpath[MED_TAILLE_MAA+MED_NAME_SIZE+1]=MED_MAA;
00041 char _meshname[MED_NAME_SIZE+1]="";
00042 med_int _spacedim =-1;
00043
00044
00045
00046
00047 _MEDmodeErreurVerrouiller();
00048
00049
00050
00051
00052 strcat(_meshpath,meshname);
00053 if ((_meshid = _MEDdatagroupOuvrir(fid,_meshpath)) < 0) {
00054 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,MED_ERR_MESH_MSG);
00055 SSCRUTE(meshname);SSCRUTE(_meshpath); goto ERROR;
00056 }
00057
00058
00059
00060
00061 if (_MEDattrEntierLire(_meshid,MED_NOM_ESP,&_spacedim) < 0) {
00062 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00063 SSCRUTE(meshname);SSCRUTE(MED_NOM_ESP);goto ERROR;
00064 }
00065
00066 _ret = _spacedim;
00067 ERROR:
00068
00069 if (_meshid>0) if (_MEDdatagroupFermer(_meshid) < 0) {
00070 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_meshpath);
00071 ISCRUTE_id(_meshid);
00072 }
00073
00074 va_end(params);
00075 *fret = _ret;
00076 return;
00077 }