1 #include "med_outils.hxx"
9 MEDgridLire(med_idt fid, char *maa, med_int mdim, med_float *coo, med_int dim, med_mode_switch mode_coo,
10 med_repere *repere, char *nomcoo, char *unicoo )
12 med_idt maaid, noeid, ds;
13 char chemin[MED_TAILLE_MAA+MED_TAILLE_NOM+1];
17 /* On inhibe le gestionnaire d'erreur */
18 _MEDmodeErreurVerrouiller();
20 /* Si le maillage n'existe pas => erreur */
21 strcpy(chemin, MED_MAA);
23 maaid = _MEDdatagroupOuvrir(fid, chemin);
24 if (maaid < 0) return(-1);
26 /* Si le Data Group "NOE" n'existe pas => erreur */
27 noeid = _MEDdatagroupOuvrir(maaid, MED_NOM_NOE);
28 if (noeid < 0) return(-1);
32 dataset = MED_NOM_IN1;
36 dataset = MED_NOM_IN2;
40 dataset = MED_NOM_IN3;
48 /* Lecture du Data Set "IN1" ou "IN2" ou "IN3" */
49 if (_MEDdatasetNumLire(noeid, dataset, MED_REEL64, mode_coo, 1, MED_ALL, MED_NOPF, 0, 1, (unsigned char*)coo) < 0) {
53 /* On re-ouvre le Data Set precedant pour y lire des attributs */
54 ds = _MEDdatasetOuvrir(noeid, dataset);
55 if (ds < 0) return(-1);
57 /* L'attribut "REP" */
58 if (_MEDattrEntierLire(ds, MED_NOM_REP, &type_rep_int) < 0) {
61 *repere = (med_repere)type_rep_int;
65 if (_MEDattrStringLire(ds, MED_NOM_NOM, mdim*MED_TAILLE_PNOM, nomcoo) < 0) {
70 if (_MEDattrStringLire(ds, MED_NOM_UNI, mdim*MED_TAILLE_PNOM, unicoo) < 0) {
75 if (_MEDdatasetFermer(ds) < 0) {
78 if (_MEDdatagroupFermer(noeid) < 0) {
81 if (_MEDdatagroupFermer(maaid) < 0) {