MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_gestionnaire.cpp
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// mg_gestionnaire.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:53 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 
24 #include "gestionversion.h"
25 
26 
27 #include "mg_gestionnaire.h"
28 #include "mg_cg_modele.h"
29 
30 
31 
32 
33 
34 #include <fstream>
35 
36 
37 
38 MG_GESTIONNAIRE::MG_GESTIONNAIRE():entiteidmax(0),ouvertsld(0),version_fichier(MAGIC_VERSION_FICHIER_DOUBLE)
39 {
40 
41 
42 }
43 
45 {
54 }
55 
57 {
66  entiteidmax=1;
67 }
68 
70 {
71  if (ident.get_id()==0)
72  {
73  entiteidmax++;
74  ident.change_id(entiteidmax);
75  }
76  else
77  {
78  if (ident.get_id()>entiteidmax) entiteidmax=ident.get_id();
79  }
80 }
81 
83 {
84  if (ident.get_id()==0)
85  {
88  }
89  else
90  {
91  if (ident.get_id()>entitevisuelidmax) entitevisuelidmax=ident.get_id();
92  }
93 }
94 
95 
97 {
98  recherche_bonid(*mgcg_modele);
99  MG_IDENTIFICATEUR *id=mgcg_modele;
100  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
101  if (!p.second) return FAIL;
102  std::pair<const unsigned long,MG_CG_MODELE*> tmp(mgcg_modele->get_id(),mgcg_modele);
103  lst_mgcg_modele.insert(tmp);
104  mgcg_modele->change_mg_gestionnaire(this);
105  return OK;
106 }
107 
109 {
110  LISTE_MGCG_MODELE::iterator i=lst_mgcg_modele.find(num);
111  if (i==lst_mgcg_modele.end())
112  {
113  return NULL;
114  }
115  return ((*i).second);
116 }
117 
119 {
120  if (!(num<lst_mgcg_modele.size()))
121  {
122  return NULL;
123  }
124  LISTE_MGCG_MODELE::iterator i=lst_mgcg_modele.begin();
125  for (unsigned long j=0;j<num;j++) i++;
126  return ((*i).second);
127 }
128 
130 {
131  return lst_mgcg_modele.size();
132 }
133 
135 {
136  it = lst_mgcg_modele.begin();
137  if (it == lst_mgcg_modele.end())
138  return NULL;
139  return it->second ;
140 }
141 
143 {
144  it++;
145  if (it==lst_mgcg_modele.end())
146  return NULL;
147  return it->second;
148 }
149 
151 {
152  MG_CG_MODELE* mgcg_modele=get_mgcg_modele(num);
153  if (mgcg_modele==NULL)
154  {
155  return FAIL;
156  }
157  MG_IDENTIFICATEUR* id=mgcg_modele;
158  LISTE_ENTITE::iterator i=lst_entite.find(id);
159  lst_entite.erase(i);
160  LISTE_MGCG_MODELE::iterator j=lst_mgcg_modele.find(id->get_id());
161  lst_mgcg_modele.erase(j);
162  delete mgcg_modele;
163  return OK;
164 }
165 
167 {
168  MG_CG_MODELE* mgcg_modele=get_mgcg_modeleid(num);
169  if (mgcg_modele==NULL)
170  {
171  return FAIL;
172  }
173  MG_IDENTIFICATEUR* id=mgcg_modele;
174  LISTE_ENTITE::iterator i=lst_entite.find(id);
175  lst_entite.erase(i);
176  LISTE_MGCG_MODELE::iterator j=lst_mgcg_modele.find(num);
177  lst_mgcg_modele.erase(j);
178  delete mgcg_modele;
179  return OK;
180 }
181 
183 {
184  while (get_nb_mgcg_modele()!=0)
185  {
186  LISTE_MGCG_MODELE::iterator j=lst_mgcg_modele.begin();
187  MG_CG_MODELE* mgcg_modele=(*j).second;
188  MG_IDENTIFICATEUR* id=mgcg_modele;
189  LISTE_ENTITE::iterator i=lst_entite.find(id);
190  lst_entite.erase(i);
191  lst_mgcg_modele.erase(j);
192  delete mgcg_modele;
193  }
194 }
195 
196 
197 
198 
199 
200 
201 int MG_GESTIONNAIRE::ajouter_mg_arbre(MG_ARBRE *mgarbre)
202 {
203  recherche_bonid(*mgarbre);
204  MG_IDENTIFICATEUR *id=mgarbre;
205  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
206  if (!p.second) return FAIL;
207  std::pair<const unsigned long,MG_ARBRE*> tmp(mgarbre->get_id(),mgarbre);
208  lst_mg_arbre.insert(tmp);
209  mgarbre->change_gestionnaire(this);
210  return OK;
211 }
212 
213 
214 MG_ARBRE* MG_GESTIONNAIRE::get_mg_arbreid(unsigned long num)
215 {
216  LISTE_MG_ARBRE::iterator i=lst_mg_arbre.find(num);
217  if (i==lst_mg_arbre.end())
218  {
219  return NULL;
220  }
221  return ((*i).second);
222 }
223 
224 
225 
226 MG_ARBRE* MG_GESTIONNAIRE::get_mg_arbre(unsigned int num)
227 {
228  if (!(num<lst_mg_arbre.size()))
229  {
230  return NULL;
231  }
232  LISTE_MG_ARBRE::iterator i=lst_mg_arbre.begin();
233  for (unsigned long j=0;j<num;j++) i++;
234  return ((*i).second);
235 }
236 
237 MG_ARBRE* MG_GESTIONNAIRE::get_premier_arbre(LISTE_MG_ARBRE::iterator &it)
238 {
239  it = lst_mg_arbre.begin();
240  if (it == lst_mg_arbre.end())
241  return NULL;
242  return it->second ;
243 }
244 
245 MG_ARBRE* MG_GESTIONNAIRE::get_suivant_arbre(LISTE_MG_ARBRE::iterator &it)
246 {
247  it++;
248  if (it==lst_mg_arbre.end())
249  return NULL;
250  return it->second;
251 }
252 
254 {
255  return lst_mg_arbre.size();
256 }
257 
258 
260 {
261  MG_ARBRE* mgarbre=get_mg_arbreid(num);
262  if (mgarbre==NULL)
263  {
264  return FAIL;
265  }
266  MG_IDENTIFICATEUR* id=mgarbre;
267  LISTE_ENTITE::iterator i=lst_entite.find(id);
268  lst_entite.erase(i);
269  LISTE_MG_ARBRE::iterator j=lst_mg_arbre.find(num);
270  lst_mg_arbre.erase(j);
271  delete mgarbre;
272  return OK;
273 }
274 
275 
277 {
278  MG_ARBRE* mgarbre=get_mg_arbre(num);
279  if (mgarbre==NULL)
280  {
281  return FAIL;
282  }
283  MG_IDENTIFICATEUR* id=mgarbre;
284  LISTE_ENTITE::iterator i=lst_entite.find(id);
285  lst_entite.erase(i);
286  LISTE_MG_ARBRE::iterator j=lst_mg_arbre.find(id->get_id());
287  lst_mg_arbre.erase(j);
288  delete mgarbre;
289  return OK;
290 }
291 
292 
294 {
295  while (get_nb_mg_arbre()!=0)
296  {
297  LISTE_MG_ARBRE::iterator j=lst_mg_arbre.begin();
298  MG_ARBRE* mgarbre=(*j).second;
299  MG_IDENTIFICATEUR* id=mgarbre;
300  LISTE_ENTITE::iterator i=lst_entite.find(id);
301  lst_entite.erase(i);
302  lst_mg_arbre.erase(j);
303  delete mgarbre;
304  }
305 }
307 {
308  recherche_bonid(*mggeo);
309  MG_IDENTIFICATEUR *id=mggeo;
310  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
311  if (!p.second) return FAIL;
312  std::pair<const unsigned long,MG_GEOMETRIE*> tmp(mggeo->get_id(),mggeo);
313  lst_mg_geometrie.insert(tmp);
314  mggeo->change_gestionnaire(this);
315  return OK;
316 }
317 
318 
320 {
321  LISTE_MG_GEOMETRIE::iterator i=lst_mg_geometrie.find(num);
322  if (i==lst_mg_geometrie.end())
323  {
324  return NULL;
325  }
326  return ((*i).second);
327 }
328 
329 
330 
332 {
333  if (!(num<lst_mg_geometrie.size()))
334  {
335  return NULL;
336  }
337  LISTE_MG_GEOMETRIE::iterator i=lst_mg_geometrie.begin();
338  for (unsigned long j=0;j<num;j++) i++;
339  return ((*i).second);
340 }
341 
342 MG_GEOMETRIE* MG_GESTIONNAIRE::get_premier_geometrie(LISTE_MG_GEOMETRIE::iterator &it)
343 {
344  it = lst_mg_geometrie.begin();
345  if (it == lst_mg_geometrie.end())
346  return NULL;
347  return it->second ;
348 }
349 
350 MG_GEOMETRIE* MG_GESTIONNAIRE::get_suivant_geometrie(LISTE_MG_GEOMETRIE::iterator &it)
351 {
352  it++;
353  if (it==lst_mg_geometrie.end())
354  return NULL;
355  return it->second;
356 }
357 
359 {
360  return lst_mg_geometrie.size();
361 }
362 
363 
365 {
366  MG_GEOMETRIE* mggeo=get_mg_geometrieid(num);
367  if (mggeo==NULL)
368  {
369  return FAIL;
370  }
371  MG_IDENTIFICATEUR* id=mggeo;
372  LISTE_ENTITE::iterator i=lst_entite.find(id);
373  lst_entite.erase(i);
374  LISTE_MG_GEOMETRIE::iterator j=lst_mg_geometrie.find(num);
375  lst_mg_geometrie.erase(j);
376  delete mggeo;
377  return OK;
378 }
379 
380 
382 {
383  MG_GEOMETRIE* mggeo=get_mg_geometrie(num);
384  if (mggeo==NULL)
385  {
386  return FAIL;
387  }
388  MG_IDENTIFICATEUR* id=mggeo;
389  LISTE_ENTITE::iterator i=lst_entite.find(id);
390  lst_entite.erase(i);
391  LISTE_MG_GEOMETRIE::iterator j=lst_mg_geometrie.find(id->get_id());
392  lst_mg_geometrie.erase(j);
393  delete mggeo;
394  return OK;
395 }
396 
397 
399 {
400  while (get_nb_mg_geometrie()!=0)
401  {
402  LISTE_MG_GEOMETRIE::iterator j=lst_mg_geometrie.begin();
403  MG_GEOMETRIE* mggeo=(*j).second;
404  MG_IDENTIFICATEUR* id=mggeo;
405  LISTE_ENTITE::iterator i=lst_entite.find(id);
406  lst_entite.erase(i);
407  lst_mg_geometrie.erase(j);
408  delete mggeo;
409  }
410 }
411 
412 
414 {
415  recherche_bonid(*construction);
416  MG_IDENTIFICATEUR *id=construction;
417  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
418  if (!p.second) return FAIL;
419  std::pair<const unsigned long,MG_GEOMETRIE*> tmp(construction->get_id(),construction);
420  lst_mg_construction.insert(tmp);
421  construction->change_gestionnaire(this);
422  return OK;
423 }
424 
425 
427 {
428  LISTE_MG_CONSTRUCTION::iterator i=lst_mg_construction.find(num);
429  if (i==lst_mg_construction.end())
430  {
431  return NULL;
432  }
433  return ((*i).second);
434 }
435 
436 
437 
439 {
440  if (!(num<lst_mg_construction.size()))
441  {
442  return NULL;
443  }
444  LISTE_MG_CONSTRUCTION::iterator i=lst_mg_construction.begin();
445  for (unsigned long j=0;j<num;j++) i++;
446  return ((*i).second);
447 }
448 
449 MG_GEOMETRIE* MG_GESTIONNAIRE::get_premier_construction(LISTE_MG_CONSTRUCTION::iterator &it)
450 {
451  it = lst_mg_construction.begin();
452  if (it == lst_mg_construction.end())
453  return NULL;
454  return it->second ;
455 }
456 
457 MG_GEOMETRIE* MG_GESTIONNAIRE::get_suivant_construction(LISTE_MG_CONSTRUCTION::iterator &it)
458 {
459  it++;
460  if (it==lst_mg_construction.end())
461  return NULL;
462  return it->second;
463 }
464 
466 {
467  return lst_mg_construction.size();
468 }
469 
470 
472 {
473  MG_GEOMETRIE* construction=get_mg_constructionid(num);
474  if (construction==NULL)
475  {
476  return FAIL;
477  }
478  MG_IDENTIFICATEUR* id=construction;
479  LISTE_ENTITE::iterator i=lst_entite.find(id);
480  lst_entite.erase(i);
481  LISTE_MG_CONSTRUCTION::iterator j=lst_mg_construction.find(num);
482  lst_mg_construction.erase(j);
483  delete construction;
484  return OK;
485 }
486 
487 
489 {
490  MG_GEOMETRIE* construction=get_mg_construction(num);
491  if (construction==NULL)
492  {
493  return FAIL;
494  }
495  MG_IDENTIFICATEUR* id=construction;
496  LISTE_ENTITE::iterator i=lst_entite.find(id);
497  lst_entite.erase(i);
498  LISTE_MG_CONSTRUCTION::iterator j=lst_mg_construction.find(id->get_id());
499  lst_mg_construction.erase(j);
500  delete construction;
501  return OK;
502 }
503 
504 
506 {
507  while (get_nb_mg_construction()!=0)
508  {
509  LISTE_MG_CONSTRUCTION::iterator j=lst_mg_construction.begin();
510  MG_GEOMETRIE* construction=(*j).second;
511  MG_IDENTIFICATEUR* id=construction;
512  LISTE_ENTITE::iterator i=lst_entite.find(id);
513  lst_entite.erase(i);
514  lst_mg_construction.erase(j);
515  delete construction;
516  }
517 }
518 
519 
520 
522 {
523  recherche_bonid(*mgmai);
524  MG_IDENTIFICATEUR *id=mgmai;
525  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
526  if (!p.second)
527  {
528  return FAIL;
529  }
530 
531  std::pair<const unsigned long,MG_MAILLAGE*> tmp(mgmai->get_id(),mgmai);
532  lst_mg_maillage.insert(tmp);
533  mgmai->change_gestionnaire(this);
534  return OK;
535 }
536 
537 
539 {
540  LISTE_MG_MAILLAGE::iterator i=lst_mg_maillage.find(num);
541  if (i==lst_mg_maillage.end())
542  {
543  return NULL;
544  }
545  return ((*i).second);
546 }
547 
548 
549 
551 {
552  if (!(num<lst_mg_maillage.size()))
553  {
554  return NULL;
555  }
556  LISTE_MG_MAILLAGE::iterator i=lst_mg_maillage.begin();
557  for (unsigned long j=0;j<num;j++) i++;
558  return ((*i).second);
559 }
560 
561 
562 MG_MAILLAGE* MG_GESTIONNAIRE::get_premier_mg_maillage(LISTE_MG_MAILLAGE::iterator &it)
563 {
564  it = lst_mg_maillage.begin();
565  if (it == lst_mg_maillage.end())
566  return NULL;
567  return it->second ;
568 }
569 
570 MG_MAILLAGE* MG_GESTIONNAIRE::get_suivant_mg_maillage(LISTE_MG_MAILLAGE::iterator &it)
571 {
572  it++;
573  if (it==lst_mg_maillage.end())
574  return NULL;
575  return it->second;
576 }
577 
578 
580 {
581  return lst_mg_maillage.size();
582 }
583 
584 
586 {
587  MG_MAILLAGE* mgmai=get_mg_maillageid(num);
588  if (mgmai==NULL)
589  {
590  return FAIL;
591  }
592  MG_IDENTIFICATEUR* id=mgmai;
593  LISTE_ENTITE::iterator i=lst_entite.find(id);
594  lst_entite.erase(i);
595  LISTE_MG_MAILLAGE::iterator j=lst_mg_maillage.find(num);
596  lst_mg_maillage.erase(j);
597  delete mgmai;
598  return OK;
599 }
600 
601 
603 {
604  MG_MAILLAGE* mgmai=get_mg_maillage(num);
605  if (mgmai==NULL)
606  {
607  return FAIL;
608  }
609  MG_IDENTIFICATEUR* id=mgmai;
610  LISTE_ENTITE::iterator i=lst_entite.find(id);
611  lst_entite.erase(i);
612  LISTE_MG_MAILLAGE::iterator j=lst_mg_maillage.find(id->get_id());
613  lst_mg_maillage.erase(j);
614  delete mgmai;
615  return OK;
616 }
617 
618 
620 {
621  while (get_nb_mg_maillage()!=0)
622  {
623  LISTE_MG_MAILLAGE::iterator j=lst_mg_maillage.begin();
624  MG_MAILLAGE* mgmai=(*j).second;
625  MG_IDENTIFICATEUR* id=mgmai;
626  LISTE_ENTITE::iterator i=lst_entite.find(id);
627  lst_entite.erase(i);
628  lst_mg_maillage.erase(j);
629  delete mgmai;
630  }
631 
632 }
633 
634 
635 
636 
637 
638 
639 
640 
642 {
643  recherche_bonid(*femmai);
644  MG_IDENTIFICATEUR *id=femmai;
645  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
646  if (!p.second)
647  {
648  return FAIL;
649  }
650 
651  std::pair<const unsigned long,FEM_MAILLAGE*> tmp(femmai->get_id(),femmai);
652  lst_fem_maillage.insert(tmp);
653  femmai->change_gestionnaire(this);
654  return OK;
655 }
656 
657 
659 {
660  LISTE_FEM_MAILLAGE::iterator i=lst_fem_maillage.find(num);
661  if (i==lst_fem_maillage.end())
662  {
663  return NULL;
664  }
665  return ((*i).second);
666 }
667 
668 
669 
671 {
672  if (!(num<lst_fem_maillage.size()))
673  {
674  return NULL;
675  }
676  LISTE_FEM_MAILLAGE::iterator i=lst_fem_maillage.begin();
677  for (unsigned long j=0;j<num;j++) i++;
678  return ((*i).second);
679 }
680 
681 
682 
684 {
685  return lst_fem_maillage.size();
686 }
687 
688 
690 {
691  FEM_MAILLAGE* femmai=get_fem_maillageid(num);
692  if (femmai==NULL)
693  {
694  return FAIL;
695  }
696  MG_IDENTIFICATEUR* id=femmai;
697  LISTE_ENTITE::iterator i=lst_entite.find(id);
698  lst_entite.erase(i);
699  LISTE_FEM_MAILLAGE::iterator j=lst_fem_maillage.find(num);
700  lst_fem_maillage.erase(j);
701  delete femmai;
702  return OK;
703 }
704 
705 
707 {
708  FEM_MAILLAGE* femmai=get_fem_maillage(num);
709  if (femmai==NULL)
710  {
711  return FAIL;
712  }
713  MG_IDENTIFICATEUR* id=femmai;
714  LISTE_ENTITE::iterator i=lst_entite.find(id);
715  lst_entite.erase(i);
716  LISTE_FEM_MAILLAGE::iterator j=lst_fem_maillage.find(id->get_id());
717  lst_fem_maillage.erase(j);
718  delete femmai;
719  return OK;
720 }
721 
722 
724 {
725  while (get_nb_fem_maillage()!=0)
726  {
727  LISTE_FEM_MAILLAGE::iterator j=lst_fem_maillage.begin();
728  FEM_MAILLAGE* femmai=(*j).second;
729  MG_IDENTIFICATEUR* id=femmai;
730  LISTE_ENTITE::iterator i=lst_entite.find(id);
731  lst_entite.erase(i);
732  lst_fem_maillage.erase(j);
733  delete femmai;
734  }
735 
736 }
737 
738 FEM_MAILLAGE* MG_GESTIONNAIRE::get_premier_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it)
739 {
740  it = lst_fem_maillage.begin();
741  if (it == lst_fem_maillage.end())
742  return NULL;
743  return it->second ;
744 }
745 
746 FEM_MAILLAGE* MG_GESTIONNAIRE::get_suivant_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it)
747 {
748  it++;
749  if (it==lst_fem_maillage.end())
750  return NULL;
751  return it->second;
752 }
753 
754 
755 
756 
757 
758 
759 
760 
761 
762 
763 
765 {
766  recherche_bonid(*mgsol);
767  MG_IDENTIFICATEUR *id=mgsol;
768  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
769  if (!p.second)
770  {
771  return FAIL;
772  }
773 
774  std::pair<const unsigned long,MG_SOLUTION*> tmp(mgsol->get_id(),mgsol);
775  lst_mg_solution.insert(tmp);
776  return OK;
777 }
778 
779 
781 {
782  LISTE_MG_SOLUTION::iterator i=lst_mg_solution.find(num);
783  if (i==lst_mg_solution.end())
784  {
785  return NULL;
786  }
787  return ((*i).second);
788 }
789 
790 
791 
793 {
794  if (!(num<lst_mg_solution.size()))
795  {
796  return NULL;
797  }
798  LISTE_MG_SOLUTION::iterator i=lst_mg_solution.begin();
799  for (unsigned long j=0;j<num;j++) i++;
800  return ((*i).second);
801 }
802 
803 MG_SOLUTION* MG_GESTIONNAIRE::get_mg_solution(MG_MAILLAGE* mg,int nb_champs,char *nomfichier,char *nomsolution)
804 {
805  LISTE_MG_SOLUTION::iterator j=lst_mg_solution.begin();
806  while (j!=lst_mg_solution.end())
807  {
808 
809  MG_SOLUTION* mgsol=(*j).second;
810  if (mgsol->get_maillage()==mg)
811  if (mgsol->get_nb_champ()==nb_champs)
812  if (strcmp(mgsol->get_nom().c_str(),nomsolution)==0)
813  if (strcmp(mgsol->get_nom_fichier().c_str(),nomfichier)==0)
814  return mgsol;
815  j++;
816  }
817  return NULL;
818 }
819 
820 MG_SOLUTION* MG_GESTIONNAIRE::get_premier_mg_solution(LISTE_MG_SOLUTION::iterator &it)
821 {
822  it = lst_mg_solution.begin();
823  if (it == lst_mg_solution.end())
824  return NULL;
825  return it->second ;
826 }
827 
828 MG_SOLUTION* MG_GESTIONNAIRE::get_suivant_mg_solution(LISTE_MG_SOLUTION::iterator &it)
829 {
830  it++;
831  if (it==lst_mg_solution.end())
832  return NULL;
833  return it->second;
834 }
835 
836 
838 {
839  return lst_mg_solution.size();
840 }
841 
842 
844 {
845  MG_SOLUTION* mgsol=get_mg_solutionid(num);
846  if (mgsol==NULL)
847  {
848  return FAIL;
849  }
850  MG_IDENTIFICATEUR* id=mgsol;
851  LISTE_ENTITE::iterator i=lst_entite.find(id);
852  lst_entite.erase(i);
853  LISTE_MG_SOLUTION::iterator j=lst_mg_solution.find(num);
854  lst_mg_solution.erase(j);
855  mgsol->efface();
856  delete mgsol;
857  return OK;
858 }
859 
860 
862 {
863  MG_SOLUTION* mgsol=get_mg_solution(num);
864  if (mgsol==NULL)
865  {
866  return FAIL;
867  }
868  MG_IDENTIFICATEUR* id=mgsol;
869  LISTE_ENTITE::iterator i=lst_entite.find(id);
870  lst_entite.erase(i);
871  LISTE_MG_SOLUTION::iterator j=lst_mg_solution.find(id->get_id());
872  lst_mg_solution.erase(j);
873  mgsol->efface();
874  delete mgsol;
875  return OK;
876 }
877 
878 
880 {
881  while (get_nb_mg_solution()!=0)
882  {
883  LISTE_MG_SOLUTION::iterator j=lst_mg_solution.begin();
884  MG_SOLUTION* mgsol=(*j).second;
885  MG_IDENTIFICATEUR* id=mgsol;
886  LISTE_ENTITE::iterator i=lst_entite.find(id);
887  lst_entite.erase(i);
888  lst_mg_solution.erase(j);
889  delete mgsol;
890  }
891 
892 }
893 
894 
895 
896 
897 
898 
899 
900 
901 
903 {
904  recherche_bonid(*mgsol);
905  MG_IDENTIFICATEUR *id=mgsol;
906  std::pair<LISTE_ENTITE::iterator,bool> p=lst_entite.insert(id);
907  if (!p.second)
908  {
909  return FAIL;
910  }
911 
912  std::pair<const unsigned long,FEM_SOLUTION*> tmp(mgsol->get_id(),mgsol);
913  lst_fem_solution.insert(tmp);
914  return OK;
915 }
916 
917 
919 {
920  LISTE_FEM_SOLUTION::iterator i=lst_fem_solution.find(num);
921  if (i==lst_fem_solution.end())
922  {
923  return NULL;
924  }
925  return ((*i).second);
926 }
927 
928 
929 
931 {
932  if (!(num<lst_fem_solution.size()))
933  {
934  return NULL;
935  }
936  LISTE_FEM_SOLUTION::iterator i=lst_fem_solution.begin();
937  for (unsigned long j=0;j<num;j++) i++;
938  return ((*i).second);
939 }
940 
941 
942 FEM_SOLUTION* MG_GESTIONNAIRE::get_fem_solution(FEM_MAILLAGE* fem,int nb_champs,char *nomfichier,char *nomsolution)
943 {
944  LISTE_FEM_SOLUTION::iterator j=lst_fem_solution.begin();
945  while (j!=lst_fem_solution.end())
946  {
947 
948  FEM_SOLUTION* mgsol=(*j).second;
949  if (mgsol->get_maillage()==fem)
950  if (mgsol->get_nb_champ()==nb_champs)
951  if (strcmp(mgsol->get_nom().c_str(),nomsolution)==0)
952  if (strcmp(mgsol->get_nom_fichier().c_str(),nomfichier)==0)
953  return mgsol;
954  j++;
955  }
956  return NULL;
957 }
958 
959 
961 {
962  return lst_fem_solution.size();
963 }
964 
965 
967 {
968  FEM_SOLUTION* mgsol=get_fem_solutionid(num);
969  if (mgsol==NULL)
970  {
971  return FAIL;
972  }
973  MG_IDENTIFICATEUR* id=mgsol;
974  LISTE_ENTITE::iterator i=lst_entite.find(id);
975  lst_entite.erase(i);
976  LISTE_FEM_SOLUTION::iterator j=lst_fem_solution.find(num);
977  lst_fem_solution.erase(j);
978  mgsol->efface();
979  delete mgsol;
980  return OK;
981 }
982 
983 
985 {
986  FEM_SOLUTION* mgsol=get_fem_solution(num);
987  if (mgsol==NULL)
988  {
989  return FAIL;
990  }
991  MG_IDENTIFICATEUR* id=mgsol;
992  LISTE_ENTITE::iterator i=lst_entite.find(id);
993  lst_entite.erase(i);
994  LISTE_FEM_SOLUTION::iterator j=lst_fem_solution.find(id->get_id());
995  lst_fem_solution.erase(j);
996  mgsol->efface();
997  delete mgsol;
998  return OK;
999 }
1000 
1002 {
1003  FEM_SOLUTION* mgsol=get_fem_solution(num);
1004  if (mgsol==NULL)
1005  {
1006  return FAIL;
1007  }
1008  MG_IDENTIFICATEUR* id=mgsol;
1009  LISTE_ENTITE::iterator i=lst_entite.find(id);
1010  lst_entite.erase(i);
1011  LISTE_FEM_SOLUTION::iterator j=lst_fem_solution.find(id->get_id());
1012  lst_fem_solution.erase(j);
1013  return OK;
1014 }
1015 
1016 
1018 {
1019  while (get_nb_fem_solution()!=0)
1020  {
1021  LISTE_FEM_SOLUTION::iterator j=lst_fem_solution.begin();
1022  FEM_SOLUTION* mgsol=(*j).second;
1023  MG_IDENTIFICATEUR* id=mgsol;
1024  LISTE_ENTITE::iterator i=lst_entite.find(id);
1025  lst_entite.erase(i);
1026  lst_fem_solution.erase(j);
1027  delete mgsol;
1028  }
1029 
1030 }
1031 
1032 
1034 {
1035  it = lst_fem_solution.begin();
1036  if (it == lst_fem_solution.end())
1037  return NULL;
1038  return it->second ;
1039 }
1040 
1042 {
1043  it++;
1044  if (it==lst_fem_solution.end())
1045  return NULL;
1046  return it->second;
1047 }
1048 
1049 
1050 
1051 
1052 
1053 
1055 {
1056  std::ofstream o(chemin,std::ios::out|std::ios::trunc);
1057  o.precision(16);
1058  o.setf(std::ios::showpoint);
1059  o <<(*this) << std::endl;
1060 }
1061 
1062 void MG_GESTIONNAIRE::enregistrer(const char* chemin)
1063 {
1064  std::ofstream o(chemin,std::ios::out|std::ios::trunc);
1065  o.precision(16);
1066  o.setf(std::ios::showpoint);
1067  o << (*this) << std::endl;
1068 }
1069 
1070 void MG_GESTIONNAIRE::enregistrer(std::ostream& o,double version)
1071 {
1072  version_fichier=version;
1073  LISTE_ENTITE::const_iterator i;
1074  o << "// Fichier MAGIC - UQTR;" << std::endl;
1075  o << "//*i:" << entiteidmax << ";" << std::endl;
1076  o << "//*v:" << version_fichier << ";" << std::endl;
1077  for (i=lst_entite.begin();i!=lst_entite.end();i++)
1078  (*i)->enregistrer(o,version_fichier);
1079  o << "FIN;" << std::endl;
1080 }
1081 
1082 
1083 void MG_GESTIONNAIRE::get_fichier_dependant(std::vector<std::string> &liste_fichier)
1084 {
1085  LISTE_ENTITE::const_iterator i;
1086  for (i=lst_entite.begin();i!=lst_entite.end();i++)
1087  (*i)->get_fichier_dependant(liste_fichier);
1088 }
1089 
1091 {
1092 return version_fichier;
1093 }
1094 
1095 
1096 std::ostream& operator << (std::ostream& o,MG_GESTIONNAIRE& gest)
1097 {
1099  return o;
1100 }
1101 
MG_GESTIONNAIRE::get_premier_mg_maillage
MG_MAILLAGE * get_premier_mg_maillage(LISTE_MG_MAILLAGE::iterator &it)
Definition: mg_gestionnaire.cpp:562
MG_GESTIONNAIRE::enregistrer
virtual void enregistrer(std::ostream &o, double version=MAGIC_VERSION_FICHIER_DOUBLE)
Definition: mg_gestionnaire.cpp:1070
FEM_SOLUTION::get_nb_champ
int get_nb_champ(void)
Definition: fem_solution.cpp:467
MG_GESTIONNAIRE::lst_mg_construction
LISTE_MG_CONSTRUCTION lst_mg_construction
Definition: mg_gestionnaire.h:165
FEM_SOLUTION
Definition: fem_solution.h:40
MG_GESTIONNAIRE::supprimer_mg_constructionid
int supprimer_mg_constructionid(unsigned long num)
Definition: mg_gestionnaire.cpp:471
MG_GESTIONNAIRE::supprimer_fem_solution_du_gestionnaire
int supprimer_fem_solution_du_gestionnaire(unsigned int num)
Definition: mg_gestionnaire.cpp:1001
MG_GESTIONNAIRE::supprimer_tout_mg_arbre
void supprimer_tout_mg_arbre(void)
Definition: mg_gestionnaire.cpp:293
gestionversion.h
MG_GESTIONNAIRE::lst_mg_solution
LISTE_MG_SOLUTION lst_mg_solution
Definition: mg_gestionnaire.h:168
MG_GESTIONNAIRE::ajouter_fem_maillage
int ajouter_fem_maillage(FEM_MAILLAGE *femmai)
Definition: mg_gestionnaire.cpp:641
MG_GESTIONNAIRE::supprimer_tout_mg_construction
void supprimer_tout_mg_construction(void)
Definition: mg_gestionnaire.cpp:505
MG_SOLUTION::efface
void efface(void)
Definition: mg_solution.cpp:287
MG_GESTIONNAIRE::get_mg_arbreid
MG_ARBRE * get_mg_arbreid(unsigned long num)
Definition: mg_gestionnaire.cpp:214
MG_GESTIONNAIRE::get_premier_arbre
MG_ARBRE * get_premier_arbre(LISTE_MG_ARBRE::iterator &it)
Definition: mg_gestionnaire.cpp:237
FAIL
const int FAIL
Definition: mg_definition.h:39
MG_GESTIONNAIRE::get_version_fichier
virtual double get_version_fichier(void)
Definition: mg_gestionnaire.cpp:1090
MG_GESTIONNAIRE::supprimer_tout_fem_solution
void supprimer_tout_fem_solution(void)
Definition: mg_gestionnaire.cpp:1017
MG_GESTIONNAIRE::get_suivant_construction
MG_GEOMETRIE * get_suivant_construction(LISTE_MG_CONSTRUCTION::iterator &it)
Definition: mg_gestionnaire.cpp:457
mg_gestionnaire.h
MG_SOLUTION::get_nb_champ
int get_nb_champ(void)
Definition: mg_solution.cpp:338
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MG_GESTIONNAIRE::entiteidmax
unsigned long entiteidmax
Definition: mg_gestionnaire.h:173
MG_GESTIONNAIRE::get_mgcg_modele
MG_CG_MODELE * get_mgcg_modele(unsigned int num)
Definition: mg_gestionnaire.cpp:118
MG_GESTIONNAIRE::get_fichier_dependant
virtual void get_fichier_dependant(std::vector< std::string > &liste_fichier)
Definition: mg_gestionnaire.cpp:1083
MG_GESTIONNAIRE::get_premier_construction
MG_GEOMETRIE * get_premier_construction(LISTE_MG_CONSTRUCTION::iterator &it)
Definition: mg_gestionnaire.cpp:449
MG_GESTIONNAIRE::get_suivant_mg_solution
MG_SOLUTION * get_suivant_mg_solution(LISTE_MG_SOLUTION::iterator &it)
Definition: mg_gestionnaire.cpp:828
MG_GESTIONNAIRE::get_nb_mg_construction
unsigned int get_nb_mg_construction(void)
Definition: mg_gestionnaire.cpp:465
MG_GESTIONNAIRE::~MG_GESTIONNAIRE
virtual ~MG_GESTIONNAIRE()
Definition: mg_gestionnaire.cpp:44
MG_SOLUTION
Definition: mg_solution.h:46
MG_GESTIONNAIRE::get_nb_mg_geometrie
unsigned int get_nb_mg_geometrie(void)
Definition: mg_gestionnaire.cpp:358
MG_GESTIONNAIRE::get_nb_mg_solution
unsigned int get_nb_mg_solution(void)
Definition: mg_gestionnaire.cpp:837
FEM_SOLUTION::get_nom_fichier
std::string get_nom_fichier(void)
Definition: fem_solution.cpp:839
MG_GESTIONNAIRE::MG_GESTIONNAIRE
MG_GESTIONNAIRE()
Definition: mg_gestionnaire.cpp:38
MG_GESTIONNAIRE::supprimer_fem_solutionid
int supprimer_fem_solutionid(unsigned long num)
Definition: mg_gestionnaire.cpp:966
OK
const int OK
Definition: mg_definition.h:38
MG_GESTIONNAIRE::lst_mgcg_modele
LISTE_MGCG_MODELE lst_mgcg_modele
Definition: mg_gestionnaire.h:171
MG_GESTIONNAIRE::supprimer_tout_mg_solution
void supprimer_tout_mg_solution(void)
Definition: mg_gestionnaire.cpp:879
MG_GESTIONNAIRE::supprimer_tout_mg_geometrie
void supprimer_tout_mg_geometrie(void)
Definition: mg_gestionnaire.cpp:398
MG_GESTIONNAIRE
Definition: mg_gestionnaire.h:57
FEM_SOLUTION::get_maillage
FEM_MAILLAGE * get_maillage(void)
Definition: fem_solution.cpp:472
MG_GESTIONNAIRE::ajouter_fem_solution
int ajouter_fem_solution(FEM_SOLUTION *mgsol)
Definition: mg_gestionnaire.cpp:902
MG_GESTIONNAIRE::get_suivant_fem_solution
FEM_SOLUTION * get_suivant_fem_solution(LISTE_FEM_SOLUTION::iterator &it)
Definition: mg_gestionnaire.cpp:1041
MG_GESTIONNAIRE::supprimer_tout_mg_maillage
void supprimer_tout_mg_maillage(void)
Definition: mg_gestionnaire.cpp:619
FEM_MAILLAGE::change_gestionnaire
void change_gestionnaire(class MG_GESTIONNAIRE *mggest)
Definition: fem_maillage.cpp:115
MG_GESTIONNAIRE::supprimer_fem_maillage
int supprimer_fem_maillage(unsigned int num)
Definition: mg_gestionnaire.cpp:706
MG_SOLUTION::get_maillage
MG_MAILLAGE * get_maillage(void)
Definition: mg_solution.cpp:343
MG_GESTIONNAIRE::lst_mg_maillage
LISTE_MG_MAILLAGE lst_mg_maillage
Definition: mg_gestionnaire.h:166
MG_GESTIONNAIRE::supprimer_mg_arbre
int supprimer_mg_arbre(unsigned int num)
Definition: mg_gestionnaire.cpp:276
MG_GESTIONNAIRE::get_nb_mg_arbre
unsigned int get_nb_mg_arbre(void)
Definition: mg_gestionnaire.cpp:253
MG_GESTIONNAIRE::get_fem_solution
FEM_SOLUTION * get_fem_solution(unsigned int num)
Definition: mg_gestionnaire.cpp:930
MG_GESTIONNAIRE::get_mg_construction
MG_GEOMETRIE * get_mg_construction(unsigned int num)
Definition: mg_gestionnaire.cpp:438
MAGIC_VERSION_FICHIER_DOUBLE
#define MAGIC_VERSION_FICHIER_DOUBLE
Definition: version.h:7
MG_GESTIONNAIRE::get_mg_solution
MG_SOLUTION * get_mg_solution(unsigned int num)
Definition: mg_gestionnaire.cpp:792
MG_GESTIONNAIRE::supprimer_mg_construction
int supprimer_mg_construction(unsigned int num)
Definition: mg_gestionnaire.cpp:488
MG_GESTIONNAIRE::lst_mg_geometrie
LISTE_MG_GEOMETRIE lst_mg_geometrie
Definition: mg_gestionnaire.h:164
MG_GESTIONNAIRE::get_fem_solutionid
FEM_SOLUTION * get_fem_solutionid(unsigned long num)
Definition: mg_gestionnaire.cpp:918
MG_GESTIONNAIRE::ajouter_mg_maillage
int ajouter_mg_maillage(MG_MAILLAGE *mgmai)
Definition: mg_gestionnaire.cpp:521
MG_GESTIONNAIRE::supprimer_mg_maillage
int supprimer_mg_maillage(unsigned int num)
Definition: mg_gestionnaire.cpp:602
MG_SOLUTION::get_nom_fichier
std::string get_nom_fichier(void)
Definition: mg_solution.cpp:460
MG_GESTIONNAIRE::get_suivant_geometrie
MG_GEOMETRIE * get_suivant_geometrie(LISTE_MG_GEOMETRIE::iterator &it)
Definition: mg_gestionnaire.cpp:350
FEM_SOLUTION::efface
void efface(void)
Definition: fem_solution.cpp:386
MG_GESTIONNAIRE::get_mg_constructionid
MG_GEOMETRIE * get_mg_constructionid(unsigned long num)
Definition: mg_gestionnaire.cpp:426
MG_GESTIONNAIRE::ajouter_mg_arbre
int ajouter_mg_arbre(MG_ARBRE *mgarbre)
Definition: mg_gestionnaire.cpp:201
MG_GESTIONNAIRE::get_suivant_mgcg_modele
MG_CG_MODELE * get_suivant_mgcg_modele(LISTE_MGCG_MODELE::iterator &it)
Definition: mg_gestionnaire.cpp:142
MG_GESTIONNAIRE::vide
virtual void vide(void)
Definition: mg_gestionnaire.cpp:56
MG_MAILLAGE::change_gestionnaire
void change_gestionnaire(class MG_GESTIONNAIRE *mggest)
Definition: mg_maillage.cpp:416
MG_GESTIONNAIRE::get_mg_solutionid
MG_SOLUTION * get_mg_solutionid(unsigned long num)
Definition: mg_gestionnaire.cpp:780
MG_GESTIONNAIRE::supprimer_mgcg_modeleid
int supprimer_mgcg_modeleid(unsigned long num)
Definition: mg_gestionnaire.cpp:166
MG_GESTIONNAIRE::supprimer_mg_geometrieid
int supprimer_mg_geometrieid(unsigned long num)
Definition: mg_gestionnaire.cpp:364
MG_GESTIONNAIRE::ajouter_mg_geometrie
int ajouter_mg_geometrie(MG_GEOMETRIE *mggeo)
Definition: mg_gestionnaire.cpp:306
MG_GESTIONNAIRE::version_fichier
double version_fichier
Definition: mg_gestionnaire.h:177
MG_GESTIONNAIRE::supprimer_mg_solution
int supprimer_mg_solution(unsigned int num)
Definition: mg_gestionnaire.cpp:861
FEM_MAILLAGE
Definition: fem_maillage.h:66
MG_GESTIONNAIRE::ajouter_mg_construction
int ajouter_mg_construction(MG_GEOMETRIE *construction)
Definition: mg_gestionnaire.cpp:413
MG_GESTIONNAIRE::get_fem_maillageid
FEM_MAILLAGE * get_fem_maillageid(unsigned long num)
Definition: mg_gestionnaire.cpp:658
MG_GESTIONNAIRE::lst_fem_solution
LISTE_FEM_SOLUTION lst_fem_solution
Definition: mg_gestionnaire.h:169
MG_GESTIONNAIRE::entitevisuelidmax
unsigned long entitevisuelidmax
Definition: mg_gestionnaire.h:174
MG_GESTIONNAIRE::get_nb_mgcg_modele
unsigned int get_nb_mgcg_modele(void)
Definition: mg_gestionnaire.cpp:129
MG_GESTIONNAIRE::supprimer_mg_solutionid
int supprimer_mg_solutionid(unsigned long num)
Definition: mg_gestionnaire.cpp:843
MG_GESTIONNAIRE::get_fem_maillage
FEM_MAILLAGE * get_fem_maillage(unsigned int num)
Definition: mg_gestionnaire.cpp:670
MG_CG_MODELE
Definition: mg_cg_modele.h:41
MG_GESTIONNAIRE::get_premier_geometrie
MG_GEOMETRIE * get_premier_geometrie(LISTE_MG_GEOMETRIE::iterator &it)
Definition: mg_gestionnaire.cpp:342
MG_GESTIONNAIRE::get_nb_fem_maillage
unsigned int get_nb_fem_maillage(void)
Definition: mg_gestionnaire.cpp:683
MG_GESTIONNAIRE::get_suivant_fem_maillage
FEM_MAILLAGE * get_suivant_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it)
Definition: mg_gestionnaire.cpp:746
MG_SOLUTION::get_nom
std::string get_nom(void)
Definition: mg_solution.cpp:456
MG_GESTIONNAIRE::get_premier_mg_solution
MG_SOLUTION * get_premier_mg_solution(LISTE_MG_SOLUTION::iterator &it)
Definition: mg_gestionnaire.cpp:820
MG_GESTIONNAIRE::get_mg_maillage
MG_MAILLAGE * get_mg_maillage(unsigned int num)
Definition: mg_gestionnaire.cpp:550
MG_IDENTIFICATEUR::change_id
void change_id(unsigned long idtmp)
Definition: mg_identificateur.cpp:59
MG_GESTIONNAIRE::lst_mg_arbre
LISTE_MG_ARBRE lst_mg_arbre
Definition: mg_gestionnaire.h:170
MG_GESTIONNAIRE::recherche_bonidvisuel
void recherche_bonidvisuel(MG_IDENTIFICATEUR &ident)
Definition: mg_gestionnaire.cpp:82
FEM_SOLUTION::get_nom
std::string get_nom(void)
Definition: fem_solution.cpp:834
MG_GESTIONNAIRE::get_mg_arbre
MG_ARBRE * get_mg_arbre(unsigned int num)
Definition: mg_gestionnaire.cpp:226
MG_GESTIONNAIRE::lst_entite
LISTE_ENTITE lst_entite
Definition: mg_gestionnaire.h:163
mg_cg_modele.h
MG_GESTIONNAIRE::get_mgcg_modeleid
MG_CG_MODELE * get_mgcg_modeleid(unsigned long num)
Definition: mg_gestionnaire.cpp:108
MG_GESTIONNAIRE::get_premier_mgcg_modele
MG_CG_MODELE * get_premier_mgcg_modele(LISTE_MGCG_MODELE::iterator &it)
Definition: mg_gestionnaire.cpp:134
MG_GESTIONNAIRE::get_premier_fem_maillage
FEM_MAILLAGE * get_premier_fem_maillage(LISTE_FEM_MAILLAGE::iterator &it)
Definition: mg_gestionnaire.cpp:738
MG_GESTIONNAIRE::supprimer_fem_solution
int supprimer_fem_solution(unsigned int num)
Definition: mg_gestionnaire.cpp:984
MG_GESTIONNAIRE::supprimer_mgcg_modele
int supprimer_mgcg_modele(unsigned int num)
Definition: mg_gestionnaire.cpp:150
MG_GESTIONNAIRE::supprimer_tout_fem_maillage
void supprimer_tout_fem_maillage(void)
Definition: mg_gestionnaire.cpp:723
MG_GESTIONNAIRE::recherche_bonid
void recherche_bonid(MG_IDENTIFICATEUR &ident)
Definition: mg_gestionnaire.cpp:69
MG_GESTIONNAIRE::get_mg_maillageid
MG_MAILLAGE * get_mg_maillageid(unsigned long num)
Definition: mg_gestionnaire.cpp:538
MG_GEOMETRIE::change_gestionnaire
void change_gestionnaire(class MG_GESTIONNAIRE *mggest)
Definition: mg_geometrie.cpp:131
MG_GESTIONNAIRE::get_nb_mg_maillage
unsigned int get_nb_mg_maillage(void)
Definition: mg_gestionnaire.cpp:579
MG_GESTIONNAIRE::supprimer_tout_mgcg_modele
void supprimer_tout_mgcg_modele(void)
Definition: mg_gestionnaire.cpp:182
MG_GEOMETRIE
Definition: mg_geometrie.h:84
MG_MAILLAGE
Definition: mg_maillage.h:62
operator<<
std::ostream & operator<<(std::ostream &o, MG_GESTIONNAIRE &gest)
Definition: mg_gestionnaire.cpp:1096
MG_CG_MODELE::change_mg_gestionnaire
virtual void change_mg_gestionnaire(MG_GESTIONNAIRE *mg_gestionnaire)
Definition: mg_cg_modele.cpp:88
MG_GESTIONNAIRE::get_suivant_arbre
MG_ARBRE * get_suivant_arbre(LISTE_MG_ARBRE::iterator &it)
Definition: mg_gestionnaire.cpp:245
MG_GESTIONNAIRE::get_premier_fem_solution
FEM_SOLUTION * get_premier_fem_solution(LISTE_FEM_SOLUTION::iterator &it)
Definition: mg_gestionnaire.cpp:1033
MG_GESTIONNAIRE::supprimer_mg_maillageid
int supprimer_mg_maillageid(unsigned long num)
Definition: mg_gestionnaire.cpp:585
MG_GESTIONNAIRE::get_nb_fem_solution
unsigned int get_nb_fem_solution(void)
Definition: mg_gestionnaire.cpp:960
MG_GESTIONNAIRE::ajouter_mgcg_modele
int ajouter_mgcg_modele(MG_CG_MODELE *mgcg_modele)
Definition: mg_gestionnaire.cpp:96
MG_IDENTIFICATEUR
Definition: mg_identificateur.h:34
MG_GESTIONNAIRE::supprimer_mg_arbreid
int supprimer_mg_arbreid(unsigned long num)
Definition: mg_gestionnaire.cpp:259
MG_GESTIONNAIRE::get_mg_geometrie
MG_GEOMETRIE * get_mg_geometrie(unsigned int num)
Definition: mg_gestionnaire.cpp:331
MG_GESTIONNAIRE::supprimer_fem_maillageid
int supprimer_fem_maillageid(unsigned long num)
Definition: mg_gestionnaire.cpp:689
MG_GESTIONNAIRE::get_suivant_mg_maillage
MG_MAILLAGE * get_suivant_mg_maillage(LISTE_MG_MAILLAGE::iterator &it)
Definition: mg_gestionnaire.cpp:570
MG_GESTIONNAIRE::get_mg_geometrieid
MG_GEOMETRIE * get_mg_geometrieid(unsigned long num)
Definition: mg_gestionnaire.cpp:319
MG_GESTIONNAIRE::lst_fem_maillage
LISTE_FEM_MAILLAGE lst_fem_maillage
Definition: mg_gestionnaire.h:167
MG_GESTIONNAIRE::ajouter_mg_solution
int ajouter_mg_solution(MG_SOLUTION *mgsol)
Definition: mg_gestionnaire.cpp:764
MG_GESTIONNAIRE::supprimer_mg_geometrie
int supprimer_mg_geometrie(unsigned int num)
Definition: mg_gestionnaire.cpp:381