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 <string.h>
00022 #include <stdlib.h>
00023 #include <med_outils.h>
00024
00025
00026 void
00027 _MEDmeshnEntity30(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 const med_int numdt = va_arg(params, const med_int );
00036 const med_int numit = va_arg(params, const med_int );
00037 const med_entity_type entitytype = va_arg(params, const med_entity_type );
00038 const med_geometry_type geotype = va_arg(params, const med_geometry_type );
00039 const med_data_type meddatatype = va_arg(params, const med_data_type );
00040 const med_connectivity_mode cmode = va_arg(params, const med_connectivity_mode );
00041 const med_storage_mode storagemode = va_arg(params, const med_storage_mode );
00042 char * const profilename = va_arg(params, char * const );
00043 med_int * const profilesize = va_arg(params, med_int * const );
00044 med_bool * const changement = va_arg(params, med_bool * const );
00045 med_bool * const transformation= va_arg(params, med_bool * const );
00046 med_int * fret = va_arg(params, med_int *);
00047
00048 med_access_mode _MED_ACCESS_MODE;
00049 med_int _ret=-1,_err=-1;
00050 med_idt _meshid=0, _datagroup=0,_datagroupf=0,_datagroup1=0;
00051 med_idt _datagroup2=0,_datagroup3=0,_datagroup4=0,_dataset=0;
00052 char _meshpath [MED_TAILLE_SUP_MAA+MED_NAME_SIZE+1]="";
00053 char _datagroupname1 [2*MED_MAX_PARA+1] ="";
00054 char _datagroupname2 [MED_TAILLE_NOM_ENTITE+1]="";
00055 char _datagroupname3 [MED_TAILLE_NOM_ENTITE+1]="";
00056 char _datagroupname4 [MAX(MED_TAILLE_VARATR,MED_TAILLE_COOTRF)]="";
00057 char _datasetconame [3 + 1 + 3 + 1 ] ="";
00058 char _profilename [MED_NAME_SIZE+1] ="";
00059 char _geotypename [MED_TAILLE_NOM_ENTITE+1]="";
00060 char _datasetname [MED_TAILLE_NOM_ENTITE+1]="";
00061 med_sorting_type _sortingtype = 0;
00062 med_int _intsortingtype = 0;
00063 med_int _profilearraysize = 0;
00064 med_int _changement=0, _changement_s=0, _transformation=0;
00065 med_bool _changement_co = MED_FALSE;
00066 med_size _n=0;
00067 med_bool _isasupportmesh = MED_FALSE;
00068 med_bool _isasoftlink = MED_FALSE;
00069 med_bool _datasetexist = MED_FALSE;
00070 med_int _ntmpmeddatatype = 1;
00071 med_data_type _tmpmeddatatype[3] = {MED_UNDEF_DATATYPE,MED_UNDEF_DATATYPE,MED_UNDEF_DATATYPE};
00072 med_grid_type _gridtype = MED_UNDEF_GRID_TYPE;
00073 med_int _intgridtype = 0;
00074 med_int _intmeshtype = 0;
00075 med_int _meshdim = 0;
00076 int _i = 0;
00077 med_connectivity_mode _cmode = cmode;
00078
00079
00080
00081
00082 _MEDmodeErreurVerrouiller();
00083
00084 if ( (_MED_ACCESS_MODE = _MEDmodeAcces(fid) ) == MED_ACC_UNDEF ) {
00085 MED_ERR_(_ret,MED_ERR_UNRECOGNIZED,MED_ERR_ACCESSMODE,MED_ERR_FILE_MSG);
00086 goto ERROR;
00087 }
00088
00089
00090
00091
00092 NOFINALBLANK(meshname,ERROR);
00093
00094 if ((_meshid=_MEDmeshDatagroupOpen(fid,meshname,_meshpath,&_isasupportmesh)) < 0) {
00095 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,MED_ERR_MESH_MSG);
00096 SSCRUTE(_meshpath); goto ERROR;
00097 }
00098
00099
00100 if (_MEDattrEntierLire(_meshid,MED_NOM_DIM,&_meshdim) < 0) {
00101 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00102 SSCRUTE(meshname);SSCRUTE(MED_NOM_DIM);ISCRUTE(_meshdim);goto ERROR;
00103 }
00104
00105
00106 if (_MEDattrEntierLire(_meshid,MED_NOM_TYP,&_intmeshtype) < 0) {
00107 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00108 SSCRUTE(meshname);SSCRUTE(MED_NOM_TYP);ISCRUTE(_intmeshtype);goto ERROR;
00109 }
00110
00111 if ( ( (med_mesh_type) _intmeshtype ) != MED_UNSTRUCTURED_MESH ) {
00112
00113
00114 if (_MEDattrEntierLire(_meshid,MED_NOM_GTY,&_intgridtype) < 0) {
00115 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00116 SSCRUTE(meshname);SSCRUTE(MED_NOM_GTY);ISCRUTE(_intgridtype);goto ERROR;
00117 }
00118 _gridtype= (med_grid_type) _intgridtype;
00119 }
00120
00121
00122
00123
00124 if ( _MEDattrEntierLire(_meshid,MED_NOM_SRT,&_intsortingtype) < 0) {
00125 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00126 SSCRUTE(meshname);SSCRUTE(MED_NOM_SRT);ISCRUTE(_intsortingtype);goto ERROR;
00127 }
00128 _sortingtype = (med_sorting_type) (_intsortingtype);
00129
00130 _MEDgetComputationStepName(_sortingtype,numdt,numit,_datagroupname1);
00131 if ( (_datagroup1 = _MEDdatagroupOuvrir(_meshid,_datagroupname1)) < 0 ) {
00132 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,MED_ERR_MESH_MSG);
00133 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);
00134 SSCRUTE(_datagroupname1);ISCRUTE_id(_datagroup1);goto ERROR;
00135 }
00136
00137
00138
00139
00140
00141 if ( _MEDattrEntierLire(_datagroup1,MED_NOM_CGT,&_changement) < 0) {
00142 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00143 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);
00144 SSCRUTE(_datagroupname1);SSCRUTE(MED_NOM_CGT);goto ERROR;
00145 }
00146
00147 *changement = (med_bool) _changement;
00148 *transformation = MED_FALSE;
00149
00150
00151
00152 if ( entitytype == MED_UNDEF_ENTITY_TYPE ) {
00153 _n=0; goto SORTIE;
00154 }
00155
00156
00157
00158
00159 if ( entitytype == MED_ALL_ENTITY_TYPE ) {
00160 _err=_MEDnObjects(_datagroup1,".",&_n);
00161 if ( _err == (MED_ERR_COUNT + MED_ERR_DATAGROUP) ) {
00162 MED_ERR_(_ret,MED_ERR_COUNT,MED_ERR_DATAGROUP,_datagroupname1);
00163 goto ERROR;
00164 }
00165 goto SORTIE;
00166 }
00167
00168
00169
00170
00171
00172 if (_MEDgetEntityTypeName(_datagroupname2,entitytype) < 0) {
00173 MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_ENTITY,MED_ERR_VALUE_MSG);
00174 ISCRUTE_int(entitytype);SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);goto ERROR;
00175 }
00176
00177 if ((_datagroup2 = _MEDdatagroupOuvrir(_datagroup1,_datagroupname2)) < 0) {
00178 *changement = (med_bool) MED_FALSE;
00179 _n=0;_datagroup2=0;
00180 goto SORTIE;
00181 }
00182
00183
00184
00185
00186
00187 if ( _MEDattrEntierLire(_datagroup2,MED_NOM_CGT,&_changement) < 0) {
00188 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00189 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);
00190 SSCRUTE(_datagroupname2);SSCRUTE(MED_NOM_CGT);
00191 goto ERROR;
00192 }
00193 *changement = (med_bool) _changement;
00194
00195
00196
00197
00198
00199
00200 if ( geotype == MED_GEO_ALL ) {
00201
00202 _err=_MEDnObjects(_datagroup2,".",&_n);
00203 if ( _err == (MED_ERR_COUNT + MED_ERR_DATAGROUP) ) {
00204 MED_ERR_(_ret,MED_ERR_COUNT,MED_ERR_DATAGROUP,_datagroupname2);
00205 goto ERROR;
00206 }
00207 if ( ( entitytype == MED_NODE ) && (_n > 0) ) _n=1;
00208 goto SORTIE;
00209 }
00210
00211 if ( entitytype != MED_NODE ) {
00212
00213
00214
00215 if ( entitytype == MED_STRUCT_ELEMENT ) {
00216 if ( MEDstructElementName(fid, geotype,_datagroupname3) < 0 ) {
00217 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"MEDstructElementName");
00218 ISCRUTE_int(geotype);goto ERROR;
00219 }
00220 } else
00221 if ( _MEDgetGeometryTypeName(_datagroupname3,geotype) < 0) {
00222 MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_GEOMETRIC,MED_ERR_VALUE_MSG);
00223 ISCRUTE_int(geotype);SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);
00224 SSCRUTE(_datagroupname2);goto ERROR;
00225 }
00226
00227 if ((_datagroup3 = _MEDdatagroupOuvrir(_datagroup2,_datagroupname3)) < 0) {
00228 _n=0;
00229 *changement = MED_FALSE;
00230 goto SORTIE;
00231 }
00232 }
00233
00234 if (_datagroup3) _datagroup=_datagroup3; else _datagroup=_datagroup2;
00235
00236
00237
00238
00239
00240
00241 if (_datagroup3) {
00242 if ( _MEDattrEntierLire(_datagroup3,MED_NOM_CGT,&_changement) < 0) {
00243 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00244 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00245 SSCRUTE(_datagroupname3);SSCRUTE(MED_NOM_CGT);
00246 goto ERROR;
00247 }
00248 *changement = (med_bool) _changement;
00249 }
00250
00251
00252
00253
00254
00255 if ( _MEDattrEntierLire(_datagroup,MED_NOM_CGS,&_changement_s) < 0) {
00256 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00257 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00258 SSCRUTE(_datagroupname3);SSCRUTE(MED_NOM_CGS);goto ERROR;
00259 }
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275 if ( (meddatatype != MED_CONNECTIVITY) && ( meddatatype != MED_COORDINATE )
00276 && (meddatatype != MED_COORDINATE_AXIS1)
00277 && (meddatatype != MED_COORDINATE_AXIS2)
00278 && (meddatatype != MED_COORDINATE_AXIS3)
00279 && (meddatatype != MED_INDEX_FACE)
00280 && (meddatatype != MED_INDEX_NODE)) {
00281
00282 if (entitytype == MED_NODE) {
00283 if ( ( (med_mesh_type) _intmeshtype ) != MED_UNSTRUCTURED_MESH ) {
00284 if (_gridtype == MED_CARTESIAN_GRID ) {
00285 _ntmpmeddatatype=_meshdim;
00286 _tmpmeddatatype[0] = MED_COORDINATE_AXIS1;
00287 _tmpmeddatatype[1] = MED_COORDINATE_AXIS2;
00288 _tmpmeddatatype[2] = MED_COORDINATE_AXIS3;
00289 } else {
00290 MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_GRIDTYPE,MED_ERR_MESH_MSG);
00291 SSCRUTE(meshname);ISCRUTE_int(_gridtype);goto ERROR;
00292 }
00293 } else
00294 _tmpmeddatatype[0] = MED_COORDINATE;
00295 } else {
00296 switch (geotype) {
00297 case MED_POLYHEDRON:
00298 _ntmpmeddatatype=3;
00299 _tmpmeddatatype[2] = MED_CONNECTIVITY;
00300 _tmpmeddatatype[1] = MED_INDEX_FACE;
00301 _tmpmeddatatype[0] = MED_INDEX_NODE;
00302 break;
00303 case MED_POLYGON:
00304 _ntmpmeddatatype=2;
00305 _tmpmeddatatype[1] = MED_CONNECTIVITY;
00306 _tmpmeddatatype[0] = MED_INDEX_NODE;
00307 break;
00308 default:
00309 if ( ( (med_mesh_type) _intmeshtype ) == MED_STRUCTURED_MESH ) {
00310 _ntmpmeddatatype=0;
00311 break;
00312 }
00313 _tmpmeddatatype[0] = MED_CONNECTIVITY;
00314 if ( cmode == MED_NO_CMODE ) {
00315 if ( _MEDdatasetExistByMedtype(_datagroup,MED_CONNECTIVITY,MED_NODAL,
00316 &_datasetexist, &_isasoftlink) < 0) {
00317 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDdatasetExistByMedtype");
00318 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00319 SSCRUTE(_datagroupname3);goto ERROR;
00320 }
00321
00322 if ( _datasetexist ) _cmode= MED_NODAL;
00323 else
00324 if ( _MEDdatasetExistByMedtype(_datagroup,MED_CONNECTIVITY,MED_DESCENDING,
00325 &_datasetexist, &_isasoftlink) < 0) {
00326 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDdatasetExistByMedtype");
00327 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00328 SSCRUTE(_datagroupname3);goto ERROR;
00329 } else
00330 _cmode = MED_DESCENDING;
00331 }
00332 }
00333 }
00334
00335 *changement = MED_FALSE;
00336 for (_i=0; _i < _ntmpmeddatatype ;++_i) {
00337 if ( _MEDgetDatasetChgt( _datagroup, _tmpmeddatatype[_i], _cmode,
00338 &_isasoftlink, &_changement_co ) < 0) {
00339 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"getDatasetChgt");
00340 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00341 SSCRUTE(_datagroupname3);goto ERROR;
00342 }
00343 *changement |= _changement_co;
00344 }
00345 }
00346
00347
00348
00349
00350
00351 if ( (meddatatype==MED_VARIABLE_ATTRIBUTE) || (meddatatype==MED_COORDINATE_TRSF ) ) {
00352 if (meddatatype == MED_VARIABLE_ATTRIBUTE)
00353 strcpy(_datagroupname4,MED_VARATR_NOM);
00354 else
00355 strcpy(_datagroupname4,MED_COOTRF_NOM);
00356
00357 if ((_datagroup4 = _MEDdatagroupOuvrir(_datagroup,_datagroupname4)) < 0) {
00358 _n=0;
00359 goto SORTIE;
00360 }
00361 }
00362 if ( (meddatatype==MED_VARIABLE_ATTRIBUTE) || (meddatatype==MED_COORDINATE_TRSF ) )
00363 _datagroupf=_datagroup4;
00364 else
00365 _datagroupf=_datagroup;
00366
00367
00368
00369
00370
00371 if ( _MEDgetDatasetName(_datasetname,meddatatype,cmode) < 0) {
00372 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDgetDatasetName");
00373 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00374 SSCRUTE(_datagroupname3);goto ERROR;
00375 }
00376
00377
00378
00379
00380 if (_datagroup4) {
00381 if ( _MEDattrEntierLire(_datagroup4,MED_NOM_CGT,&_transformation) < 0) {
00382 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00383 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00384 SSCRUTE(_datagroupname3);SSCRUTE(_datagroupname4);SSCRUTE(MED_NOM_CGT);
00385 goto ERROR;
00386 }
00387 }
00388
00389 if ( (_dataset = _MEDdatasetOuvrir(_datagroupf,_datasetname)) < 0) {
00390 _n=0;_dataset=0;*transformation = (med_bool) MED_FALSE;
00391 if ( (numdt != MED_NO_DT) || (numit != MED_NO_IT) ) {
00392 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATASET,_datasetname);
00393 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);
00394 SSCRUTE(_datagroupname2);SSCRUTE(_datagroupname3);SSCRUTE(_datagroupname4);
00395 ISCRUTE_size(_n);
00396 goto ERROR;
00397 }
00398 goto SORTIE;
00399 }
00400
00401
00402 if (!_datagroup4) {
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413 if ( _MEDisasoftlink(_datagroupf, _datasetname,MED_TRUE, &_isasoftlink ) < 0) {
00414 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_LINK,_datasetname);
00415 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);
00416 SSCRUTE(_datagroupname2);SSCRUTE(_datagroupname3);SSCRUTE(_datagroupname4);
00417 ISCRUTE_size(_n);goto ERROR;
00418 }
00419
00420 if (_isasoftlink)
00421 _transformation = MED_FALSE;
00422 else {
00423
00424 if ( _MEDattrEntierLire(_dataset,MED_NOM_CGT,&_transformation) < 0) {
00425 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00426 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00427 SSCRUTE(_datagroupname3);SSCRUTE(MED_NOM_CGT);
00428 goto ERROR;
00429 }
00430 }
00431
00432 }
00433
00434 *transformation = (med_bool) _transformation;
00435
00436 if ( ( meddatatype == MED_CONNECTIVITY) && ( meddatatype == MED_COORDINATE ) ) {
00437 *transformation &= (med_bool) !_changement_s;
00438 }
00439
00440
00441
00442
00443
00444
00445 _profilearraysize = 0;
00446 profilename[0]='\0';
00447
00448 if ( _MEDattrStringLire(_datagroup,MED_NOM_PFL,MED_NAME_SIZE,_profilename) < 0) {
00449 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00450 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00451 SSCRUTE(_datagroupname3); SSCRUTE(MED_NOM_PFL);SSCRUTE(_profilename);goto ERROR;
00452 }
00453
00454 if ( strcmp(_profilename,MED_NO_PROFILE_INTERNAL) ) {
00455 strncpy(profilename,_profilename,MED_NAME_SIZE+1);
00456 profilename[MED_NAME_SIZE]='\0';
00457
00458 if ( ( _profilearraysize = MEDprofileSizeByName( fid,_profilename) ) < 0 ) {
00459 MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_MESH_MSG);
00460 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00461 SSCRUTE(_profilename);SSCRUTE("MEDprofileSizeByName");goto ERROR;
00462 }
00463 }
00464 *profilesize=(med_int) _profilearraysize;
00465
00466
00467
00468
00469
00470 if ( _MEDattrEntierLire(_dataset,MED_NOM_NBR,&_n) < 0) {
00471 MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00472 SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);
00473 SSCRUTE(_datagroupname2);SSCRUTE(_datagroupname3);SSCRUTE(_datagroupname4);
00474 SSCRUTE(_datasetname);SSCRUTE(MED_NOM_NBR);ISCRUTE_size(_n);goto ERROR;
00475 }
00476
00477 if (_profilearraysize)
00478 switch(storagemode) {
00479
00480 case MED_GLOBAL_PFLMODE :
00481 break;
00482
00483 case MED_COMPACT_PFLMODE :
00484 if ( meddatatype!=MED_COORDINATE_TRSF )
00485 _n=_profilearraysize;
00486
00487 break;
00488
00489 default :
00490 MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_STORAGEMODE,MED_ERR_VALUE_MSG);
00491 ISCRUTE_int(storagemode);goto ERROR;
00492 break;
00493
00494 }
00495
00496 SORTIE:
00497
00498 _ret = _n;
00499
00500 ERROR:
00501
00502
00503 if (_dataset>0) if (_MEDdatasetFermer(_dataset) < 0) {
00504 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATASET,MED_NOM_COO);
00505 ISCRUTE_id(_dataset);
00506 }
00507
00508 if (_datagroup4>0) if (_MEDdatagroupFermer(_datagroup4) < 0) {
00509 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_datagroupname4);
00510 ISCRUTE_id(_datagroup4);
00511 }
00512
00513 if (_datagroup3>0) if (_MEDdatagroupFermer(_datagroup3) < 0) {
00514 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_datagroupname3);
00515 ISCRUTE_id(_datagroup3);
00516 }
00517
00518 if (_datagroup2>0) if (_MEDdatagroupFermer(_datagroup2) < 0) {
00519 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_datagroupname2);
00520 ISCRUTE_id(_datagroup2);
00521 }
00522
00523 if (_datagroup1>0) if (_MEDdatagroupFermer(_datagroup1) < 0) {
00524 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_datagroupname1);
00525 ISCRUTE_id(_datagroup1);
00526 }
00527
00528 if (_meshid>0) if (_MEDdatagroupFermer(_meshid) < 0) {
00529 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_meshpath);
00530 ISCRUTE_id(_meshid);
00531 }
00532
00533
00534
00535 *fret = _ret;
00536 va_end(params);
00537 return;
00538 }