ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mailleur/src/mailleur3d_peau.cpp
Revision: 830
Committed: Fri Sep 30 20:08:17 2016 UTC (8 years, 7 months ago) by francois
Original Path: magic/lib/mailleur_auto/src/mailleur3d_peau.cpp
File size: 2825 byte(s)
Log Message:
Posttraitement de l'optimisation de topologie
 * transfert des conditions aux limites sur le maillage de  peau via une geometrie virtuelle
* ajout d'un fichier .volume qui suit l'évolution du volume au travers du processus de posttraitement

File Contents

# User Rev Content
1 francois 420 #include "gestionversion.h"
2     #include "mailleur3d_peau.h"
3     #include "fct_taille.h"
4     #include "mg_volume.h"
5     #include "m3d_triangle.h"
6    
7    
8    
9    
10    
11 francois 494 MAILLEUR3D_PEAU::MAILLEUR3D_PEAU(MG_MAILLAGE* mgmai,MG_GEOMETRIE *mggeo,MG_VOLUME* mgvol,FCT_TAILLE* fct_taille,bool save):MAILLEUR3D(mgmai,mggeo,fct_taille,save,mgvol,TOUTDETRUIRE)
12 francois 420 {
13    
14     }
15    
16    
17     MAILLEUR3D_PEAU::~MAILLEUR3D_PEAU()
18     {
19     }
20    
21    
22    
23     void MAILLEUR3D_PEAU::cree_front(MG_VOLUME* mgvol)
24     {
25     LISTE_MG_TRIANGLE::iterator it;
26     TPL_MAP_ENTITE<M3D_TRIANGLE*> lsttrim3d;
27    
28     for (MG_TRIANGLE* tri=mg_maillage->get_premier_triangle(it);tri!=NULL;tri=mg_maillage->get_suivant_triangle(it))
29     {
30 francois 532 M3D_TRIANGLE* nvtri=new M3D_TRIANGLE(tri->get_id(),tri->get_lien_topologie(),tri->get_noeud1(),tri->get_noeud2(),tri->get_noeud3(),tri->get_segment1(),tri->get_segment2(),tri->get_segment3(),tri->get_origine());
31 francois 420 nvtri->change_frontiere();
32 francois 830 //if (tri->get_lien_topologie()==NULL)
33     if (tri->get_origine()==MAGIC::ORIGINE::MAILLEUR_AUTO)
34 francois 532 {
35 francois 830 /*nvtri->change_origine(MAGIC::ORIGINE::IMPOSE);
36 francois 791 nvtri->get_noeud1()->change_origine(MAGIC::ORIGINE::IMPOSE);;
37     nvtri->get_noeud2()->change_origine(MAGIC::ORIGINE::IMPOSE);;
38     nvtri->get_noeud3()->change_origine(MAGIC::ORIGINE::IMPOSE);;
39     nvtri->get_segment1()->change_origine(MAGIC::ORIGINE::IMPOSE);;
40     nvtri->get_segment2()->change_origine(MAGIC::ORIGINE::IMPOSE);;
41     nvtri->get_segment3()->change_origine(MAGIC::ORIGINE::IMPOSE);;
42 francois 532 nvtri->get_segment1()->change_dimension_topo_null(2);
43     nvtri->get_segment2()->change_dimension_topo_null(2);
44 francois 830 nvtri->get_segment3()->change_dimension_topo_null(2);*/
45     nvtri->change_origine(MAGIC::ORIGINE::TRIANGULATION);
46     nvtri->get_noeud1()->change_origine(MAGIC::ORIGINE::TRIANGULATION);;
47     nvtri->get_noeud2()->change_origine(MAGIC::ORIGINE::TRIANGULATION);;
48     nvtri->get_noeud3()->change_origine(MAGIC::ORIGINE::TRIANGULATION);;
49     nvtri->get_segment1()->change_origine(MAGIC::ORIGINE::TRIANGULATION);;
50     nvtri->get_segment2()->change_origine(MAGIC::ORIGINE::TRIANGULATION);;
51     nvtri->get_segment3()->change_origine(MAGIC::ORIGINE::TRIANGULATION);;
52 francois 532 }
53 francois 830 if (tri->get_lien_topologie()==NULL)
54     {
55     nvtri->get_segment1()->change_dimension_topo_null(2);
56     nvtri->get_segment2()->change_dimension_topo_null(2);
57     nvtri->get_segment3()->change_dimension_topo_null(2);
58     }
59 francois 420 lsttrim3d.ajouter(nvtri);
60     }
61    
62     TPL_MAP_ENTITE<M3D_TRIANGLE*>::ITERATEUR it2;
63    
64     for (M3D_TRIANGLE* tri=lsttrim3d.get_premier(it2);tri!=NULL;tri=lsttrim3d.get_suivant(it2))
65     {
66     mg_maillage->supprimer_mg_triangleid(tri->get_id());
67     mg_maillage->ajouter_mg_triangle(tri);
68     }
69    
70     for (MG_TRIANGLE* tri=mg_maillage->get_premier_triangle(it);tri!=NULL;tri=mg_maillage->get_suivant_triangle(it))
71     ajouter_front_courant(NONFORCE,tri->get_noeud1(),tri->get_noeud2(),tri->get_noeud3(),tri);
72    
73     }