00001 /* This file is part of MED. 00002 * 00003 * COPYRIGHT (C) 1999 - 2015 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 <hdf5.h> 00023 00024 /* 00025 * - Nom de la fonction : _MEDdatasetNumLire 00026 * - Description : lecture d'un dataset tableau numerique 00027 * - Parametres : 00028 * - pere (IN) : l'ID de l'objet HDF pere ou placer l'attribut 00029 * - nom (IN) : le nom du dataset 00030 * - type (IN) : type numerique MED 00031 * - interlace (IN) : Choix du type d'entrelacement demandé par l'appelant { MED_FULL_INTERLACE(x1,y1,z1,x2,...)) , MED_NO_INTERLACE(x1,x2,y1,y2,z1,z2) } 00032 * - nbdim (IN) : Dimension des éléments 00033 * - fixdim (IN) : MED_ALL ou n° de la dimension a enregistrer à partir de 1..oo 00034 * - psize (IN) : Taille du profil à utiliser, MED_NOPF si pas de profil 00035 * - pflmod (IN) : Indique comment lire les informations en mémoire { MED_COMPACT, MED_GLOBAL }. 00036 * - pfltab (IN) : Tableau contenant les n° déléments à traiter (1....oo) 00037 * - ngauss (IN) : Nombre de points de GAUSS par élément 00038 * - val (OUT) : valeurs du tableau 00039 * - Resultat : 0 en cas de succes, -1 sinon 00040 * Equivalent à l'ancienne routine si .....,MED_NO_INTERLACE,1,MED_ALL,MED_NOPF,0,1 (peu importe),.... 00041 */ 00042 00043 00044 med_err _MEDdatasetNumLire(med_idt pere,char *nom,med_type_champ type, 00045 med_mode_switch interlace, med_size nbdim, med_size fixdim, 00046 med_size psize, med_mode_profil pflmod, med_int pflcmp, med_size * pfltab, 00047 med_int ngauss, med_int nbelem, unsigned char *val) 00048 { 00049 char * name = "_MEDdatasetNumLire"; 00050 int dummy=0; 00051 med_err fret=-1; 00052 med_int majeur, mineur, release; 00053 MedFuncType func; 00054 00055 MEDversionLire(pere, &majeur, &mineur, &release); 00056 00057 func = _MEDversionedApi(name,majeur,mineur,release); 00058 if ( func != (MedFuncType) NULL ) 00059 func (dummy, pere, nom, type, 00060 interlace, nbdim, fixdim, 00061 psize, pflmod, pflcmp, pfltab, 00062 ngauss, nbelem, val, &fret); 00063 00064 return fret; 00065 }