ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mailleur/src/mailleur_bloc.h
Revision: 1189
Committed: Tue Feb 4 17:26:49 2025 UTC (3 months, 2 weeks ago) by francois
Content type: text/plain
File size: 3011 byte(s)
Log Message:
Version 5.0 de MAGIC. Integration de ALGLIB pour faire de l'optimisation. ALGLIB se download automatiquement en executant un script dans le repertoire config update_magic.bash


File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
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 francois 283
23     #ifndef mailleur_blocH
24     #define mailleur_blocH
25    
26    
27    
28    
29 francois 1158
30 francois 283 #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 francois 1158 class MAILLEUR_BLOC:public MAILLEUR
39 francois 283 {
40     public:
41 francois 494 MAILLEUR_BLOC(class MG_GESTIONNAIRE* gentier,MG_GESTIONNAIRE* gbloc,int numgeoentier,int numgeobloc,class FCT_TAILLE* fct_taille,bool save);
42 francois 283 ~MAILLEUR_BLOC();
43    
44 couturad 966 int maille(int etape);
45     int maille(MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
46 francois 283
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    
51     void cree_octree(class MG_MAILLAGE* mai,TPL_OCTREE<class MG_NOEUD*,MG_NOEUD*> **octree);
52    
53     void cree_octree(TPL_OCTREE<MG_NOEUD*,MG_NOEUD*> *octree1,TPL_OCTREE<MG_NOEUD*,MG_NOEUD*> **octree2);
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    
61     class MG_GESTIONNAIRE* gestentier,*gestbloc;
62     class MG_GEOMETRIE* geoentier,*geobloc;
63     class FCT_TAILLE* carte;
64     class MG_MAILLAGE* maientier,*maibloc,*maitemp;
65     class TPL_OCTREE<class MG_NOEUD*,class MG_NOEUD*> *octreebloc;
66     class TPL_OCTREE<class MG_NOEUD*,class MG_NOEUD*> *octreeentier;
67    
68     MG_GEOMETRIE_OUTILS otentier;
69     MG_GEOMETRIE_OUTILS otbloc;
70 francois 494
71 francois 283 };
72    
73    
74     class MG_NOEUD_ADDITIONNEL_ARETE
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