Salome HOME
committing the version in the main trunk of the CVS tree the branch
[modules/med.git] / src / MEDWrapper / V2_1 / med_proto.hxx
1 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 // 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either 
7 // version 2.1 of the License.
8 // 
9 // This library 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 GNU 
12 // Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public  
15 // License along with this library; if not, write to the Free Software 
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 //
18 // See http://www.salome-platform.org/
19 //
20 /*************************************************************************
21 * COPYRIGHT (C) 1999 - 2002  EDF R&D
22 * THIS LIBRARY IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23 * IT UNDER THE TERMS OF THE GNU LESSER GENERAL PUBLIC LICENSE 
24 * AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION; 
25 * EITHER VERSION 2.1 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
26 *
27 * THIS LIBRARY IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28 * WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30 * LESSER GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31 *
32 * YOU SHOULD HAVE RECEIVED A COPY OF THE GNU LESSER GENERAL PUBLIC LICENSE
33 * ALONG WITH THIS LIBRARY; IF NOT, WRITE TO THE FREE SOFTWARE FOUNDATION,
34 * INC., 59 TEMPLE PLACE, SUITE 330, BOSTON, MA 02111-1307 USA
35 *
36 *************************************************************************/
37
38 #ifndef MED_PROTO_H
39 #define MED_PROTO_H
40
41 /* Interface de l'API MED */
42 namespace med_2_1{
43 /* Fichier */
44 extern med_idt
45 MEDouvrir(char *nom, med_mode_acces mode_acces);
46 extern med_err 
47 MEDfermer(med_idt fid); 
48 extern med_int
49 MEDlFichDes(med_idt fid);
50 extern med_err 
51 MEDfichEntete(med_idt fid, med_fich_info quoi, char str[]); 
52 extern med_err 
53 MEDfichDesEcr(med_idt fid, char *des, med_mode_acces mode); 
54 extern med_err
55 MEDunvCr(med_idt fid, char *maa);
56 extern med_err
57 MEDunvLire(med_idt fid, char *maa,char *nomu);
58 extern med_err
59 MEDformatConforme(const char * nomfich);
60 extern med_err
61 MEDversionConforme(const char *nom);
62 extern void
63 MEDversionDonner(med_int *majeur, med_int *mineur, med_int *release);
64 extern med_err 
65 MEDversionLire(med_idt fid, med_int *majeur, med_int *mineur, med_int *release);
66
67
68
69 /* Maillage */
70 extern med_err 
71 MEDmaaCr(med_idt fid, char *maillage, med_int dim);
72 extern med_int
73 MEDdimLire(med_idt fid, char *maillage); 
74 extern med_err 
75 MEDmaaInfo(med_idt fid, int indice, char *maillage, med_int *dim); 
76 extern med_int 
77 MEDnMaa(med_idt fid);
78 extern med_err 
79 MEDnbnosoEcr(med_idt fid, char *nom_maillage,med_int n);
80 extern med_int
81 MEDnbnosoLire(med_idt fid,char *nom_maillage);
82 extern med_err 
83 MEDnbnoisEcr(med_idt fid, char *nom_maillage,med_int n);
84 extern med_int
85 MEDnbnoisLire(med_idt fid,char *nom_maillage);
86 extern med_err
87 MEDnbnomaEcr(med_idt fid, char *nom_maillage,med_int n);
88 extern med_int
89 MEDnbnomaLire(med_idt fid,char *nom_maillage);
90
91 /* EntMaillage */
92 extern med_err 
93 MEDconnEcr(med_idt fid,char *maa, med_int mdim, med_int *connectivite,med_mode_switch mode_switch,
94            med_int nbre,med_mode_acces mode,med_entite_maillage type_ent,
95            med_geometrie_element type_geo,med_connectivite type_conn);
96
97 extern med_err 
98 MEDconnLire(med_idt fid,char *maa,med_int mdim,med_int *connectivite,med_mode_switch mode_switch,
99             med_int * pfltab, med_size psize,
100             med_entite_maillage type_ent, med_geometrie_element type_geo,med_connectivite type_conn);
101 extern med_err 
102 MEDnomEcr(med_idt fid,char *maa, char *nom, med_int n, med_mode_acces mode,
103           med_entite_maillage type_ent,med_geometrie_element type_geo); 
104 extern med_err 
105 MEDnomLire(med_idt fid,char *maa, char *nom, med_int n, 
106            med_entite_maillage type_ent,med_geometrie_element type_geo); 
107 extern med_err 
108 MEDnumLire(med_idt fid,char *maa, med_int *num, med_int n, 
109            med_entite_maillage type_ent,med_geometrie_element type_geo); 
110 extern med_err 
111 MEDnumEcr(med_idt fid,char *maa, med_int *num, med_int n, med_mode_acces mode,
112           med_entite_maillage type_ent,med_geometrie_element type_geo);
113 extern med_err 
114 MEDcoordEcr(med_idt fid, char *maa, med_int mdim, med_float *coo, 
115             med_mode_switch mode_coo,med_int n,
116             med_mode_acces mode, med_repere type_rep, char *nom, char *unit);
117 extern med_err 
118 MEDcoordLire(med_idt fid, char *maa, med_int mdim, med_float *coo,
119              med_mode_switch mode_coo,med_int numco,
120              med_int * pfltab, med_size psize, med_repere *type_rep, char *nom, char *unit);
121
122 extern med_int
123 MEDnEntMaa(med_idt fid, char *maa, med_table quoi, med_entite_maillage type_ent, 
124            med_geometrie_element type_geo, med_connectivite type_conn); 
125
126
127 /* Resultat */
128 extern med_err MEDchampCr(med_idt fid, char *champ, med_type_champ type, char *comp,
129                    char *unit,med_int ncomp);
130
131 extern med_err 
132 MEDchampEcr(med_idt fid, char *maa, char *cha,unsigned char *val,med_mode_switch interlace,med_int nbelem,med_int ngauss, 
133             med_int numco, char * profil, med_mode_acces mode, med_entite_maillage type_ent, 
134             med_geometrie_element type_geo, med_int numdt,char * dt_unit, med_float dt, med_int numo);
135
136 extern med_err 
137 MEDchampLire(med_idt fid,char *maa, char *cha, unsigned char *val,med_mode_switch interlace,med_int numco,
138              char *profil,med_entite_maillage type_ent, med_geometrie_element type_geo,
139              med_int numdt, med_int numo);
140  
141 extern med_err
142 MEDchampInfo(med_idt fid,int indice,char *champ,
143                      med_type_champ *type,char *comp,char *unit, 
144                      med_int ncomp);
145
146 extern med_int 
147 MEDnChamp(med_idt fid, int indice); 
148
149 extern med_int
150 MEDnVal(med_idt fid, char *champ, med_entite_maillage typ_ent, 
151         med_geometrie_element typ_geo,med_int numdt, med_int numo);
152
153
154 /* Famille  */
155 extern med_err 
156 MEDfamEcr(med_idt fid,char *maa, med_int *fam, med_int n, med_mode_acces mode,
157           med_entite_maillage type_ent, med_geometrie_element type_geo); 
158 extern med_err 
159 MEDfamLire(med_idt fid,char *maa, med_int *fam, med_int n, 
160            med_entite_maillage type_ent,med_geometrie_element type_geo);
161 extern med_err 
162 MEDfamCr(med_idt fid,char* maa,char *famille,med_int numero, 
163          med_int *attr_ident, med_int *attr_val,char *attr_desc,med_int n_attr,
164          char *groupe , med_int n_groupe);
165 extern med_int 
166 MEDnFam(med_idt fid,char *maa, int indice, med_dim_famille quoi);
167  
168 extern med_err 
169 MEDfamInfo(med_idt fid,char *maa,int indice, char *famille, 
170            med_int *numero,
171            med_int *attr_ident, med_int *attr_val, char *attr_desc,
172            med_int *n_attr,char *groupe ,med_int *n_groupe); 
173  
174 /* Equivalence    */
175 extern med_err 
176 MEDequivCr(med_idt fid,char *maa, char *eq, char *desc); 
177 extern med_err 
178 MEDequivLire(med_idt fid, char *maa, char *eq, med_int *corr, med_int n,
179             med_entite_maillage typ_ent,med_geometrie_element typ_geo); 
180 extern med_err 
181 MEDequivEcr(med_idt fid, char *maa, char *eq, med_int *corr, med_int n, 
182             med_mode_acces mode, med_entite_maillage typ_ent, med_geometrie_element typ_geo); 
183 extern med_err 
184 MEDequivInfo(med_idt fid, char *maa, int ind, char *eq, char *des);
185 extern med_int 
186 MEDnEquiv(med_idt fid, char *maa);
187 extern med_int 
188 MEDnCorres(med_idt fid,char *maa,char *eq,med_entite_maillage typ_ent,
189            med_geometrie_element typ_geo); 
190
191
192 /* Routines de niveau intermediaire */
193 extern med_int
194 MEDnEntites(med_idt fid,char *maa,med_entite_maillage typ_ent, 
195             med_connectivite typ_con);
196
197 extern med_err
198 MEDnoeudsLire(med_idt fid,char *maa,med_int mdim, med_float *coord,
199               med_mode_switch mode_coo,
200               med_repere *repere,char *nomcoo, char *unicoo,char *nom,
201               med_booleen *inom,med_int *num,med_booleen *inum,med_int *fam,
202               med_int nnoeuds);
203
204 extern med_err
205 MEDnoeudsEcr(med_idt fid,char *maa,med_int mdim,med_float *coord,
206              med_mode_switch mode_coo,
207              med_repere repere,char *nomcoo, char *unicoo,char *nom,
208              med_booleen inom,med_int *num,med_booleen inum,med_int *fam,
209              med_int nnoeuds,med_mode_acces mode);
210 extern med_err
211 MEDelementsEcr(med_idt fid,char *maa,med_int mdim,med_int *connectivite,med_mode_switch mode_switch,
212                char *nom,med_booleen inom,med_int *num,med_booleen inum,
213                med_int *fam,med_int nele,med_entite_maillage typ_ent, 
214                med_geometrie_element typ_geo,med_connectivite typ_conn,med_mode_acces mode);
215 extern med_err
216 MEDelementsLire(med_idt fid,char *maa,med_int mdim,med_int *connectivite,med_mode_switch mode_switch,
217                char *nom,med_booleen *inom,med_int *num,med_booleen *inum,
218                med_int *fam,med_int nele,med_entite_maillage typ_ent, 
219                med_geometrie_element typ_geo,med_connectivite typ_conn);
220
221 /* Routines de haut niveau    */
222
223 /*(? On enlève le reste ?)*/
224
225 extern med_err
226 MEDfamMaaInfo(med_idt fid,char *maa,med_int *nfam,med_int *nattc,
227               med_int *ngroc);
228
229 extern med_err
230 MEDfamMaaLire(med_idt fid,char *maa,
231               med_int *numfam,med_int *attide,
232               med_int *attval,char *attdes,int *indatt,char *gro,int *indgro,
233               med_int nfamilles);
234
235 extern med_err
236 MEDfamMaaCr(med_idt fid,char *maa,
237             med_int *numfam,med_int *attide,
238             med_int *attval,char *attdes,int *indatt,char *gro,int *indgro,
239             med_int nfamilles);
240
241 /* Routines concernant les profils */
242
243 extern med_err 
244 MEDprofilInfo(med_idt fid, int indice, char *profil, med_int *n); 
245
246 extern med_int 
247 MEDnProfil(med_idt fid);
248
249 extern med_err 
250 MEDprofilEcr(med_idt fid,med_int *pflval,med_int n,char *nom);
251
252 extern med_int 
253 MEDnValProfil(med_idt fid, char *nom);
254
255 extern med_err 
256 MEDprofilLire(med_idt fid, med_int *pflval, char *nom);
257
258 /* Routines concernant les pas de temps/ numéros d'ordre */
259
260 extern med_int
261 MEDnPasdetemps(med_idt fid,char *cha,med_entite_maillage type_ent, 
262                med_geometrie_element type_geo);
263
264 extern med_err 
265 MEDpasdetempsInfo(med_idt fid,char *champ
266                   ,med_entite_maillage type_ent, med_geometrie_element type_geo,
267                   int indice, char *maa, med_int * ngauss, med_int * numdt, char * dt_unit, med_float * dt, 
268                   med_int * numo);
269
270 /* Grilles */
271
272 med_int MEDnGrid(med_idt fid, char *maa, med_grid n);
273 med_err MEDgridCr(med_idt fid, char *maillage, med_int dim, med_grid_type typ);
274 med_err MEDgridInfo(med_idt fid, int indice, med_int *isAGrid, med_grid_type *typ);
275 med_err MEDgridEcr(
276         med_idt fid, char *maa, med_int mdim, med_float *coo, med_int nb, med_int dim, med_mode_switch mode_coo,
277         med_repere repere, char *nomcoo, char *unicoo, med_mode_acces mode );
278 med_err MEDgridLire(
279         med_idt fid, char *maa, med_int mdim, med_float *coo, med_int dim, med_mode_switch mode_coo,
280         med_repere *repere, char *nomcoo, char *unicoo );
281 med_err MEDfamGridEcr(med_idt fid, char *maa, med_int *fam, med_int n, med_mode_acces mode, med_entite_maillage type_ent);
282 med_err MEDfamGridLire(med_idt fid, char *maa, med_int *fam, med_int n, med_entite_maillage type_ent);
283 med_err MEDbodyFittedEcr(
284         med_idt fid, char *maa, med_int mdim, med_float *coo, med_int *nbr, med_mode_switch mode_coo,
285         med_repere repere, char *nomcoo, char *unicoo, med_int *fam, med_int nnoeuds, med_mode_acces mode );
286 med_err MEDbodyFittedLire(
287         med_idt fid, char *maa, med_int mdim, med_float *coo, med_mode_switch mode_coo,
288         med_repere *repere, char *nomcoo, char *unicoo, med_int *fam, med_int nnoeuds );
289 }
290
291 #endif /* MED_PROTO_H */
292
293
294
295