ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mailleur/src/mailleur_delaunay.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months ago) by francois
Content type: text/plain
Original Path: magic/lib/mailleur_auto/src/mailleur_delaunay.h
File size: 3869 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

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_delaunay.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:55 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 285 #ifndef _MAILLEUR_DELAUNAY_
23     #define _MAILLEUR_DELAUNAY_
24    
25    
26    
27 francois 1158
28 francois 285 #include <stdlib.h>
29     #include <string>
30     #include "mailleur.h"
31 francois 481 #include "fct_generateur_3d.h"
32 francois 287 #include "mailleur3d.h"
33 francois 285
34 francois 287
35    
36 francois 1158 class MAILLEUR_DELAUNAY: public MAILLEUR
37 francois 285 {
38     public :
39 francois 467 MAILLEUR_DELAUNAY(class MG_MAILLAGE *m,class FCT_TAILLE *cartetmp,double crit_arret,class OT_CPU* comp=NULL);
40 francois 947 MAILLEUR_DELAUNAY(MG_MAILLAGE* m,BOITE_3D boiteext,class OT_CPU* comp);
41 francois 285 virtual ~MAILLEUR_DELAUNAY();
42 couturad 966 virtual int maille(class MG_GROUPE_TOPOLOGIQUE* mggt=NULL);
43 francois 288 virtual void change_niveau_optimisation(int num);
44 francois 947 virtual void ajouter_noeud(double &x, double &y, double &z,double epsbordure=0.01);
45    
46 francois 285
47    
48     protected:
49     virtual int est_de_delaunay(void);
50     virtual void transfert_maillage(std::vector<class DLY_NOEUD*> *tabn,std::vector<class DLY_TRIANGLE*> *tabe2d,std::vector<class DLY_TETRA*> *tabe3d);
51 francois 947 virtual void insere_noeud_delaunay(DLY_TETRA* tet,double x,double y,double z);
52 francois 285 virtual class DLY_TETRA* cree_tetra(class DLY_NOEUD* n1,DLY_NOEUD* n2,DLY_NOEUD* n3,DLY_NOEUD* n4);
53     virtual class DLY_TRIANGLE* get_triangle(DLY_NOEUD* n1,DLY_NOEUD* n2,DLY_NOEUD* n3);
54     virtual class DLY_SEGMENT* get_segment(DLY_NOEUD* n1,DLY_NOEUD* n2);
55     virtual void mise_a_jour_voisin(DLY_TETRA* tet);
56     virtual void ajoute_tetra_cavite(DLY_TETRA* tet,std::vector<DLY_TETRA*> &cavite,std::vector<DLY_TRIANGLE*> &basetri);
57     virtual void retire_tetra_cavite(DLY_TETRA* tet,std::vector<DLY_TETRA*> &cavite,std::vector<DLY_TRIANGLE*> &basetri);
58     virtual void initialise_maillage(void);
59     virtual void raffine_maillage(void);
60     virtual DLY_TETRA* get_tetra(double x,double y,double z);
61     virtual DLY_TETRA* get_tetra(DLY_TETRA* tet,double x,double y,double z);
62     virtual int modifie_cavite(std::vector<DLY_TETRA*> &cavite,std::vector<DLY_TRIANGLE*> &basetri,int nbbase,double x, double y,double z);
63     virtual void ajouter_front(double crit,DLY_SEGMENT* seg);
64     virtual void retirer_front(DLY_SEGMENT* seg);
65     MG_MAILLAGE *mai;
66 francois 467 FCT_TAILLE *carte;
67 francois 285 std::vector<class DLY_NOEUD*> tabnoeud;
68     std::vector<class DLY_TETRA*> tabtet;
69     std::vector<class DLY_TRIANGLE*> tabtri;
70     std::vector<class DLY_SEGMENT*> tabseg;
71     //std::multimap<double, DLY_TETRA*,std::greater<double> > front;
72     std::multimap<double, DLY_SEGMENT*,std::greater<double> > front_trie;
73     std::map<const unsigned long long, DLY_SEGMENT* > front;
74     double critere_arret;
75 francois 288 int niveau_optimisation;
76 francois 947 const int DELAUNAYCARTE=1010;
77     const int DELAUNAYLISTENOEUD=1020;
78     int typemailleur;
79     BOITE_3D boiteexterieur;
80     std::vector<double> xnoeud;
81     std::vector<double> ynoeud;
82     std::vector<double> znoeud;
83    
84 francois 285 };
85    
86    
87    
88    
89    
90    
91     #endif