_MEDmeshnAxisByName236.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 <2.3.6/med23v30.h>
00024 #include <2.3.6/med23v30_proto.h>
00025 #include "2.3.6/med23v30_misc.h"
00026
00027 #include <string.h>
00028 #include <stdlib.h>
00029
00030 void
00031 _MEDmeshnAxisByName236(int dummy, ...)
00032 {
00033
00034 va_list params;
00035 va_start(params,dummy);
00036
00037 const med_idt fid = va_arg(params, const med_idt ) ;
00038 const char * const meshname = va_arg(params, const char * const );
00039 med_int * fret = va_arg(params, med_int *);
00040
00041
00042 med_err _ret = -1;
00043 med_int _nmaa =0;
00044 med_int _meshdim =0, _spacedim=0;
00045 med_maillage _type;
00046 char _meshname[MED_TAILLE_NOM+1] ="";
00047 int _it =0;
00048 char _desc [MED_TAILLE_DESC+1]="";
00049
00050
00051
00052
00053 _MEDmodeErreurVerrouiller();
00054
00055 if ( strlen(meshname) > MED_TAILLE_NOM ) {
00056 MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_RANGE,MED_ERR_MESH_MSG);
00057 SSCRUTE(meshname);ISCRUTE_int(MED_TAILLE_NOM);
00058 goto ERROR;
00059 }
00060
00061
00062 if ( (_nmaa =MEDnMaa(fid) ) < 0 ) {
00063 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_MESH_MSG);
00064 SSCRUTE(meshname);SSCRUTE("MEDnMaa");
00065 goto ERROR;
00066 }
00067
00068 for (_it=0; _it< _nmaa; ++_it ) {
00069
00070
00071 if ( MEDmaaInfo(fid, _it+1, _meshname, &_meshdim, &_type, _desc) < 0 ) {
00072 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_MESH_MSG);
00073 SSCRUTE(_meshname);SSCRUTE("MEDmaaInfo");
00074 ISCRUTE_int(_it);ISCRUTE(_meshdim);ISCRUTE_int(_type);SSCRUTE(_desc);
00075 goto ERROR;
00076 }
00077
00078 if ( !strcmp(_meshname,meshname) ) {
00079
00080 if ( (_spacedim = MEDdimEspaceLire(fid, _meshname)) < 0 )_spacedim=_meshdim;
00081
00082 break;
00083 }
00084
00085 }
00086 _ret = _spacedim;
00087
00088 ERROR:
00089
00090 va_end(params);
00091 *fret = _ret;
00092 return;
00093 }