1 /*  This file is part of MED.
2  *
3  *  COPYRIGHT (C) 1999 - 2019  EDF R&D, CEA/DEN
4  *  MED is free software: you can redistribute it and/or modify
5  *  it under the terms of the GNU Lesser General Public License as published by
6  *  the Free Software Foundation, either version 3 of the License, or
7  *  (at your option) any later version.
8  *
9  *  MED is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU Lesser General Public License for more details.
13  *
14  *  You should have received a copy of the GNU Lesser General Public License
15  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 
19 #include <med.h>
20 #include <med_config.h>
21 #include <med_outils.h>
22 #include <hdf5.h>
23 #include <string.h>
24 
25 /**\ingroup MEDfilter
26    \MEDfilterBrief
27    \param fid \fid
28    \param nentity \nentity \nentityMEDfilterCm
29    \param nvaluesperentity \nvaluesperentity \nvaluesperentityMEDfilterCm \nvaluesperentityMEDfilterEx
30    \param nconstituentpervalue \nconstituentpervalue \nconstituentpervalueMEDfilterEx
31    \param constituentselect \constituentselect \constituentselectMEDfilterEx
32    \param switchmode \switchmode
33    \param storagemode \storagemode
34    \param profilename \profilename
35    \param filterarraysize \filterarraysize \filterarraysizeMEDfilterCm
36    \param filterarray \filterarray
37 
38    \retval filter \filter \filterMEDfilterCm
39    \return \error
40 
41    \details
42    \MEDfilterDetails
43 
44    \remarks
45    \MEDfilterNote
46 
47    \see MEDmeshNodeCoordinateAdvancedRd
48    \see MEDmeshNodeCoordinateAdvancedWr
49    \see MEDmeshEntityAttributeAdvancedRd
50    \see MEDmeshEntityAttributeAdvancedWr
51    \see MEDmeshElementConnectivityAdvancedRd
52    \see MEDmeshElementConnectivityAdvancedWr
53 
54 */
55 
MEDfilterEntityCr(const med_idt fid,const med_int nentity,const med_int nvaluesperentity,const med_int nconstituentpervalue,const med_int constituentselect,const med_switch_mode switchmode,const med_storage_mode storagemode,const char * const profilename,const med_int filterarraysize,const med_int * const filterarray,med_filter * const filter)56 med_err MEDfilterEntityCr(const med_idt           fid,
57 			  const med_int           nentity,
58 			  const med_int           nvaluesperentity,
59 			  const med_int           nconstituentpervalue,
60 			  const med_int           constituentselect,
61 			  const med_switch_mode   switchmode,
62 			  const med_storage_mode  storagemode,
63 			  const char * const      profilename,
64 			  const med_int           filterarraysize,
65 			  const med_int * const   filterarray,
66 			  med_filter* const       filter )
67 {
68   char *  name = "_MEDfilterEntityCr";
69   int     dummy=0;
70   med_err fret=-1;
71   med_int majeur, mineur, release;
72   MedFuncType func;
73 
74   MEDfileNumVersionRd(fid, &majeur, &mineur, &release);
75   func = _MEDversionedApi3(name,majeur,mineur,release);
76   if ( func != (MedFuncType) NULL )
77     func (dummy,
78 	  fid,
79 	  nentity,
80 	  nvaluesperentity,
81 	  nconstituentpervalue,
82 	  constituentselect,
83 	  switchmode,
84 	  storagemode,
85 	  profilename,
86 	  filterarraysize,
87 	  filterarray,
88 	  filter,
89 	  &fret);
90   return fret;
91 }
92