ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mailleur/src/dly_tetra.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months ago) by francois
Content type: text/plain
File size: 3835 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     //####// dly_tetra.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:55 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 285
23     #ifndef dly_tetraH
24     #define dly_tetraH
25    
26    
27     #include <vector>
28    
29    
30     class DLY_TETRA
31     {
32     public:
33     DLY_TETRA(class DLY_NOEUD *no1,class DLY_NOEUD *no2,class DLY_NOEUD *no3,class DLY_NOEUD *no4);
34     DLY_TETRA(class DLY_NOEUD *no1,class DLY_NOEUD *no2,class DLY_NOEUD *no3,class DLY_NOEUD *no4,double qual);
35     DLY_TETRA(DLY_TETRA& mdd);
36     virtual ~DLY_TETRA();
37    
38     DLY_NOEUD* get_noeud1(void);
39     DLY_NOEUD* get_noeud2(void);
40     DLY_NOEUD* get_noeud3(void);
41     DLY_NOEUD* get_noeud4(void);
42    
43     class DLY_TRIANGLE* get_triangle1(void);
44     DLY_TRIANGLE* get_triangle2(void);
45     DLY_TRIANGLE* get_triangle3(void);
46     DLY_TRIANGLE* get_triangle4(void);
47     class DLY_SEGMENT* get_segment1(void);
48     DLY_SEGMENT* get_segment2(void);
49     DLY_SEGMENT* get_segment3(void);
50     DLY_SEGMENT* get_segment4(void);
51     DLY_SEGMENT* get_segment5(void);
52     DLY_SEGMENT* get_segment6(void);
53     void change_triangle1(DLY_TRIANGLE* tri);
54     void change_triangle2(DLY_TRIANGLE* tri);
55     void change_triangle3(DLY_TRIANGLE* tri);
56     void change_triangle4(DLY_TRIANGLE* tri);
57     void change_segment1(DLY_SEGMENT* seg);
58     void change_segment2(DLY_SEGMENT* seg);
59     void change_segment3(DLY_SEGMENT* seg);
60     void change_segment4(DLY_SEGMENT* seg);
61     void change_segment5(DLY_SEGMENT* seg);
62     void change_segment6(DLY_SEGMENT* seg);
63    
64     DLY_TETRA* get_voisin1(void);
65     DLY_TETRA* get_voisin2(void);
66     DLY_TETRA* get_voisin3(void);
67     DLY_TETRA* get_voisin4(void);
68     void change_voisin1(DLY_TETRA* tet);
69     void change_voisin2(DLY_TETRA* tet);
70     void change_voisin3(DLY_TETRA* tet);
71     void change_voisin4(DLY_TETRA* tet);
72    
73     int get_feuille(void);
74     void change_feuille(int num);
75     void ajoute_fils(std::vector<DLY_TETRA*> &liste);
76     void ajoute_fils(DLY_TETRA* tet);
77     int get_nb_fils(void);
78     DLY_TETRA* get_fils(int i);
79    
80     int point_dans_le_tetra(double x,double y,double z);
81     int point_dans_la_sphere(double x,double y,double z);
82    
83     double get_volume(void);
84     double calcul_volume(class FCT_TAILLE *metrique=NULL,int conserve=1);
85     void decoupe_noeud(std::vector<double> &lstpt);
86     void get_normal1(double *nor);
87     void get_normal2(double *nor);
88     void get_normal3(double *nor);
89     void get_normal4(double *nor);
90     double get_qualite(void);
91     double get_critere_subdivision(void);
92    
93     private:
94     DLY_NOEUD* noeud1;
95     DLY_NOEUD* noeud2;
96     DLY_NOEUD* noeud3;
97     DLY_NOEUD* noeud4;
98     class DLY_TRIANGLE* tri1;
99     class DLY_TRIANGLE* tri2;
100     class DLY_TRIANGLE* tri3;
101     class DLY_TRIANGLE* tri4;
102     class DLY_SEGMENT* seg1;
103     class DLY_SEGMENT* seg2;
104     class DLY_SEGMENT* seg3;
105     class DLY_SEGMENT* seg4;
106     class DLY_SEGMENT* seg5;
107     class DLY_SEGMENT* seg6;
108     DLY_TETRA* voisin1;
109     DLY_TETRA* voisin2;
110     DLY_TETRA* voisin3;
111     DLY_TETRA* voisin4;
112     int feuille;
113     std::vector<DLY_TETRA*> fils;
114     double volume;
115     double qualite;
116     double *normal1,*normal2,*normal3,*normal4;
117     };
118    
119    
120     #endif