#define MESGERR 1
#include <string.h>
#ifdef DEF_LECT_ECR
#define MODE_ACCES MED_ACC_RDWR
#elif DEF_LECT_AJOUT
#define MODE_ACCES MED_ACC_RDEXT
#else
#define MODE_ACCES MED_ACC_CREAT
#endif
int main (
int argc,
char **argv)
{
char *nomnoe=NULL;
med_int *numnoe=NULL, *nufano=NULL;
if (fid < 0) {
MESSAGE(
"Erreur a l'ouverture du fichier test4.med");
return -1;
}
MESSAGE(
"Erreur a la lecture de la dimension de l'espace du maillage :");
ret = -1;
}
if (
MEDmeshInfo( fid, 1, maa, &sdim, &mdim, &type, desc, dtunit, &sort,
&nstep, &rep, nomcoo,unicoo) < 0 ) {
MESSAGE(
"Erreur a la lecture des informations sur le maillage : ");
SSCRUTE(maa);
return -1;
} else {
printf(
"Maillage de nom : |%s| , de dimension : "IFORMAT" , et de type %d\n",maa,mdim,type);
printf(
"\t -Dimension de l'espace : "IFORMAT"\n",sdim);
printf("\t -Description du maillage : |%s|\n",desc);
printf("\t -Noms des axes : |%s|\n",nomcoo);
printf("\t -Unités des axes : |%s|\n",unicoo);
printf("\t -Type de repère : %d\n",rep);
printf(
"\t -Nombre d'étape de calcul : "IFORMAT"\n",nstep);
printf("\t -Unité des dates : |%s|\n",dtunit);
}
MESSAGE(
"Aucune définition des attributs des noeuds du maillage");
} else {
printf(
"\t -Nombre de noeuds isolés : "IFORMAT"\n",isolatednodes);
printf(
"\t -Nombre de noeuds sommets : "IFORMAT"\n",verticesnodes);
printf(
"\t -Nombre maximum de noeuds par maille : "IFORMAT"\n",cellmaxnodes);
}
&chgt,&trsf);
if (nnoe < 0) {
MESSAGE(
"Erreur a la lecture du nombre de noeuds dans : ");
ret = -1;
} else
printf(
"Nombre de noeuds : "IFORMAT" \n",nnoe);
if (nnoe > 0) {
}
NULL, &filter) < 0 ) {
MESSAGE(
"Erreur à la création du filtre 1.");
}
if (nnoe > 0) {
&filter, coo1) < 0 ) {
MESSAGE(
"Erreur a la lecture des coordonnees des noeuds");
ret = -1;
} else {
printf("Valeur de coo1 : ");
for (i=0;i<nnoe*sdim;i++)
printf("%4.2f ",coo1[i]);
printf("\n");
}
}
NULL, &filter) < 0 ) {
MESSAGE(
"Erreur à la création du filtre 2.");
}
if (nnoe > 0) {
&filter, coo1) < 0 ) {
MESSAGE(
"Erreur a la lecture des coordonnees des noeuds");
ret = -1;
} else {
printf("Valeur de coo1 : ");
for (i=0;i<nnoe*sdim;i++)
printf("%4.2f ",coo1[i]);
printf("\n");
}
}
flt, &filter) < 0 ) {
MESSAGE(
"Erreur à la création du filtre 3.");
}
if (nnoe > 0) {
&filter, coo2) < 0 ) {
MESSAGE(
"Erreur a la lecture des coordonnees des noeuds");
ret = -1;
} else {
printf("Valeur de coo2 : ");
for (i=0;i<nnoe*sdim;i++)
printf("%4.2f ",coo2[i]);
printf("\n");
}
}
flt, &filter) < 0 ) {
MESSAGE(
"Erreur à la création du filtre 4.");
}
if (nnoe > 0) {
&filter, coo2) < 0 ) {
MESSAGE(
"Erreur a la lecture des coordonnees des noeuds");
ret = -1;
} else {
printf("Valeur de coo2 : ");
for (i=0;i<nnoe*sdim;i++) {
printf("%4.2f ",coo2[i]);
coo2[i] = 0.0;
}
printf("\n");
}
}
flt, &filter) < 0 ) {
MESSAGE(
"Erreur à la création du filtre 5.");
}
if (nnoe > 0) {
&filter, coo2) < 0 ) {
MESSAGE(
"Erreur a la lecture des coordonnees des noeuds");
ret = -1;
} else {
printf("Valeur de coo2 : ");
for (i=0;i<nnoe*sdim;i++) {
printf("%4.2f ",coo2[i]);
coo2[i] = 0.0;
}
printf("\n");
}
}
if (nnoe > 0) {
MESSAGE(
"Erreur a la lecture des coordonnees des noeuds");
ret = -1;
} else {
printf("Valeur de coo2 : ");
for (i=0;i<nnoe*sdim;i++)
printf("%4.2f ",coo2[i]);
printf("\n");
}
}
if ((nnoe > 0)) {
else
}
if ((nnoe > 0)) {
else
}
if ((nnoe > 0))
MESSAGE(
"Erreur a la lecture des numeros de famille des noeuds");
ret = -1;
}
MESSAGE(
"Erreur a la fermeture du fichier");
ret = -1;
}
if (ret == 0 && nnoe > 0)
{
printf("Type de repere : %d \n",rep);
printf("Nom des coordonnees : \n");
for (i=0;i<sdim;i++)
{
}
printf("\nUnites des coordonnees : \n");
for (i=0;i<sdim;i++)
{
}
printf("\nCoordonnees des noeuds : \n");
for (i=0;i<nnoe*sdim;i++)
printf("%f ",*(coo2+i));
if (inonoe)
{
printf("\nNoms des noeuds : \n");
for (i=0;i<nnoe;i++)
{
}
}
if (inunoe)
{
printf("\nNumeros des noeuds : \n");
for (i=0;i<nnoe;i++)
}
printf("\nNumeros des familles des noeuds : \n");
for (i=0;i<nnoe;i++)
printf("\n");
}
if (nnoe > 0) {
free(coo1);
free(coo2);
free(nomnoe);
free(numnoe);
free(nufano);
}
return ret;
}
int main(int argc, char **argv)
MEDC_EXPORT med_err MEDfileClose(med_idt fid)
Fermeture d'un fichier MED.
MEDC_EXPORT med_idt MEDfileOpen(const char *const filename, const med_access_mode accessmode)
Ouverture d'un fichier MED.
MEDC_EXPORT med_err MEDfilterClose(med_filter *const filter)
Désalloue les ressources hdf détenues par un filtre.
MEDC_EXPORT med_err 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)
MEDC_EXPORT med_err MEDmeshNodeCoordinateRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_switch_mode switchmode, med_float *const coordinates)
Cette routine permet de lire dans un maillage le tableau des coordonnées des noeuds,...
MEDC_EXPORT med_int MEDmeshnEntity(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, const med_data_type datatype, const med_connectivity_mode cmode, med_bool *const changement, med_bool *const transformation)
Cette routine permet de lire le nombre d'entités dans un maillage pour une étape de calcul donnée.
MEDC_EXPORT med_err MEDmeshEntityNameRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, char *const name)
Cette routine permet de lire les noms d'un type d'entité d'un maillage.
MEDC_EXPORT med_err MEDmeshInfo(const med_idt fid, const int meshit, char *const meshname, med_int *const spacedim, med_int *const meshdim, med_mesh_type *const meshtype, char *const description, char *const dtunit, med_sorting_type *const sortingtype, med_int *const nstep, med_axis_type *const axistype, char *const axisname, char *const axisunit)
Cette routine permet de lire les informations relatives à un maillage dans un fichier.
MEDC_EXPORT med_err MEDmeshEntityFamilyNumberRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, med_int *const number)
Cette routine permet la lecture des numéros de famille d'un type d'entité d'un maillage.
MEDC_EXPORT med_err MEDmeshEntityNumberRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, med_int *const number)
Cette routine permet de lire les numéros d'un type d'entité d'un maillage.
MEDC_EXPORT med_err MEDmeshAttributeRd(const med_idt fid, const char *const meshname, med_int *const isolatednodes, med_int *const verticesnodes, med_int *const cellmaxnodes)
Cette routine permet la lecture des attributs optionnels d'un maillage.
MEDC_EXPORT med_int MEDmeshnAxis(const med_idt fid, const int meshit)
Cette routine permet de lire dans un maillage le nombre d'axes du repère des coordonnées des noeuds.
MEDC_EXPORT med_err MEDmeshNodeCoordinateAdvancedRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_filter *const filter, med_float *const value)
Cette routine permet de lire dans un maillage le tableau des coordonnées des noeuds,...
#define MED_ALL_CONSTITUENT