1 #include "med_outils.hxx"
7 MEDgridLire(med_idt fid, char *maa, med_int mdim, med_float *coo, med_int dim, med_mode_switch mode_coo,
8 med_repere *repere, char *nomcoo, char *unicoo )
10 med_idt maaid, noeid, ds;
11 char chemin[MED_TAILLE_MAA+MED_TAILLE_NOM+1];
15 /* On inhibe le gestionnaire d'erreur */
16 _MEDmodeErreurVerrouiller();
18 /* Si le maillage n'existe pas => erreur */
19 strcpy(chemin, MED_MAA);
21 maaid = _MEDdatagroupOuvrir(fid, chemin);
22 if (maaid < 0) return(-1);
24 /* Si le Data Group "NOE" n'existe pas => erreur */
25 noeid = _MEDdatagroupOuvrir(maaid, MED_NOM_NOE);
26 if (noeid < 0) return(-1);
30 dataset = MED_NOM_IN1;
34 dataset = MED_NOM_IN2;
38 dataset = MED_NOM_IN3;
46 /* Lecture du Data Set "IN1" ou "IN2" ou "IN3" */
47 if (_MEDdatasetNumLire(noeid, dataset, MED_REEL64, mode_coo, 1, MED_ALL, MED_NOPF, 0, 1, (unsigned char*)coo) < 0) {
51 /* On re-ouvre le Data Set precedant pour y lire des attributs */
52 ds = _MEDdatasetOuvrir(noeid, dataset);
53 if (ds < 0) return(-1);
55 /* L'attribut "REP" */
56 if (_MEDattrEntierLire(ds, MED_NOM_REP, &type_rep_int) < 0) {
59 *repere = (med_repere)type_rep_int;
63 if (_MEDattrStringLire(ds, MED_NOM_NOM, mdim*MED_TAILLE_PNOM, nomcoo) < 0) {
68 if (_MEDattrStringLire(ds, MED_NOM_UNI, mdim*MED_TAILLE_PNOM, unicoo) < 0) {
73 if (_MEDdatasetFermer(ds) < 0) {
76 if (_MEDdatagroupFermer(noeid) < 0) {
79 if (_MEDdatagroupFermer(maaid) < 0) {