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 |
532 |
if (tri->get_lien_topologie()==NULL) |
33 |
|
|
{ |
34 |
francois |
791 |
nvtri->change_origine(MAGIC::ORIGINE::IMPOSE); |
35 |
|
|
nvtri->get_noeud1()->change_origine(MAGIC::ORIGINE::IMPOSE);; |
36 |
|
|
nvtri->get_noeud2()->change_origine(MAGIC::ORIGINE::IMPOSE);; |
37 |
|
|
nvtri->get_noeud3()->change_origine(MAGIC::ORIGINE::IMPOSE);; |
38 |
|
|
nvtri->get_segment1()->change_origine(MAGIC::ORIGINE::IMPOSE);; |
39 |
|
|
nvtri->get_segment2()->change_origine(MAGIC::ORIGINE::IMPOSE);; |
40 |
|
|
nvtri->get_segment3()->change_origine(MAGIC::ORIGINE::IMPOSE);; |
41 |
francois |
532 |
nvtri->get_segment1()->change_dimension_topo_null(2); |
42 |
|
|
nvtri->get_segment2()->change_dimension_topo_null(2); |
43 |
|
|
nvtri->get_segment3()->change_dimension_topo_null(2); |
44 |
|
|
} |
45 |
francois |
420 |
lsttrim3d.ajouter(nvtri); |
46 |
|
|
} |
47 |
|
|
|
48 |
|
|
TPL_MAP_ENTITE<M3D_TRIANGLE*>::ITERATEUR it2; |
49 |
|
|
|
50 |
|
|
for (M3D_TRIANGLE* tri=lsttrim3d.get_premier(it2);tri!=NULL;tri=lsttrim3d.get_suivant(it2)) |
51 |
|
|
{ |
52 |
|
|
mg_maillage->supprimer_mg_triangleid(tri->get_id()); |
53 |
|
|
mg_maillage->ajouter_mg_triangle(tri); |
54 |
|
|
} |
55 |
|
|
|
56 |
|
|
for (MG_TRIANGLE* tri=mg_maillage->get_premier_triangle(it);tri!=NULL;tri=mg_maillage->get_suivant_triangle(it)) |
57 |
|
|
ajouter_front_courant(NONFORCE,tri->get_noeud1(),tri->get_noeud2(),tri->get_noeud3(),tri); |
58 |
|
|
|
59 |
|
|
} |