ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mailleur/src/mailleur_bloc.h
Revision: 966
Committed: Thu Sep 6 16:46:34 2018 UTC (6 years, 8 months ago) by couturad
Content type: text/plain
Original Path: magic/lib/mailleur_auto/src/mailleur_bloc.h
File size: 2349 byte(s)
Log Message:
Ajout de l'histogramme a MAGIC_PLOT
Ajout d'une sortie OK ou FAIL (int) au MAILLEUR afin de gerer certaines exceptions
Ajout d'une phase RSA a la fin du generateur DCR

File Contents

# User Rev Content
1 francois 283 //---------------------------------------------------------------------------
2    
3     #ifndef mailleur_blocH
4     #define mailleur_blocH
5     //---------------------------------------------------------------------------
6    
7    
8    
9     #ifdef WINDOWS_VERSION
10     #ifdef BUILT_DLL_MAILLEUR
11     #define DLLPORTMAIL __declspec(dllexport)
12     #else
13     #define DLLPORTMAIL __declspec(dllimport)
14     #endif
15     #else
16     #define DLLPORTMAIL
17     #endif
18    
19     #include "mailleur.h"
20     #include "tpl_octree.h"
21     #include "tpl_quadtree.h"
22     #include "mg_segment_frontiere.h"
23     #include "mg_geometrie_outils.h"
24     #include <map>
25    
26    
27     class DLLPORTMAIL MAILLEUR_BLOC:public MAILLEUR
28     {
29     public:
30 francois 494 MAILLEUR_BLOC(class MG_GESTIONNAIRE* gentier,MG_GESTIONNAIRE* gbloc,int numgeoentier,int numgeobloc,class FCT_TAILLE* fct_taille,bool save);
31 francois 283 ~MAILLEUR_BLOC();
32    
33 couturad 966 int maille(int etape);
34     int maille(MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
35 francois 283
36     private:
37     class MG_SOMMET* verif_noeud_sur_sommet(double *xyz, class MG_GEOMETRIE *geo);
38     class MG_ARETE* verif_noeud_sur_arete(double *xyz, MG_GEOMETRIE *geo,int *num, double *t);
39    
40     void cree_octree(class MG_MAILLAGE* mai,TPL_OCTREE<class MG_NOEUD*,MG_NOEUD*> **octree);
41    
42     void cree_octree(TPL_OCTREE<MG_NOEUD*,MG_NOEUD*> *octree1,TPL_OCTREE<MG_NOEUD*,MG_NOEUD*> **octree2);
43    
44    
45     class MG_NOEUD* chercher(double *xyz,TPL_OCTREE<MG_NOEUD*,MG_NOEUD*> &octree);
46     class MG_FACE* seg_sur_face(class MG_SEGMENT* seg,MG_GEOMETRIE* geo,int *num);//,TPL_QUADTREE<MG_SEGMENT_FRONTIERE*,MG_NOEUD*> **quad);
47     MG_FACE* tri_sur_face(class MG_TRIANGLE* tri,MG_GEOMETRIE* geo,int *num);//TPL_QUADTREE<MG_SEGMENT_FRONTIERE*,MG_NOEUD*> **quad);
48    
49    
50     class MG_GESTIONNAIRE* gestentier,*gestbloc;
51     class MG_GEOMETRIE* geoentier,*geobloc;
52     class FCT_TAILLE* carte;
53     class MG_MAILLAGE* maientier,*maibloc,*maitemp;
54     class TPL_OCTREE<class MG_NOEUD*,class MG_NOEUD*> *octreebloc;
55     class TPL_OCTREE<class MG_NOEUD*,class MG_NOEUD*> *octreeentier;
56    
57     MG_GEOMETRIE_OUTILS otentier;
58     MG_GEOMETRIE_OUTILS otbloc;
59 francois 494
60 francois 283 };
61    
62    
63     class MG_NOEUD_ADDITIONNEL_ARETE
64     {
65     public:
66     class MG_NOEUD* noeud;
67     double t;
68     };
69    
70    
71    
72     //Cr�er une structure de donn�es pour les noeuds sur les ar�te
73     typedef std::map<double,MG_NOEUD_ADDITIONNEL_ARETE,std::less<double> > LISTE_NOEUD_ADD_ARETE;
74     typedef std::map<double,MG_NOEUD_ADDITIONNEL_ARETE,std::less<double> >::iterator IT_LISTE_NOEUD_ADD_ARETE;
75    
76    
77     #endif