_MEDmeshAdvancedRd236.c

Aller à la documentation de ce fichier.
00001 /*  This file is part of MED.
00002  *
00003  *  COPYRIGHT (C) 1999 - 2011  EDF R&D, CEA/DEN
00004  *  MED is free software: you can redistribute it and/or modify
00005  *  it under the terms of the GNU Lesser General Public License as published by
00006  *  the Free Software Foundation, either version 3 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  MED is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU Lesser General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU Lesser General Public License
00015  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
00016  */
00017 
00018 
00019 #include <med.h>
00020 #include <med_config.h>
00021 #include <med_outils.h>
00022 #include <string.h>
00023 #include <stdlib.h>
00024 
00025 #include <2.3.6/med23v30.h>
00026 #include <2.3.6/med23v30_proto.h>
00027 #include "2.3.6/med23v30_misc.h"
00028 #include "2.3.6/med23v30_hdfi.h"
00029 
00030 
00031 void _MEDmeshAdvancedRd236(int dummy, ...)
00032 {
00033   va_list params;
00034   va_start(params,dummy);
00035 
00036   const med_idt               fid         = va_arg(params, const med_idt               );
00037   const char*  const          meshname    = va_arg(params, const char*  const          );
00038   const med_data_type         meddatatype = va_arg(params, const med_data_type         );
00039   const char*  const          datasetname = va_arg(params, const char*  const          );
00040   const med_internal_type     datatype    = va_arg(params, const med_internal_type     );
00041   const med_int               numdt       = va_arg(params, const med_int               );
00042   const med_int               numit       = va_arg(params, const med_int               );
00043   const med_entity_type       entitytype  = va_arg(params, const med_entity_type       );
00044   const med_geometry_type     geotype     = va_arg(params, const med_geometry_type     );
00045   const med_connectivity_mode cmode       = va_arg(params, const med_connectivity_mode );
00046   const med_storage_mode      storagemode = va_arg(params, const med_storage_mode      );
00047   const char * const          profilename = va_arg(params, const char * const          );
00048   const med_switch_mode       switchmode  = va_arg(params, const med_switch_mode       );
00049   const med_int               dimselect   = va_arg(params, const med_int               );
00050   const med_filter * const    filter      = va_arg(params, const med_filter * const    );
00051   unsigned char* const        value       = va_arg(params,       unsigned char* const  );
00052   med_err *                   fret        = va_arg(params,        med_err *);
00053 
00054   med_access_mode       _MED_ACCESS_MODE;
00055   med_err               _ret=-1;
00056   med_idt               _meshid=0;
00057   med_idt               _datagroup=0, _datagroup2=0,_datagroup3=0,_dataset=0;
00058   char                  _meshpath         [MED_TAILLE_SUP_MAA+MED_NAME_SIZE+1]="";
00059   char                  _datagroupname2   [MED_TAILLE_NOM_ENTITE+1]="";
00060   char                  _datagroupname3   [MED_TAILLE_NOM_ENTITE+1]="";
00061   char                  _datasetname      [MED_TAILLE_NOM_ENTITE+1]="";
00062 
00063   char                  _geotypename      [MED_TAILLE_NOM_ENTITE+1]="";
00064   med_bool              _filterparameterexist=MED_FALSE;
00065   med_filter *          _filter           = NULL;
00066   med_filter            _tmpfilter        = MED_FILTER_INIT;
00067   med_int               _nbofconstituentpervalue=0,_spacedim=0;
00068   med_internal_type     _datatype=datatype;
00069   med_int               _nbofvalueperentity=0;
00070   med_mesh_type         _meshtype=MED_UNDEF_MESH_TYPE;
00071   med_int               _intmeshtype=0;
00072   med_bool              _isasupportmesh=MED_FALSE;
00073   med_int               _intgridtype=0;
00074   med_grid_type         _gridtype=MED_UNDEF_GRID_TYPE;
00075 
00076   if (filter) {
00077     _filter=(med_filter*)(filter); _filterparameterexist=MED_TRUE;
00078   }
00079   else {
00080     _filter=&_tmpfilter;
00081 /*  Inutilisé en lecture 2.3.x*/
00082 /*     (*_filter).nbofentity              = nbofentity; */
00083     (*_filter).nbofvaluesperentity     = 1;
00084 /*   (*_filter).nbofconstituentpervalue = nbofconstituentpervalue; */
00085     (*_filter).constituentselect       = dimselect;
00086     (*_filter).switchmode              = switchmode;
00087     (*_filter).storagemode             = storagemode;
00088     strcpy((*_filter).profilename,profilename);
00089     (*_filter).profilearraysize        = 0;
00090   }
00091 
00092   if ( (*_filter).storagemode == MED_UNDEF_PFLMODE)
00093     (*_filter).storagemode              = MED_GLOBAL_PFLMODE;
00094 
00095   /*
00096    * On inhibe le gestionnaire d'erreur HDF 5
00097    */
00098   _MEDmodeErreurVerrouiller();
00099 
00100   if ( (_MED_ACCESS_MODE = _MEDmodeAcces(fid) ) == MED_ACC_UNDEF ) {
00101     MED_ERR_(_ret,MED_ERR_UNRECOGNIZED,MED_ERR_ACCESSMODE,MED_ERR_FILE_MSG);
00102     goto ERROR;
00103   }
00104 
00105   /*
00106    * Si le DataGroup MED_MAA n'existe pas => erreur
00107    */
00108   NOFINALBLANK(meshname,ERROR);
00109 
00110 
00111   /* Les séquences de calcul dans les maillages ne sont gérées qu'à partir de la 3.0*/
00112   if ( (numdt != MED_NO_DT) || (numit != MED_NO_IT) ) {
00113     MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_COMPUTINGSTEP,MED_ERR_MESH_MSG);
00114     SSCRUTE(meshname);ISCRUTE(numdt);ISCRUTE(numit);
00115     goto ERROR;
00116   }
00117 
00118   if ((_meshid=_MEDmeshDatagroupOpen(fid,meshname,_meshpath,&_isasupportmesh)) < 0) {
00119     MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,MED_ERR_MESH_MSG);
00120     SSCRUTE(_meshpath); goto ERROR;
00121   }
00122 
00123   /* Lecture de l'attribut MED_NOM_ESP  */
00124   if (_MEDattrEntierLire(_meshid,MED_NOM_ESP,&_spacedim) < 0) {
00125     if (_MEDattrEntierLire(_meshid,MED_NOM_DIM,&_spacedim) < 0) {
00126       MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00127       SSCRUTE(meshname);SSCRUTE(MED_NOM_DIM);goto ERROR;
00128     }
00129   }
00130 
00131   /* Lecture de l'attribut MED_NOM_TYP  */
00132   if (_MEDattrEntierLire(_meshid,MED_NOM_TYP,&_intmeshtype) < 0) {
00133     MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00134     SSCRUTE(meshname);SSCRUTE(MED_NOM_TYP);ISCRUTE(_intmeshtype);goto ERROR;
00135   }
00136   _meshtype = (med_mesh_type) _intmeshtype;
00137 
00138   if ( _meshtype == MED_STRUCTURED_MESH ) {
00139  /*
00140    * Lecture du type de grille (attribut MED_NOM_GTY)
00141    */
00142     if (_MEDattrEntierLire(_meshid,MED_NOM_GTY,&_intgridtype) < 0) {
00143       MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_ERR_MESH_MSG);
00144       SSCRUTE(meshname);SSCRUTE(MED_NOM_GTY);ISCRUTE(_intgridtype);goto ERROR;
00145     }
00146     _gridtype=(med_grid_type) _intgridtype;
00147   }
00148 
00149 
00150   if ( (entitytype == MED_STRUCT_ELEMENT) || (meddatatype == MED_VARIABLE_ATTRIBUTE) ) {
00151     MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_ENTITY,MED_ERR_VALUE_MSG);
00152     ISCRUTE_int(entitytype);ISCRUTE_int(meddatatype);goto ERROR;
00153   }
00154 
00155 
00156   /* Si un nom de dataset est précisé, il n'est pas géré en 2.3.6 
00157      Detection automatique en
00158      fonction des paramètres meddatatype et cmode */
00159   if ( !strlen(datasetname) ) {
00160     if ( _MEDgetDatasetName( _datasetname, meddatatype, cmode ) < 0 ) {
00161       MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDgetDatasetname");
00162       ISCRUTE_int(meddatatype);ISCRUTE_int(cmode);SSCRUTE( _datasetname);goto ERROR;
00163     }
00164   } else {
00165     MED_ERR_(_ret,MED_ERR_NULL,MED_ERR_DATASET,datasetname);
00166     goto ERROR;
00167   }
00168 
00169   /* Si un type de dataset est précisé, il est prioritaire sur la détection automatique en
00170      fonction des paramètres meddatatype et cmode */
00171   /* TODO : renommer datatype en idatatype (internal) */
00172 /*   if ( _datatype == MED_INTERNAL_UNDEF) */
00173 /*     if ( _MEDgetDatatype( &_datatype, meddatatype, cmode ) < 0 ) { */
00174 /*       MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDgetDatatype"); */
00175 /*       ISCRUTE(meddatatype);ISCRUTE(cmode);ISCRUTE(_datatype);goto ERROR; */
00176 /*     } */
00177 
00178   /* Vérification :
00179      Le type de données MED traitées sont-elles compatibles avec le type de maillage ?
00180   */
00181   /* REM : Si datasetname ou datatype ne sont pas précisés, meddatatype doit l'être */
00182 /*   if ( meddatatype != MED_UNDEF_DATATYPE ) */
00183 /*     if ( _MEDmeshtypeCompatibility(meddatatype, _intmeshtype) < 0) { */
00184 /*       MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_MEDDATATYPE,MED_ERR_VALUE_MSG); */
00185 /*       ISCRUTE_int(meddatatype);ISCRUTE_int(_intmeshtype);goto ERROR; */
00186 /*     } */
00187 
00188   if ( ! (_nbofvalueperentity && _nbofconstituentpervalue) )
00189     if ( _MEDgetDatasetParameter( meddatatype, _spacedim, entitytype, geotype, cmode,
00190                                   &_nbofvalueperentity,&_nbofconstituentpervalue) < 0 ) {
00191       MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDgetDatasetParameter");
00192       ISCRUTE_int(meddatatype);ISCRUTE_int(cmode);ISCRUTE(_nbofvalueperentity);
00193       ISCRUTE(_nbofconstituentpervalue);goto ERROR;
00194     }
00195 
00196   if (_filterparameterexist) {
00197     if ((*_filter).nbofconstituentpervalue != _nbofconstituentpervalue ) {
00198       MED_ERR_(_ret,MED_ERR_NOTEQUAL,MED_ERR_ATTRIBUTE,MED_ERR_VALUE_MSG);
00199       ISCRUTE((*_filter).nbofconstituentpervalue); ISCRUTE(_nbofconstituentpervalue );
00200       goto ERROR;
00201     }
00202     if ((*_filter).nbofvaluesperentity != _nbofvalueperentity ) {
00203       MED_ERR_(_ret,MED_ERR_NOTEQUAL,MED_ERR_ATTRIBUTE,MED_ERR_VALUE_MSG);
00204       ISCRUTE((*_filter).nbofvaluesperentity); ISCRUTE(_nbofvalueperentity );
00205       goto ERROR;
00206     }
00207   } else {
00208     (*_filter).nbofconstituentpervalue = _nbofconstituentpervalue;
00209     (*_filter).nbofvaluesperentity     = _nbofvalueperentity;
00210   }
00211 
00212 
00213   /*
00214    *  Ouverture du datagroup de niveau 3 <entitytype>
00215    */
00216   if (_MEDgetEntityTypeName(_datagroupname2,entitytype) < 0) {
00217     MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_ENTITY,MED_ERR_VALUE_MSG);
00218     ISCRUTE_int(entitytype);SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);goto ERROR;
00219   }
00220 
00221   if ((_datagroup2 = _MEDdatagroupOuvrir(_meshid,_datagroupname2)) < 0) {
00222     MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,MED_ERR_MESH_MSG);
00223     SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);
00224     goto ERROR;
00225   }
00226 
00227 
00228   /*
00229    *  Ouverture du datagroup de niveau 4 [.<geotype>]
00230    */
00231 
00232   if ( entitytype != MED_NODE ) {
00233 
00234     if (strlen(_geotypename))
00235       strncpy(_datagroupname3,_geotypename,MED_NAME_SIZE+1);
00236     else
00237       if ( _MEDgetGeometryTypeName(_datagroupname3,geotype) < 0) {
00238         MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_GEOMETRIC,MED_ERR_VALUE_MSG);
00239         ISCRUTE_int(geotype);SSCRUTE(meshname);SSCRUTE(_datagroupname2);
00240         goto ERROR;
00241       }
00242 
00243     if ((_datagroup3 = _MEDdatagroupOuvrir(_datagroup2,_datagroupname3)) < 0) {
00244           MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,MED_ERR_MESH_MSG);
00245           SSCRUTE(meshname);SSCRUTE(_datagroupname2);SSCRUTE(_datagroupname3);
00246           goto ERROR;
00247     }
00248   }
00249 
00250 
00251   if (_datagroup3) _datagroup=_datagroup3; else _datagroup=_datagroup2;
00252 
00253 
00254   /*
00255    * Cohérence de l'attribut PFL (nombre de noeuds ou d'elements)
00256    */
00257   if ( strlen((*_filter).profilename)  ) {  /* != MED_NOPFL*/
00258     MED_ERR_(_ret,MED_ERR_NULL,MED_ERR_PROFILE,(*_filter).profilename);
00259     SSCRUTE(meshname);SSCRUTE(_datagroupname2);
00260     SSCRUTE(_datagroupname3);goto ERROR;
00261   }
00262 
00263   if ((*_filter).storagemode != MED_GLOBAL_PFLMODE ) {
00264     MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_FILTER,"");
00265     ISCRUTE_int(geotype);SSCRUTE(meshname);SSCRUTE(_datagroupname2);
00266     ISCRUTE_int((*_filter).storagemode);goto ERROR;
00267   }
00268 
00269   switch(meddatatype)
00270     {
00271 
00272     case MED_COORDINATE_AXIS1 :
00273       strcpy(_datasetname,MED_NOM_IN1);
00274       if (_gridtype == MED_CURVILINEAR_GRID) goto CURVILINEAR_LABEL; else goto COORDINATE_LABEL;
00275 
00276     case MED_COORDINATE_AXIS2 :
00277       strcpy(_datasetname,MED_NOM_IN2);
00278       if (_gridtype == MED_CURVILINEAR_GRID) goto CURVILINEAR_LABEL; else goto COORDINATE_LABEL;
00279 
00280     case MED_COORDINATE_AXIS3 :
00281       strcpy(_datasetname,MED_NOM_IN3);
00282       if (_gridtype == MED_CURVILINEAR_GRID) goto CURVILINEAR_LABEL; else goto COORDINATE_LABEL;
00283 
00284     CURVILINEAR_LABEL:
00285       if ((_dataset = _MEDdatasetOuvrir(_datagroup,MED_NOM_COO)) < 0) {
00286         MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATASET,MED_NOM_COO);
00287         goto ERROR;
00288       }
00289 
00290       if (_MEDattrEntierLire(_dataset,_datasetname, (unsigned char*) value ) < 0) {
00291         MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,_datasetname);
00292         goto ERROR;
00293       }
00294       break;
00295 
00296 
00297     case MED_COORDINATE :
00298     COORDINATE_LABEL:
00299       if (_MEDdatasetNumLire(_datagroup,_datasetname,MED_FLOAT64,
00300                                     (med_mode_switch) (*_filter).switchmode ,
00301                                     (med_size)        (*_filter).nbofconstituentpervalue,
00302                                     (med_size)        (*_filter).constituentselect,
00303                                     (med_size)        (*_filter).filterarraysize,
00304                                     MED_COMPACT,MED_PFL_NON_COMPACT,
00305                                     (*_filter).filterarray23v30,
00306                                     MED_NOPG, 0, (unsigned char*) value ) < 0)
00307         goto ERROR;
00308       break;
00309 
00310 
00311     case MED_INDEX_FACE :
00312     case MED_INDEX_NODE :
00313       switch(cmode)
00314         {
00315         case MED_NODAL :
00316           switch(meddatatype)
00317             {
00318             case MED_CONNECTIVITY :
00319               strcpy(_datasetname,MED_NOM_NOD);
00320               break;
00321             case MED_INDEX_FACE :
00322               if (geotype == MED_POLYHEDRON)
00323                 strcpy(_datasetname,MED_NOM_INN);
00324               else
00325                 strcpy(_datasetname,MED_NOM_IFN);
00326               break;
00327             case MED_INDEX_NODE :
00328               if (geotype == MED_POLYHEDRON)
00329                 strcpy(_datasetname,MED_NOM_IFN);
00330               else
00331                 strcpy(_datasetname,MED_NOM_INN);
00332               break;
00333             }
00334           break;
00335 
00336         case MED_DESCENDING :
00337           switch(meddatatype)
00338             {
00339             case MED_CONNECTIVITY :
00340               strcpy(_datasetname,MED_NOM_DES);
00341               break;
00342             case MED_INDEX_FACE :
00343               if (geotype == MED_POLYHEDRON)
00344                 strcpy(_datasetname,MED_NOM_IND);
00345               else
00346                 strcpy(_datasetname,MED_NOM_IFD);
00347               break;
00348             case MED_INDEX_NODE :
00349               if (geotype == MED_POLYHEDRON)
00350                 strcpy(_datasetname,MED_NOM_IFD);
00351               else
00352                 strcpy(_datasetname,MED_NOM_IND);
00353               break;
00354             }
00355           break;
00356 
00357         default :
00358           MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_CONNECTIVITYMODE,MED_ERR_VALUE_MSG);
00359           ISCRUTE_int(cmode);goto ERROR;
00360         }
00361 
00362     case MED_CONNECTIVITY :
00363 #if defined(HAVE_F77INT64)
00364       if ( _MEDdatasetNumLire(_datagroup,_datasetname,MED_INT64,
00365                               (med_mode_switch) (*_filter).switchmode ,
00366                               (med_size) (*_filter).nbofconstituentpervalue,
00367                               (med_size) (*_filter).constituentselect,
00368                               (med_size) (*_filter).filterarraysize,MED_COMPACT,MED_PFL_NON_COMPACT,
00369                               (*_filter).filterarray23v30,
00370                               MED_NOPG, 0, (unsigned char*) value ) < 0)
00371         goto ERROR;
00372 #else
00373       if ( _MEDdatasetNumLire(_datagroup,_datasetname,MED_INT32,
00374                               (med_mode_switch) (*_filter).switchmode ,
00375                               (med_size) (*_filter).nbofconstituentpervalue,
00376                               (med_size) (*_filter).constituentselect,
00377                               (med_size) (*_filter).filterarraysize,MED_COMPACT,MED_PFL_NON_COMPACT,
00378                               (*_filter).filterarray23v30,
00379                               MED_NOPG, 0, (unsigned char*) value ) < 0)
00380         goto ERROR;
00381 #endif
00382 
00383       break;
00384 
00385     case MED_NAME :
00386       if (_MEDdatasetStringLire(_datagroup,_datasetname,(char *) value) < 0)
00387         goto ERROR;
00388       break;
00389 
00390     case MED_NUMBER :
00391     case MED_GLOBAL_NUMBER :
00392     case MED_FAMILY_NUMBER :
00393 #if defined(HAVE_F77INT64)
00394       if (_MEDdatasetNumLire(_datagroup,_datasetname,MED_INT64,
00395                              MED_NO_INTERLACE,
00396                              (med_size)1,
00397                              (med_size) (*_filter).constituentselect,
00398                              (med_size) MED_NOPF,MED_NO_PFLMOD,MED_PFL_NON_COMPACT,
00399                              (med_size *) NULL, MED_NOPG,0,
00400                              (unsigned char*) value) < 0)
00401         goto ERROR;
00402 #else
00403       if (_MEDdatasetNumLire(_datagroup,_datasetname,MED_INT32,
00404                              MED_NO_INTERLACE,
00405                              (med_size) 1,
00406                              (med_size) (*_filter).constituentselect,
00407                              (med_size) MED_NOPF,MED_NO_PFLMOD,MED_PFL_NON_COMPACT,
00408                              (med_size *) NULL, MED_NOPG,0,
00409                              (unsigned char*) value) < 0)
00410         goto ERROR;
00411 #endif
00412       break;
00413 
00414 
00415     case MED_COORDINATE_TRSF :
00416     default :
00417       MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_MEDDATATYPE,MED_ERR_VALUE_MSG);
00418       ISCRUTE_int(meddatatype);goto ERROR;
00419     }
00420 
00421 
00422   _ret = 0;
00423 
00424  ERROR:
00425 
00426 /*   if (!_filterparameterexist) { */
00427 /*     if ( MEDfilterClose(_filter) < 0 ) { */
00428 /*       MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_FILTER,MED_ERR_MESH); */
00429 /*     SSCRUTE(meshname);ISCRUTE(numit);ISCRUTE(numdt);SSCRUTE(_datagroupname2);SSCRUTE(_datagroupname3); */
00430 /*     SSCRUTE(_profilename);goto ERROR; */
00431 /*     } */
00432 /*   } */
00433 
00434 /*   if (_dataset>0)     if (_MEDdatasetFermer(_dataset) < 0) { */
00435 /*     MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATASET,MED_NOM_COO); */
00436 /*     ISCRUTE_id(_dataset); */
00437 /*   } */
00438 
00439 /*   if (_datagroup4>0)     if (_MEDdatagroupFermer(_datagroup4) < 0) { */
00440 /*     MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,MED_VARATR_NOM); */
00441 /*     ISCRUTE_id(_datagroup4); */
00442 /*   } */
00443 
00444   if (_dataset>0)     if (_MEDdatasetFermer(_dataset) < 0) {
00445     MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATASET,MED_NOM_COO);
00446     ISCRUTE_id(_dataset);
00447   }
00448 
00449   if (_datagroup3>0)     if (_MEDdatagroupFermer(_datagroup3) < 0) {
00450     MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_datagroupname3);
00451     ISCRUTE_id(_datagroup3);
00452   }
00453 
00454   if (_datagroup2>0)     if (_MEDdatagroupFermer(_datagroup2) < 0) {
00455     MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_datagroupname2);
00456     ISCRUTE_id(_datagroup2);
00457   }
00458 
00459 /*   if (_datagroup1>0)     if (_MEDdatagroupFermer(_datagroup1) < 0) { */
00460 /*     MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_datagroupname1); */
00461 /*     ISCRUTE_id(_datagroup1); */
00462 /*   } */
00463 
00464   if (_meshid>0)            if (_MEDdatagroupFermer(_meshid) < 0) {
00465     MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_meshpath);
00466     ISCRUTE_id(_meshid);
00467   }
00468 
00469 
00470   va_end(params);
00471   *fret = _ret;
00472 
00473   return;
00474 }
00475 

Généré le Mon May 16 17:10:22 2011 pour MED fichier par  doxygen 1.6.1