2.3.6/test6.c

Aller à la documentation de ce fichier.
00001 /*  This file is part of MED.
00002  *
00003  *  COPYRIGHT (C) 1999 - 2015  EDF R&D, CEA/DEN
00004  *  MED is free software: you can redistribute it and/or modify
00005  *  it under the terms of the GNU Lesser General Public License as published by
00006  *  the Free Software Foundation, either version 3 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  MED is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU Lesser General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU Lesser General Public License
00015  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
00016  */
00017 
00018 
00019 /******************************************************************************
00020  * - Nom du fichier : test6.c
00021  *
00022  * - Description : ecriture d'elements dans un maillage MED
00023  *
00024  *****************************************************************************/
00025 
00026 #include <med.h>
00027 #define MESGERR 1
00028 #include <med_utils.h>
00029 
00030 #ifdef DEF_LECT_ECR
00031 #define MODE_ACCES MED_LECTURE_ECRITURE
00032 #elif DEF_LECT_AJOUT
00033 #define MODE_ACCES MED_LECTURE_AJOUT
00034 #else
00035 #define MODE_ACCES MED_CREATION
00036 #endif
00037 
00038 int main (int argc, char **argv)
00039 
00040 
00041 {
00042   med_idt fid;
00043   med_int nse2 = 5;
00044   med_int se2[10] = {1,2,1,3,2,4,3,4,2,3};
00045   /*                                12345678901234561234567890123456123456789012345612345678901234561234567890123456*/
00046   char nomse2[MED_TAILLE_PNOM*5+1]="se1             se2             se3             se4             se5             ";
00047   med_int numse2[5] = {1,2,3,4,5};
00048   med_int nufase2[5] = {-1,-1,0,-2,-3}; 
00049   med_int ntr3 = 2;
00050   med_int tr3[6] = {1,2,-5,-5,3,-4};
00051   /*                                  12345678901234561234567890123456*/
00052   char nomtr3[MED_TAILLE_PNOM*2+1] = "tr1             tr2             ";
00053   med_int numtr3[2] = {4,5};
00054   med_int nufatr3[2] = {0,-1};
00055   char maa[MED_TAILLE_NOM+1] = "maa1";
00056   med_int mdim = 2;
00057 
00058   /* ouverture du fichier */
00059   if ( (fid = MEDouvrir("test6.med",MODE_ACCES)) < 0) {
00060     MESSAGE("Impossible de creer le fichier test6.med : ");
00061     return -1;
00062   }
00063   
00064   /* creation du maillage */
00065   if ( MEDmaaCr(fid,maa,mdim,MED_NON_STRUCTURE,
00066                    "un maillage pour test6") < 0 ) {
00067     MESSAGE("Impossible de creer le maillage : ");
00068     return -1;
00069   }
00070   
00071   /* ecriture des connectivites des segments */
00072   if ( MEDconnEcr(fid,maa,mdim,se2,MED_FULL_INTERLACE,nse2,MED_ARETE,MED_SEG2,
00073                   MED_DESC) < 0 ) {
00074     MESSAGE("Impossible d'ecrire la connectivité des segments: ");
00075     return -1;
00076   }
00077 
00078 
00079   /* ecriture (optionnelle) des noms des segments */
00080   if ( MEDnomEcr(fid,maa,nomse2,nse2,MED_ARETE,MED_SEG2) < 0 ) {
00081     MESSAGE("Impossible d'ecrire les noms des segments : ");
00082     return -1;
00083   }
00084   
00085   /* ecriture (optionnelle) des numeros des segments */
00086   if ( MEDnumEcr(fid,maa,numse2,nse2,MED_ARETE,MED_SEG2) < 0 ) {
00087     MESSAGE("Impossible d'ecrire les numéros des segments : ");
00088     return -1;
00089   }
00090   
00091     /* ecriture des numeros des familles des segments */
00092   if ( MEDfamEcr(fid,maa,nufase2,nse2,MED_ARETE,MED_SEG2) < 0 ) {
00093     MESSAGE("Impossible d'ecrire les numéros de famille des segments : ");
00094     return -1;
00095   }
00096 
00097   /* ecriture des connectivites des triangles */
00098   if ( MEDconnEcr(fid,maa,mdim,tr3,MED_FULL_INTERLACE,ntr3,MED_MAILLE,MED_TRIA3,
00099                      MED_DESC) < 0 ) {
00100     MESSAGE("Impossible d'ecrire la connectivité des triangles : ");
00101     return -1;
00102   }
00103 
00104   /* ecriture (optionnelle) des noms des triangles */
00105   if ( MEDnomEcr(fid, maa, nomtr3, ntr3, MED_MAILLE, MED_TRIA3) < 0 ) {
00106     MESSAGE("Impossible d'ecrire les noms des triangles : ");
00107     return -1;
00108   }
00109   
00110   /* ecriture (optionnelle) des numeros des triangles */
00111   if ( MEDnumEcr(fid,maa,numtr3,ntr3,MED_MAILLE,MED_TRIA3) < 0 ) {
00112     MESSAGE("Impossible d'ecrire les numéros des triangles : ");
00113     return -1;
00114   }
00115 
00116   /* ecriture des numeros des familles des triangles */
00117   if ( MEDfamEcr(fid,maa,nufatr3,ntr3,MED_MAILLE,MED_TRIA3) < 0 ) {
00118     MESSAGE("Impossible d'ecrire les numéros de famille des triangles : ");
00119     return -1;
00120   }
00121 
00122   /* fermeture du fichier */
00123   if ( MEDfermer(fid) < 0 ) {
00124     MESSAGE("Impossible de fermerle fichier : ");
00125     return -1;
00126   }
00127 
00128   return 0;
00129  
00130 }
00131 
00132 
00133 

Généré le Thu Oct 8 14:26:17 2015 pour MED fichier par  doxygen 1.6.1