42 MG_SOLUTION::MG_SOLUTION(
MG_MAILLAGE* mai,
int nb,
char* chemin,
int code,std::string nomsol,
int entite,
int type_solution):
MG_IDENTIFICATEUR(),nb_champs(nb),mgmai(mai),nomsolution(nomsol),typeentite(entite),dim_solution(type_solution)
47 MG_SOLUTION::MG_SOLUTION(
unsigned long num,
MG_MAILLAGE* mai,
int nb,
char* chemin,
int code,std::string nomsol,
int entite,
int type_solution):
MG_IDENTIFICATEUR(num),nb_champs(nb),mgmai(mai),nomsolution(nomsol),typeentite(entite),dim_solution(type_solution)
56 if (
in!=NULL) fclose(
in);
67 sprintf(mess,
"Champs_%d",i);
74 unsigned long nbele=0;
82 fwrite(&nbele,
sizeof(
unsigned long),1,
in);
83 for (
unsigned long i=0;i<nbele+1;i++)
86 fwrite(&val,
sizeof(
unsigned long),1,
in);
88 unsigned long *tab=
new unsigned long[nbele+1];
90 unsigned long cumul_iter=0;
93 LISTE_MG_NOEUD::iterator ite;
98 for (
unsigned long j=0;j<iter;j++)
101 fwrite(&val,
sizeof(
double),1,
in);
104 cumul_iter=cumul_iter+iter;
110 LISTE_MG_SEGMENT::iterator ite;
115 for (
unsigned long j=0;j<iter;j++)
118 fwrite(&val,
sizeof(
double),1,
in);
121 cumul_iter=cumul_iter+iter;
127 LISTE_MG_TRIANGLE::iterator itet;
132 for (
unsigned long j=0;j<iter;j++)
135 fwrite(&val,
sizeof(
double),1,
in);
138 cumul_iter=cumul_iter+iter;
140 LISTE_MG_QUADRANGLE::iterator iteq;
145 for (
unsigned long j=0;j<iter;j++)
148 fwrite(&val,
sizeof(
double),1,
in);
151 cumul_iter=cumul_iter+iter;
157 LISTE_MG_TETRA::iterator itet;
162 for (
unsigned long j=0;j<iter;j++)
165 fwrite(&val,
sizeof(
double),1,
in);
168 cumul_iter=cumul_iter+iter;
171 LISTE_MG_HEXA::iterator iteh;
176 for (
unsigned long j=0;j<iter;j++)
179 fwrite(&val,
sizeof(
double),1,
in);
182 cumul_iter=cumul_iter+iter;
188 LISTE_MG_TETRA::iterator itet;
193 for (
unsigned long j=0;j<iter;j++)
196 fwrite(&val,
sizeof(
double),1,
in);
199 cumul_iter=cumul_iter+iter;
201 LISTE_MG_HEXA::iterator iteh;
206 for (
unsigned long j=0;j<iter;j++)
209 fwrite(&val,
sizeof(
double),1,
in);
212 cumul_iter=cumul_iter+iter;
217 LISTE_MG_SEGMENT::iterator ite;
222 for (
unsigned long j=0;j<iter;j++)
225 fwrite(&val,
sizeof(
double),1,
in);
228 cumul_iter=cumul_iter+iter;
234 LISTE_MG_TRIANGLE::iterator itet;
239 for (
unsigned long j=0;j<iter;j++)
242 fwrite(&val,
sizeof(
double),1,
in);
245 cumul_iter=cumul_iter+iter;
247 LISTE_MG_QUADRANGLE::iterator iteq;
252 for (
unsigned long j=0;j<iter;j++)
255 fwrite(&val,
sizeof(
double),1,
in);
258 cumul_iter=cumul_iter+iter;
262 tab[nbele]=cumul_iter;
263 fseek(
in,
sizeof(
unsigned long),SEEK_SET);
264 for (
unsigned long i=0;i<nbele+1;i++)
267 fwrite(&(tab[i]),
sizeof(
unsigned long),1,
in);
274 fseek(
in,0,SEEK_SET);
276 fread(&nb,
sizeof(
unsigned long),1,
in);
278 for (
unsigned long i=0;i<nb+1;i++)
281 fread(&val,
sizeof(
unsigned long),1,
in);
298 unsigned long nb=
hash[0];
299 unsigned long pos=
hash[i+1];
300 unsigned long pospro=
hash[i+2];
303 fseek(
in,posval,SEEK_SET);
305 fread(&val,
sizeof(
double),1,
in);
311 unsigned long nb=
hash[0];
312 unsigned long pos=
hash[i+1];
313 unsigned long pospro=
hash[i+2];
316 fseek(
in,posval,SEEK_SET);
317 fwrite(&val,
sizeof(
double),1,
in);
361 for (
int j=0;j<9;j++)
369 LISTE_MG_NOEUD::iterator it;
374 double val=
lire(i,num,k);
375 no->change_solution(val,k);
384 LISTE_MG_SEGMENT::iterator it;
389 double val=
lire(i,num,k);
390 seg->change_solution(val,k);
399 LISTE_MG_TRIANGLE::iterator it;
404 double val=
lire(i,num,k);
405 tri->change_solution(val,k);
411 LISTE_MG_QUADRANGLE::iterator it2;
416 double val=
lire(i,num,k);
417 quad->change_solution(val,k);
426 LISTE_MG_TETRA::iterator it;
431 double val=
lire(i,num,k);
432 tet->change_solution(val,k);
438 LISTE_MG_HEXA::iterator it2;
443 double val=
lire(i,num,k);
444 hex->change_solution(val,k);
475 o <<
");" << std::endl;