MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mailleur_bloc.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 //####// mailleur_bloc.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 #ifndef mailleur_blocH
24 #define mailleur_blocH
25 
26 
27 
28 
29 
30 #include "mailleur.h"
31 #include "tpl_octree.h"
32 #include "tpl_quadtree.h"
33 #include "mg_segment_frontiere.h"
34 #include "mg_geometrie_outils.h"
35 #include <map>
36 
37 
38 class MAILLEUR_BLOC:public MAILLEUR
39 {
40 public:
41  MAILLEUR_BLOC(class MG_GESTIONNAIRE* gentier,MG_GESTIONNAIRE* gbloc,int numgeoentier,int numgeobloc,class FCT_TAILLE* fct_taille,bool save);
43 
44  int maille(int etape);
45  int maille(MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
46 
47 private:
48  class MG_SOMMET* verif_noeud_sur_sommet(double *xyz, class MG_GEOMETRIE *geo);
49  class MG_ARETE* verif_noeud_sur_arete(double *xyz, MG_GEOMETRIE *geo,int *num, double *t);
50 
52 
54 
55 
56  class MG_NOEUD* chercher(double *xyz,TPL_OCTREE<MG_NOEUD*,MG_NOEUD*> &octree);
57  class MG_FACE* seg_sur_face(class MG_SEGMENT* seg,MG_GEOMETRIE* geo,int *num);//,TPL_QUADTREE<MG_SEGMENT_FRONTIERE*,MG_NOEUD*> **quad);
58  MG_FACE* tri_sur_face(class MG_TRIANGLE* tri,MG_GEOMETRIE* geo,int *num);//TPL_QUADTREE<MG_SEGMENT_FRONTIERE*,MG_NOEUD*> **quad);
59 
60 
63  class FCT_TAILLE* carte;
65  class TPL_OCTREE<class MG_NOEUD*,class MG_NOEUD*> *octreebloc;
66  class TPL_OCTREE<class MG_NOEUD*,class MG_NOEUD*> *octreeentier;
67 
70 
71 };
72 
73 
75 {
76 public:
77  class MG_NOEUD* noeud;
78  double t;
79 };
80 
81 
82 
83 typedef std::map<double,MG_NOEUD_ADDITIONNEL_ARETE,std::less<double> > LISTE_NOEUD_ADD_ARETE;
84 typedef std::map<double,MG_NOEUD_ADDITIONNEL_ARETE,std::less<double> >::iterator IT_LISTE_NOEUD_ADD_ARETE;
85 
86 
87 #endif
class MG_MAILLAGE * maientier
Definition: mailleur_bloc.h:64
class TPL_OCTREE< class MG_NOEUD *, class MG_NOEUD * > * octreeentier
Definition: mailleur_bloc.h:66
MG_GEOMETRIE_OUTILS otbloc
Definition: mailleur_bloc.h:69
int maille(int etape)
class MG_ARETE * verif_noeud_sur_arete(double *xyz, MG_GEOMETRIE *geo, int *num, double *t)
class MG_MAILLAGE * maitemp
Definition: mailleur_bloc.h:64
class FCT_TAILLE * carte
Definition: mailleur_bloc.h:63
class MG_NOEUD * chercher(double *xyz, TPL_OCTREE< MG_NOEUD *, MG_NOEUD * > &octree)
class MG_SOMMET * verif_noeud_sur_sommet(double *xyz, class MG_GEOMETRIE *geo)
MG_GEOMETRIE_OUTILS otentier
Definition: mailleur_bloc.h:68
class MG_GESTIONNAIRE * gestbloc
Definition: mailleur_bloc.h:61
void cree_octree(class MG_MAILLAGE *mai, TPL_OCTREE< class MG_NOEUD *, MG_NOEUD * > **octree)
class MG_GESTIONNAIRE * gestentier
Definition: mailleur_bloc.h:61
class TPL_OCTREE< class MG_NOEUD *, class MG_NOEUD * > * octreebloc
Definition: mailleur_bloc.h:65
class MG_GEOMETRIE * geoentier
Definition: mailleur_bloc.h:62
MAILLEUR_BLOC(class MG_GESTIONNAIRE *gentier, MG_GESTIONNAIRE *gbloc, int numgeoentier, int numgeobloc, class FCT_TAILLE *fct_taille, bool save)
class MG_GEOMETRIE * geobloc
Definition: mailleur_bloc.h:62
class MG_FACE * seg_sur_face(class MG_SEGMENT *seg, MG_GEOMETRIE *geo, int *num)
MG_FACE * tri_sur_face(class MG_TRIANGLE *tri, MG_GEOMETRIE *geo, int *num)
class MG_MAILLAGE * maibloc
Definition: mailleur_bloc.h:64
class MG_NOEUD * noeud
Definition: mailleur_bloc.h:77
double xyz[3]
Definition: mg_noeud.h:104
std::map< double, MG_NOEUD_ADDITIONNEL_ARETE, std::less< double > >::iterator IT_LISTE_NOEUD_ADD_ARETE
Definition: mailleur_bloc.h:84
std::map< double, MG_NOEUD_ADDITIONNEL_ARETE, std::less< double > > LISTE_NOEUD_ADD_ARETE
Definition: mailleur_bloc.h:83