Back to index

salome-med  6.5.0
MEDfamMaaLire.cxx
Go to the documentation of this file.
00001 /*************************************************************************
00002 * COPYRIGHT (C) 1999 - 2002  EDF R&D
00003 * THIS LIBRARY IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
00004 * IT UNDER THE TERMS OF THE GNU LESSER GENERAL PUBLIC LICENSE 
00005 * AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION; 
00006 * EITHER VERSION 2.1 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
00007 *  
00008 * THIS LIBRARY IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
00009 * WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
00010 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
00011 * LESSER GENERAL PUBLIC LICENSE FOR MORE DETAILS.
00012 *
00013 * YOU SHOULD HAVE RECEIVED A COPY OF THE GNU LESSER GENERAL PUBLIC LICENSE
00014 * ALONG WITH THIS LIBRARY; IF NOT, WRITE TO THE FREE SOFTWARE FOUNDATION,
00015 * INC., 59 TEMPLE PLACE, SUITE 330, BOSTON, MA 02111-1307 USA
00016 *
00017 *************************************************************************/
00018 
00019 #include "med.hxx"
00020 #include "med_outils.hxx"
00021 
00022 namespace med_2_1{
00023 
00024 med_err
00025 MEDfamMaaLire(med_idt fid,char *maa,med_int *numfam,med_int *attide,
00026               med_int *attval,char *attdes,int *indatt,char *gro,int *indgro,
00027               med_int nfamilles)
00028 {
00029   med_err ret;
00030   med_int natt,ngro;
00031   med_int i;
00032   char nom[MED_TAILLE_NOM+1];
00033 
00034   *indatt = 0;
00035   *indgro = 0;
00036   for (i=0;i<nfamilles;i++)
00037     {
00038       if ((ret = MEDfamInfo(fid,maa,i+1,nom,numfam+i,attide+*(indatt+i),
00039                             attval+*(indatt+i),
00040                             attdes+*(indatt+i)*MED_TAILLE_DESC,
00041                             &natt,gro+*(indgro+i),&ngro)) < 0)
00042         return -1;
00043       *(indatt+i+1) = *(indatt+i)+natt;
00044       *(indgro+i+1) = *(indgro+i)+ngro*MED_TAILLE_LNOM;
00045     }
00046     
00047   return 0;
00048 }
00049 
00050 }