31 #pragma package(smart_init)
50 #pragma package(smart_init)
62 in=fopen(chemin,
"rt");
75 std::string ligne=parse.
lire(in,
';',&ierr);
76 parse.
decode(ligne.c_str(),
"@;",param);
77 const char *chaine=param[0].
argument[0].c_str();
78 if ((chaine[0]==
'/') && (chaine[1]==
'/'))
80 if ((chaine[2]==
'*')&&(chaine[3]==
'i'))
83 sscanf(chaine,
"//*i:%lu;",&
id);
87 else if (param[0].argument[0]!=
"FIN")
89 parse.
decode(ligne.c_str(),
"%@=@(@);",param);
90 std::string entite=param[1].
argument[0];
91 long id=atol(param[0].argument[0].c_str());
92 std::string data=param[2].
argument[0] ;
96 if (entite==
"MAILLAGE")
98 parse.
decode(data.c_str(),
"@",param+2);
99 long idgeo=
cid(param[2].argument[0]);
103 if (entite==
"TETRAEDRE")
106 parse.
decode(data.c_str(),
"@,@,@,@,@",param+2);
107 long idtopo=
cid(param[2].argument[0]);
108 long idn1=
cid(param[3].argument[0]);
109 long idn2=
cid(param[4].argument[0]);
110 long idn3=
cid(param[5].argument[0]);
111 long idn4=
cid(param[6].argument[0]);
119 if (noeud1&&noeud2&&noeud3&&noeud4) mgmai->
ajouter_mg_tetra(topo,noeud1,noeud2,noeud3,noeud4,
id);
161 if (entite==
"CAD4FE_MCSEGMENT")
163 parse.
decode(data.c_str(),
"@,@,@",param+2);
164 long idtopo=
cid(param[2].argument[0]);
165 long idn1=
cid(param[3].argument[0]);
166 long idn2=
cid(param[4].argument[0]);
180 if (entite==
"CAD4FE_MCNODE")
182 parse.
decode(data.c_str(),
"@,@,@,@,@",param+2);
183 long idRefTopo=
cid(param[2].argument[0]);
184 long idMCTopo=
cid(param[3].argument[0]);
185 double x=atof(param[4].argument[0].c_str());
186 double y=atof(param[5].argument[0].c_str());
187 double z=atof(param[6].argument[0].c_str());
201 if (entite==
"CAD4FE_MCTRIANGLE")
203 parse.
decode(data.c_str(),
"@,@,@,@",param+2);
204 long idtopo=
cid(param[2].argument[0]);
205 long idn1=
cid(param[3].argument[0]);
206 long idn2=
cid(param[4].argument[0]);
207 long idn3=
cid(param[5].argument[0]);
212 MCNode *mgnoeud[3]={noeud1,noeud2,noeud3};
215 for (
int i=0;i<3;i++)
218 if (mgsegment[i]==NULL)
220 mgsegment[i]=
new MCSegment(mcFace,mgnoeud[i],mgnoeud[(i+1)%3]);
230 while (param[0].argument[0]!=
"FIN");