MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mailleur3d.h
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 //####// mailleur3d.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 #ifndef mailleur3dH
24 #define mailleur3dH
25 
26 
27 
28 
29 
30 
31 
32 
33 #include <map>
34 
35 
36 #include <vector>
37 #include "mailleur.h"
38 #include "mg_front_3D.h"
39 #include "mg_maillage.h"
40 #include "mg_geometrie.h"
41 #include "mg_volume.h"
42 #include "fct_taille.h"
43 #include "tpl_octree.h"
44 
45 
46 
47 
48 #define EPS_BASE_RELATIVE 1e-14 //en réalite 2^(1-nombre de bit de la mantisse d'un reel) 52+1(le premier bit toujours 1 n'est pas represente) en 64 bits
49 
50 
51 class MAILLEUR3D:public MAILLEUR
52 {
53 public:
54 
55 
56 
57 
58 
59 MAILLEUR3D(MG_MAILLAGE* mgmai,MG_GEOMETRIE *mggeo,FCT_TAILLE* fct_taille,bool save,MG_VOLUME* mgvol=NULL,int destruction=MAGIC::MAILLEURFRONTALETAT::TOUTDETRUIRE);
60 MAILLEUR3D(FCT_TAILLE* met,MG_MAILLAGE* mgmai,class OT_CPU* comp=NULL,int destruction=MAGIC::MAILLEURFRONTALETAT::TOUTDETRUIRE);
61 virtual ~MAILLEUR3D();
62 
63 virtual int maille(MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
64 virtual int maille(MG_VOLUME* mgvol,TPL_LISTE_ENTITE<MG_TRIANGLE*> *lsttri=NULL,TPL_LISTE_ENTITE<MG_TETRA*> *lsttet=NULL);
65 
66 
67 virtual void active_log(char* nomfile);
68 virtual void desactive_log(void);
69 virtual void analyse_maillage_obtenu(double &vol,int *tab,double borne1=0.1,double borne2=0.2,double borne3=0.5);
70 virtual void change_niveau_optimisation(int num);
71 virtual int get_niveau_optimisation(void);
72 virtual void change_coef(double val);
73 virtual void verifie_conformite_octale(MG_MAILLAGE* mai,MG_MAILLAGE* maisur);
74 
75 protected:
76 typedef std::multimap<double,MG_FRONT_3D*,std::less<double> > FRONT;
77 virtual int maille(FCT_TAILLE *metri);
78 
81 
82 
83 
84 virtual void cree_ntree(void);
85 virtual void initialise_front(MG_VOLUME* mgvol);
86 virtual void cree_front(MG_VOLUME* mgvol);
87 virtual void recherche_voisin_front(void);
88 virtual int progresse_front(MG_VOLUME* mgvol);
89 virtual int genere_noeud(MG_VOLUME* mgvol,MG_FRONT_3D* ft,TPL_MAP_ENTITE<MG_NOEUD*> &liste_noeud,std::vector<class CAS_FRONT*> &liste_cas);
90 virtual void detruit_element_inactif(void);
91 
92 virtual int traite_front(class MG_VOLUME* mgvol,int type,MG_FRONT_3D* ft,std::vector<class CAS_FRONT*>& liste_cas,std::vector<class CAS_FRONT*>& liste_classe_cas,class CAS_FRONT **cas);
93 virtual int traite_front_adjacent3(class MG_VOLUME* mgvol,MG_FRONT_3D* ft,std::vector<CAS_FRONT*> &liste_cas,std::vector<CAS_FRONT*> &liste_classe_cas,CAS_FRONT **cas);
94 virtual int traite_front_adjacent2(class MG_VOLUME* mgvol,MG_FRONT_3D* ft,std::vector<CAS_FRONT*> &liste_cas,std::vector<CAS_FRONT*> &liste_classe_cas,CAS_FRONT **cas);
95 virtual int traite_front_adjacent1(class MG_VOLUME* mgvol,MG_FRONT_3D* ft,std::vector<CAS_FRONT*> &liste_cas,std::vector<CAS_FRONT*> &liste_classe_cas,CAS_FRONT **cas);
96 virtual int traite_front_lie(class MG_VOLUME* mgvol,MG_FRONT_3D* ft,std::vector<CAS_FRONT*> &liste_cas,std::vector<CAS_FRONT*> &liste_classe_cas,CAS_FRONT **cas);
97 virtual int traite_front_general(class MG_VOLUME* mgvol,MG_FRONT_3D* ft,std::vector<CAS_FRONT*> &liste_cas,std::vector<CAS_FRONT*> &liste_classe_cas,CAS_FRONT **cas);
98 
99 virtual int traite_destruction(MG_FRONT_3D* ft,TPL_MAP_ENTITE<class MG_TRIANGLE*>& liste_intersection);
100 virtual void detruit_tetra(MG_TRIANGLE* tri);
101 
102 virtual class MG_FRONT_3D* mise_a_jour_front(MG_TETRA* tet,int cote,int numfront=MAGIC::MAILLEURFRONTALETAT::ATTENTE);
103 virtual void mise_a_jour_voisin_front(MG_FRONT_3D* ft);
104 
105 virtual int test_front(void);
106 virtual void genere_log(int fincouche);
107 virtual void ini_log(void);
108 virtual void fin_log(void);
109 
110 
111 virtual double angle_front(MG_FRONT_3D* ft1,MG_FRONT_3D* ft2);
112 virtual double angle_front(MG_FRONT_3D* ft1,MG_SEGMENT* seg);
113 virtual double evaluer_distance_noeud_triangle(double x,double y,double z,MG_TRIANGLE* tri);
114 virtual void insere_cas_front(int type,MG_NOEUD* noeud,int numero_cote,double angle,std::vector<CAS_FRONT*>& liste_cas);
115 virtual void efface_cas_front(std::vector<CAS_FRONT*>& liste_cas,std::vector<CAS_FRONT*> liste_classe_cas[8]);
116 
117 virtual int inter_tetra_triangle(MG_NOEUD* noeud1,MG_NOEUD* noeud2,MG_NOEUD* noeud3,MG_NOEUD* noeud4,MG_NOEUD* noeud5,MG_NOEUD* noeud6,MG_NOEUD* noeud7);
123 virtual int examine_solution(double sol1,double sol2,double epssol1,double epssol2,int type);
124 
125 
128 
130 
131 virtual class MG_TETRA* insere_tetra(class MG_ELEMENT_TOPOLOGIQUE* mgvol,class MG_FRONT_3D* ft,MG_NOEUD* noeud4,int type,TPL_MAP_ENTITE<class MG_TRIANGLE*>& liste_intersection);
133 int supprimer_mg_tetra(MG_TETRA* mgtetra);
135 virtual class MG_SEGMENT* insere_segment(class MG_ELEMENT_TOPOLOGIQUE* mgvol,MG_NOEUD* noeud1,MG_NOEUD* noeud2,int origine);
138 virtual class MG_SEGMENT* cree_segment(class MG_ELEMENT_TOPOLOGIQUE* mgvol,MG_NOEUD* noeud1,MG_NOEUD* noeud2,int origine);
139 
140 virtual void insere_tetra(MG_MAILLAGE* mai,MG_NOEUD* noeud1,MG_NOEUD* noeud2,MG_NOEUD* noeud3,MG_NOEUD* noeud4);
141 
142 
145 virtual void ajouter_front(FRONT& front,MG_FRONT_3D *ft);
146 virtual MG_FRONT_3D* get_premier_front(FRONT& front);
147 virtual MG_FRONT_3D* get_premier_front(FRONT& front,FRONT::iterator &it);
148 virtual MG_FRONT_3D* get_suivant_front(FRONT& front,FRONT::iterator &it);
149 virtual unsigned int get_nb_front(FRONT& front);
150 virtual unsigned int get_nb_front_courant(void);
151 virtual void supprimer_front_en_avancant(MG_FRONT_3D* ft);
153 virtual void supprimer_front_en_reculant(MG_FRONT_3D* ft);
154 virtual void echange_de_front(FRONT& front_original,FRONT& front_destination,MG_FRONT_3D* ft);
155 virtual void echange_de_front(MG_FRONT_3D* ft,int num);
156 virtual void swap_front(FRONT& front_original,FRONT& front_destination);
157 virtual int premier_front_courant(void);
158 
159 
160 
161 
164 
165 
166 
175 
177 std::string nomlog;
178 
180 
183 FILE* inlog;
184 double coef;
185 
186 
187 
188 int passe;
189 };
190 
191 
192 
193 
194 
195 
196 
197 
198 
199 
200 
201 
202 
203 
204 
205 #endif
MAILLEUR3D::traite_front_adjacent2
virtual int traite_front_adjacent2(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
Definition: mailleur3d_front.cpp:344
MG_TETRA::noeud4
class MG_NOEUD * noeud4
Definition: mg_tetra.h:72
MAILLEUR3D::supprimer_mg_tetra
int supprimer_mg_tetra(MG_TETRA *mgtetra)
Definition: mailleur3d_outil.cpp:1158
MAILLEUR3D::change_niveau_optimisation
virtual void change_niveau_optimisation(int num)
Definition: mailleur3d.cpp:464
MG_TETRA::noeud1
class MG_NOEUD * noeud1
Definition: mg_tetra.h:69
MAILLEUR3D::active_log
virtual void active_log(char *nomfile)
Definition: mailleur3d.cpp:453
MAILLEUR3D::traite_destruction
virtual int traite_destruction(MG_FRONT_3D *ft, TPL_MAP_ENTITE< class MG_TRIANGLE * > &liste_intersection)
Definition: mailleur3d_front.cpp:805
MAILLEUR3D::traite_front_adjacent3
virtual int traite_front_adjacent3(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
Definition: mailleur3d_front.cpp:327
MAILLEUR3D::type_mailleur
int type_mailleur
Definition: mailleur3d.h:171
MAILLEUR3D::calcule_volume
virtual double calcule_volume(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
Definition: mailleur3d_outil.cpp:361
MG_SEGMENT
Definition: mg_segment.h:38
mg_geometrie.h
MAILLEUR3D::efface_cas_front
virtual void efface_cas_front(std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > liste_classe_cas[8])
Definition: mailleur3d_front.cpp:685
MAILLEUR3D::get_suivant_front
virtual MG_FRONT_3D * get_suivant_front(FRONT &front, FRONT::iterator &it)
Definition: mailleur3d.cpp:317
MAILLEUR3D::ajouter_front_courant
virtual MG_FRONT_3D * ajouter_front_courant(int numero_front, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_TRIANGLE *triangle)
Definition: mailleur3d.cpp:267
MAILLEUR3D::coef
double coef
Definition: mailleur3d.h:184
MAILLEUR3D::premier_front_courant
virtual int premier_front_courant(void)
Definition: mailleur3d.cpp:434
fct_taille.h
MAILLEUR3D::traite_front
virtual int traite_front(class MG_VOLUME *mgvol, int type, MG_FRONT_3D *ft, std::vector< class CAS_FRONT * > &liste_cas, std::vector< class CAS_FRONT * > &liste_classe_cas, class CAS_FRONT **cas)
Definition: mailleur3d_front.cpp:309
MAILLEUR3D::mise_a_jour_voisin_front
virtual void mise_a_jour_voisin_front(MG_FRONT_3D *ft)
Definition: mailleur3d_front.cpp:710
MG_FRONT_3D
Definition: CAD4FE_mg_front_3d.h:42
TPL_MAP_ENTITE< MG_NOEUD * >
MG_TETRA::noeud3
class MG_NOEUD * noeud3
Definition: mg_tetra.h:71
MAILLEUR3D::get_premier_front
virtual MG_FRONT_3D * get_premier_front(FRONT &front)
Definition: mailleur3d.cpp:303
MAILLEUR3D::inter_tetra_triangle
virtual int inter_tetra_triangle(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_NOEUD *noeud5, MG_NOEUD *noeud6, MG_NOEUD *noeud7)
Definition: mailleur3d_intersection.cpp:36
CAS_FRONT
Definition: mailleur3d_front.h:29
MAILLEUR3D::get_niveau_optimisation
virtual int get_niveau_optimisation(void)
Definition: mailleur3d.cpp:469
MAILLEUR3D::inter_segment_segment
virtual int inter_segment_segment(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
Definition: mailleur3d_intersection.cpp:326
OT_CPU
Definition: ot_cpu.h:31
MAILLEUR3D::echange_de_front
virtual void echange_de_front(FRONT &front_original, FRONT &front_destination, MG_FRONT_3D *ft)
Definition: mailleur3d.cpp:385
MAILLEUR3D::supprimer_front_en_reculant
virtual void supprimer_front_en_reculant(MG_FRONT_3D *ft)
Definition: mailleur3d.cpp:363
MAILLEUR3D::front_attente
FRONT front_attente
Definition: mailleur3d.h:174
MG_TETRA::triangle4
class MG_TRIANGLE * triangle4
Definition: mg_tetra.h:77
MAILLEUR3D::detruit_tetra
virtual void detruit_tetra(MG_TRIANGLE *tri)
Definition: mailleur3d_outil.cpp:572
MAILLEUR3D::~MAILLEUR3D
virtual ~MAILLEUR3D()
Definition: mailleur3d.cpp:48
MAILLEUR3D::insere_contrainte_tetra
virtual void insere_contrainte_tetra(MG_VOLUME *mgvol, TPL_LISTE_ENTITE< MG_TETRA * > *lsttet)
Definition: mailleur3d_outil.cpp:782
MAILLEUR3D::maille
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
Definition: mailleur3d.cpp:55
MAILLEUR3D::verifie_conformite_octale
virtual void verifie_conformite_octale(MG_MAILLAGE *mai, MG_MAILLAGE *maisur)
Definition: mailleur3d_octal.cpp:224
MAILLEUR3D::recherche_voisin_front
virtual void recherche_voisin_front(void)
Definition: mailleur3d.cpp:164
MG_FRONT_3D::noeud2
class MG_NOEUD * noeud2
Definition: CAD4FE_mg_front_3d.h:67
MG_SEGMENT::noeud2
class MG_NOEUD * noeud2
Definition: mg_segment.h:74
MAILLEUR3D::insere_cas_front
virtual void insere_cas_front(int type, MG_NOEUD *noeud, int numero_cote, double angle, std::vector< CAS_FRONT * > &liste_cas)
Definition: mailleur3d_front.cpp:655
MG_FRONT_3D::noeud1
class MG_NOEUD * noeud1
Definition: CAD4FE_mg_front_3d.h:66
MAILLEUR3D::traite_front_general
virtual int traite_front_general(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
Definition: mailleur3d_front.cpp:515
MAILLEUR3D::mg_maillage
MG_MAILLAGE * mg_maillage
Definition: mailleur3d.h:167
MG_TRIANGLE
Definition: mg_triangle.h:38
FCT_TAILLE
Definition: fct_taille.h:30
MG_VOLUME
Definition: mg_volume.h:33
MG_TRIANGLE::noeud3
class MG_NOEUD * noeud3
Definition: mg_triangle.h:76
MAILLEUR3D
Definition: mailleur3d.h:51
MAILLEUR::pas
int pas
Definition: mailleur.h:56
mg_front_3D.h
TPL_NTREE_FCT< MG_FRONT_3D *, FCT_TAILLE >
MG_TETRA
Definition: mg_tetra.h:37
MAILLEUR3D::initialise_front
virtual void initialise_front(MG_VOLUME *mgvol)
Definition: mailleur3d.cpp:132
MAILLEUR3D::ajouter_front
virtual MG_FRONT_3D * ajouter_front(FRONT &front, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_TRIANGLE *triangle)
Definition: mailleur3d.cpp:289
MAILLEUR3D::inter_triangle_triangle
virtual int inter_triangle_triangle(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_NOEUD *noeud5, MG_NOEUD *noeud6)
Definition: mailleur3d_intersection.cpp:154
MAILLEUR3D::supprimer_front_en_avancant
virtual void supprimer_front_en_avancant(MG_FRONT_3D *ft)
Definition: mailleur3d.cpp:336
MAILLEUR3D::FRONT
std::multimap< double, MG_FRONT_3D *, std::less< double > > FRONT
Definition: mailleur3d.h:76
MG_TETRA::triangle1
class MG_TRIANGLE * triangle1
Definition: mg_tetra.h:74
MAILLEUR3D::distance_maximale
double distance_maximale
Definition: mailleur3d.h:172
MG_TETRA::triangle3
class MG_TRIANGLE * triangle3
Definition: mg_tetra.h:76
MAILLEUR3D::genere_log
virtual void genere_log(int fincouche)
Definition: mailleur3d_front.cpp:899
MAILLEUR3D::cree_segment
virtual class MG_SEGMENT * cree_segment(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, int origine)
Definition: mailleur3d_outil.cpp:353
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
mailleur.h
MAILLEUR3D::front_courant
FRONT front_courant[12]
Definition: mailleur3d.h:173
MAILLEUR3D::mg_geometrie
MG_GEOMETRIE * mg_geometrie
Definition: mailleur3d.h:168
MAILLEUR3D::traite_front_lie
virtual int traite_front_lie(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
Definition: mailleur3d_front.cpp:461
MAILLEUR3D::swap_front
virtual void swap_front(FRONT &front_original, FRONT &front_destination)
Definition: mailleur3d.cpp:427
MAILLEUR3D::MAILLEUR3D
MAILLEUR3D(MG_MAILLAGE *mgmai, MG_GEOMETRIE *mggeo, FCT_TAILLE *fct_taille, bool save, MG_VOLUME *mgvol=NULL, int destruction=MAGIC::MAILLEURFRONTALETAT::TOUTDETRUIRE)
Definition: mailleur3d.cpp:36
MAILLEUR3D::change_coef
virtual void change_coef(double val)
Definition: mailleur3d_octal.cpp:219
MAILLEUR3D::metrique
FCT_TAILLE * metrique
Definition: mailleur3d.h:170
MAILLEUR3D::genere_noeud
virtual int genere_noeud(MG_VOLUME *mgvol, MG_FRONT_3D *ft, TPL_MAP_ENTITE< MG_NOEUD * > &liste_noeud, std::vector< class CAS_FRONT * > &liste_cas)
Definition: mailleur3d_outil.cpp:414
MG_TETRA::noeud2
class MG_NOEUD * noeud2
Definition: mg_tetra.h:70
MAILLEUR3D::passe
int passe
Definition: mailleur3d.h:188
MG_TETRA::triangle2
class MG_TRIANGLE * triangle2
Definition: mg_tetra.h:75
MG_SEGMENT::triangle
TPL_LISTE_ENTITE< class MG_TRIANGLE * > triangle
Definition: mg_segment.h:77
MAILLEUR3D::mise_a_jour_front
virtual class MG_FRONT_3D * mise_a_jour_front(MG_TETRA *tet, int cote, int numfront=MAGIC::MAILLEURFRONTALETAT::ATTENTE)
Definition: mailleur3d_front.cpp:697
MAILLEUR3D::insere_triangle
virtual class MG_TRIANGLE * insere_triangle(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, int origine)
Definition: mailleur3d_outil.cpp:307
MAILLEUR3D::get_nb_front
virtual unsigned int get_nb_front(FRONT &front)
Definition: mailleur3d.cpp:325
MAILLEUR3D::get_nb_front_courant
virtual unsigned int get_nb_front_courant(void)
Definition: mailleur3d.cpp:330
MAILLEUR3D::progresse_front
virtual int progresse_front(MG_VOLUME *mgvol)
Definition: mailleur3d_front.cpp:62
MAILLEUR3D::traite_front_adjacent1
virtual int traite_front_adjacent1(class MG_VOLUME *mgvol, MG_FRONT_3D *ft, std::vector< CAS_FRONT * > &liste_cas, std::vector< CAS_FRONT * > &liste_classe_cas, CAS_FRONT **cas)
Definition: mailleur3d_front.cpp:387
MAGIC::MAILLEURFRONTALETAT::TOUTDETRUIRE
@ TOUTDETRUIRE
Definition: mg_definition.h:114
MG_NOEUD
Definition: mg_noeud.h:41
MAILLEUR3D::test_front
virtual int test_front(void)
Definition: mailleur3d_front.cpp:920
MAGIC::MAILLEURFRONTALETAT::ATTENTE
@ ATTENTE
Definition: mg_definition.h:114
MAILLEUR3D::lsttet_a_detruire
TPL_MAP_ENTITE< MG_TETRA * > lsttet_a_detruire
Definition: mailleur3d.h:162
MG_TRIANGLE::noeud2
class MG_NOEUD * noeud2
Definition: mg_triangle.h:75
MG_TRIANGLE::segment3
class MG_SEGMENT * segment3
Definition: mg_triangle.h:80
MAILLEUR3D::ntree_de_front
TPL_NTREE_FCT< MG_FRONT_3D *, FCT_TAILLE > * ntree_de_front
Definition: mailleur3d.h:179
MAILLEUR3D::angle_front
virtual double angle_front(MG_FRONT_3D *ft1, MG_FRONT_3D *ft2)
Definition: mailleur3d_outil.cpp:47
MAILLEUR3D::detruit_element_inactif
virtual void detruit_element_inactif(void)
Definition: mailleur3d_outil.cpp:731
MG_TRIANGLE::segment1
class MG_SEGMENT * segment1
Definition: mg_triangle.h:78
tpl_octree.h
MG_FRONT_3D::noeud3
class MG_NOEUD * noeud3
Definition: CAD4FE_mg_front_3d.h:68
MAILLEUR3D::nomlog
std::string nomlog
Definition: mailleur3d.h:177
MAILLEUR3D::inter_segment_triangle
virtual int inter_segment_triangle(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_NOEUD *noeud5)
Definition: mailleur3d_intersection.cpp:223
MAILLEUR3D::cree_triangle
virtual class MG_TRIANGLE * cree_triangle(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_SEGMENT *segment1, MG_SEGMENT *segment2, MG_SEGMENT *segment3, int origine)
Definition: mailleur3d_outil.cpp:344
MAILLEUR3D::niveau_optimisation
int niveau_optimisation
Definition: mailleur3d.h:181
MAILLEUR3D::inlog
FILE * inlog
Definition: mailleur3d.h:183
MAILLEUR3D::insere_segment
virtual class MG_SEGMENT * insere_segment(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, int origine)
Definition: mailleur3d_outil.cpp:324
MAILLEUR3D::cree_tetra
virtual class MG_TETRA * cree_tetra(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4, MG_TRIANGLE *triangle1, MG_TRIANGLE *triangle2, MG_TRIANGLE *triangle3, MG_TRIANGLE *triangle4, int origine)
Definition: mailleur3d_outil.cpp:336
MAILLEUR3D::mg_volume
MG_VOLUME * mg_volume
Definition: mailleur3d.h:169
MAILLEUR3D::inter_segment_segment2
virtual int inter_segment_segment2(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
Definition: mailleur3d_intersection.cpp:433
MAILLEUR3D::examine_solution
virtual int examine_solution(double sol1, double sol2, double epssol1, double epssol2, int type)
Definition: mailleur3d_intersection.cpp:588
mg_maillage.h
MAILLEUR3D::calcul_distance_metrique_segment
double calcul_distance_metrique_segment(MG_SEGMENT *seg, int pas)
Definition: mailleur3d_outil.cpp:401
MAILLEUR3D::evaluer_distance_noeud_triangle
virtual double evaluer_distance_noeud_triangle(double x, double y, double z, MG_TRIANGLE *tri)
Definition: mailleur3d_outil.cpp:537
MAILLEUR3D::cree_ntree
virtual void cree_ntree(void)
Definition: mailleur3d.cpp:119
MG_GROUPE_TOPOLOGIQUE
Definition: mg_groupe_topologique.h:31
MAILLEUR3D::insere_contrainte_triangle
virtual void insere_contrainte_triangle(MG_VOLUME *mgvol, TPL_LISTE_ENTITE< MG_TRIANGLE * > *lsttri)
Definition: mailleur3d_outil.cpp:1044
MAILLEUR
Definition: mailleur.h:33
MG_GEOMETRIE
Definition: mg_geometrie.h:84
MG_MAILLAGE
Definition: mg_maillage.h:62
TPL_LISTE_ENTITE< MG_TRIANGLE * >
MG_TRIANGLE::noeud1
class MG_NOEUD * noeud1
Definition: mg_triangle.h:74
MAILLEUR3D::analyse_maillage_obtenu
virtual void analyse_maillage_obtenu(double &vol, int *tab, double borne1=0.1, double borne2=0.2, double borne3=0.5)
Definition: mailleur3d_outil.cpp:766
MAILLEUR3D::ini_log
virtual void ini_log(void)
Definition: mailleur3d_front.cpp:838
MG_SEGMENT::noeud1
class MG_NOEUD * noeud1
Definition: mg_segment.h:73
MG_TRIANGLE::segment2
class MG_SEGMENT * segment2
Definition: mg_triangle.h:79
MAILLEUR3D::calcule_longueur_caracteristique
virtual double calcule_longueur_caracteristique(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3=NULL, MG_NOEUD *noeud4=NULL)
Definition: mailleur3d_outil.cpp:375
MAILLEUR3D::inter_segment_segment1
virtual int inter_segment_segment1(MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, MG_NOEUD *noeud4)
Definition: mailleur3d_intersection.cpp:339
MAILLEUR3D::activelog
int activelog
Definition: mailleur3d.h:176
MAILLEUR3D::desactive_log
virtual void desactive_log(void)
Definition: mailleur3d.cpp:459
MAILLEUR3D::typedestruction
int typedestruction
Definition: mailleur3d.h:182
MAILLEUR3D::cree_front
virtual void cree_front(MG_VOLUME *mgvol)
Definition: mailleur3d.cpp:138
MAILLEUR3D::lstnoeud_a_detruire
TPL_MAP_ENTITE< MG_NOEUD * > lstnoeud_a_detruire
Definition: mailleur3d.h:163
MAILLEUR3D::supprimer_front_en_avancant_sans_delete
virtual void supprimer_front_en_avancant_sans_delete(MG_FRONT_3D *ft)
Definition: mailleur3d.cpp:342
MAILLEUR3D::insere_tetra
virtual class MG_TETRA * insere_tetra(class MG_ELEMENT_TOPOLOGIQUE *mgvol, class MG_FRONT_3D *ft, MG_NOEUD *noeud4, int type, TPL_MAP_ENTITE< class MG_TRIANGLE * > &liste_intersection)
Definition: mailleur3d_outil.cpp:147
mg_volume.h
MAILLEUR3D::fin_log
virtual void fin_log(void)
Definition: mailleur3d_front.cpp:848