MEDmeshAttributeRd.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 #include <string.h>
00023
00035 med_err
00036 MEDmeshAttributeRd(const med_idt fid,
00037 const char * const meshname,
00038 med_int *isolatednodes,
00039 med_int *verticesnodes,
00040 med_int *cellmaxnodes)
00041 {
00042 med_err _ret=-1;
00043 med_idt _meshid;
00044 char _path [MED_TAILLE_MAA+MED_NAME_SIZE+1]=MED_MAA;
00045
00046
00047
00048
00049
00050 _MEDmodeErreurVerrouiller();
00051
00052
00053
00054
00055
00056 strcat(_path,meshname);
00057 if ((_meshid = _MEDdatagroupOuvrir(fid,_path)) < 0) {
00058 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,_path);
00059 ISCRUTE_id(_meshid);goto ERROR;
00060 }
00061
00062
00063
00064
00065
00066 if ( _MEDattrEntierLire(_meshid,MED_NOM_NNI,isolatednodes) < 0 ) {
00067 _ret = MED_ERR_READ+MED_ERR_ATTRIBUTE;goto ERROR;
00068 }
00069
00070
00071
00072
00073 if ( _MEDattrEntierLire(_meshid,MED_NOM_NNS,verticesnodes) < 0 ) {
00074 _ret=MED_ERR_READ+MED_ERR_ATTRIBUTE;goto ERROR;
00075 }
00076
00077
00078
00079
00080
00081 if ( _MEDattrEntierLire(_meshid,MED_NOM_NNM,cellmaxnodes) < 0 ) {
00082 _ret=MED_ERR_READ+MED_ERR_ATTRIBUTE;goto ERROR;
00083 }
00084
00085
00086 _ret = 0;
00087 ERROR:
00088
00089 if (_meshid>0) if (_MEDdatagroupFermer(_meshid) < 0) {
00090 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_path);
00091 ISCRUTE_id(_meshid);
00092 }
00093
00094 return _ret;
00095 }
00096