MEDnEntites.c
Aller à la documentation de ce fichier.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <med.h>
00020 #include <med_config.h>
00021
00022 med_int
00023 MEDnEntites(med_idt fid,char *maa,med_entite_maillage type_ent,
00024 med_connectivite typ_con)
00025 {
00026 med_int total = 0;
00027 int i;
00028 med_geometrie_element typ_mai[MED_NBR_GEOMETRIE_MAILLE] = {MED_POINT1,MED_SEG2,
00029 MED_SEG3,MED_TRIA3,
00030 MED_TRIA6,MED_QUAD4,
00031 MED_QUAD8,MED_TETRA4,
00032 MED_TETRA10,MED_HEXA8,
00033 MED_HEXA20,MED_PENTA6,
00034 MED_PENTA15,MED_PYRA5,
00035 MED_PYRA13};
00036 med_geometrie_element typ_fac[MED_NBR_GEOMETRIE_FACE] = {MED_TRIA3,MED_TRIA6,
00037 MED_QUAD4,MED_QUAD8};
00038 med_geometrie_element typ_are[MED_NBR_GEOMETRIE_ARETE] = {MED_SEG2,MED_SEG3};
00039 med_entite_maillage _type_ent=type_ent;
00040
00041 if ( type_ent == MED_NOEUD_MAILLE ) _type_ent=MED_NOEUD ;
00042
00043 switch (_type_ent)
00044 {
00045 case MED_MAILLE :
00046 for (i=0;i<MED_NBR_GEOMETRIE_MAILLE;i++)
00047 total += MEDnEntMaa(fid,maa,MED_CONN,MED_MAILLE,typ_mai[i],typ_con);
00048 break;
00049
00050 case MED_FACE :
00051 for (i=0;i<MED_NBR_GEOMETRIE_FACE;i++)
00052 total += MEDnEntMaa(fid,maa,MED_CONN,MED_FACE,typ_fac[i],typ_con);
00053 break;
00054
00055 case MED_ARETE :
00056 for (i=0;i<MED_NBR_GEOMETRIE_ARETE;i++)
00057 total += MEDnEntMaa(fid,maa,MED_CONN,MED_ARETE,typ_are[i],typ_con);
00058 break;
00059
00060 case MED_NOEUD :
00061 total = MEDnEntMaa(fid,maa,MED_COOR,MED_NOEUD,0,0);
00062 break;
00063
00064 default :
00065 total = -1;
00066 }
00067
00068 return total;
00069 }