MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
dly_tetra.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 //####// dly_tetra.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
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);
47 class DLY_SEGMENT* get_segment1(void);
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:
113 std::vector<DLY_TETRA*> fils;
114 double volume;
115 double qualite;
117 };
118 
119 
120 #endif
DLY_TETRA::seg1
class DLY_SEGMENT * seg1
Definition: dly_tetra.h:102
DLY_TETRA::point_dans_la_sphere
int point_dans_la_sphere(double x, double y, double z)
Definition: dly_tetra.cpp:240
DLY_NOEUD
Definition: dly_noeud.h:30
DLY_TETRA::get_segment1
class DLY_SEGMENT * get_segment1(void)
Definition: dly_tetra.cpp:112
DLY_TETRA::get_triangle4
DLY_TRIANGLE * get_triangle4(void)
Definition: dly_tetra.cpp:108
DLY_TETRA::get_triangle1
class DLY_TRIANGLE * get_triangle1(void)
Definition: dly_tetra.cpp:96
DLY_TETRA::get_critere_subdivision
double get_critere_subdivision(void)
Definition: dly_tetra.cpp:495
DLY_TETRA::change_triangle4
void change_triangle4(DLY_TRIANGLE *tri)
Definition: dly_tetra.cpp:151
DLY_TETRA::change_segment3
void change_segment3(DLY_SEGMENT *seg)
Definition: dly_tetra.cpp:166
DLY_TETRA::change_segment5
void change_segment5(DLY_SEGMENT *seg)
Definition: dly_tetra.cpp:176
DLY_TETRA::noeud2
DLY_NOEUD * noeud2
Definition: dly_tetra.h:95
DLY_TETRA::decoupe_noeud
void decoupe_noeud(std::vector< double > &lstpt)
Definition: dly_tetra.cpp:500
DLY_TETRA::ajoute_fils
void ajoute_fils(std::vector< DLY_TETRA * > &liste)
Definition: dly_tetra.cpp:224
DLY_TETRA::DLY_TETRA
DLY_TETRA(class DLY_NOEUD *no1, class DLY_NOEUD *no2, class DLY_NOEUD *no3, class DLY_NOEUD *no4)
Definition: dly_tetra.cpp:39
FCT_TAILLE
Definition: fct_taille.h:30
DLY_TETRA::voisin4
DLY_TETRA * voisin4
Definition: dly_tetra.h:111
DLY_TETRA::get_voisin1
DLY_TETRA * get_voisin1(void)
Definition: dly_tetra.cpp:187
DLY_TETRA::get_segment2
DLY_SEGMENT * get_segment2(void)
Definition: dly_tetra.cpp:116
DLY_TETRA::get_triangle2
DLY_TRIANGLE * get_triangle2(void)
Definition: dly_tetra.cpp:100
DLY_TETRA::get_normal1
void get_normal1(double *nor)
Definition: dly_tetra.cpp:397
DLY_TETRA::change_segment2
void change_segment2(DLY_SEGMENT *seg)
Definition: dly_tetra.cpp:161
DLY_TETRA::seg2
class DLY_SEGMENT * seg2
Definition: dly_tetra.h:103
DLY_TETRA::tri1
class DLY_TRIANGLE * tri1
Definition: dly_tetra.h:98
DLY_TETRA::feuille
int feuille
Definition: dly_tetra.h:112
DLY_TETRA::normal2
double * normal2
Definition: dly_tetra.h:116
DLY_TETRA::get_qualite
double get_qualite(void)
Definition: dly_tetra.cpp:481
DLY_TETRA::get_segment3
DLY_SEGMENT * get_segment3(void)
Definition: dly_tetra.cpp:120
DLY_SEGMENT
Definition: dly_segment.h:30
DLY_TETRA::volume
double volume
Definition: dly_tetra.h:114
DLY_TETRA::get_normal4
void get_normal4(double *nor)
Definition: dly_tetra.cpp:460
DLY_TETRA::change_segment4
void change_segment4(DLY_SEGMENT *seg)
Definition: dly_tetra.cpp:171
DLY_TETRA::voisin2
DLY_TETRA * voisin2
Definition: dly_tetra.h:109
DLY_TETRA::seg4
class DLY_SEGMENT * seg4
Definition: dly_tetra.h:105
DLY_TETRA::get_normal2
void get_normal2(double *nor)
Definition: dly_tetra.cpp:418
DLY_TETRA::get_normal3
void get_normal3(double *nor)
Definition: dly_tetra.cpp:439
DLY_TETRA::noeud1
DLY_NOEUD * noeud1
Definition: dly_tetra.h:94
DLY_TETRA::change_voisin2
void change_voisin2(DLY_TETRA *tet)
Definition: dly_tetra.cpp:207
DLY_TETRA::normal1
double * normal1
Definition: dly_tetra.h:116
DLY_TETRA::change_segment6
void change_segment6(DLY_SEGMENT *seg)
Definition: dly_tetra.cpp:181
DLY_TETRA::tri2
class DLY_TRIANGLE * tri2
Definition: dly_tetra.h:99
DLY_TRIANGLE
Definition: dly_triangle.h:30
DLY_TETRA::get_noeud3
DLY_NOEUD * get_noeud3(void)
Definition: dly_tetra.cpp:77
DLY_TETRA::change_triangle1
void change_triangle1(DLY_TRIANGLE *tri)
Definition: dly_tetra.cpp:136
DLY_TETRA::get_voisin2
DLY_TETRA * get_voisin2(void)
Definition: dly_tetra.cpp:191
DLY_TETRA::change_voisin1
void change_voisin1(DLY_TETRA *tet)
Definition: dly_tetra.cpp:203
DLY_TETRA::noeud3
DLY_NOEUD * noeud3
Definition: dly_tetra.h:96
DLY_TETRA::get_feuille
int get_feuille(void)
Definition: dly_tetra.cpp:86
DLY_TETRA::get_noeud4
DLY_NOEUD * get_noeud4(void)
Definition: dly_tetra.cpp:81
DLY_TETRA::tri3
class DLY_TRIANGLE * tri3
Definition: dly_tetra.h:100
DLY_TETRA::get_triangle3
DLY_TRIANGLE * get_triangle3(void)
Definition: dly_tetra.cpp:104
DLY_TETRA::tri4
class DLY_TRIANGLE * tri4
Definition: dly_tetra.h:101
DLY_TETRA::get_volume
double get_volume(void)
Definition: dly_tetra.cpp:278
DLY_TETRA::change_voisin3
void change_voisin3(DLY_TETRA *tet)
Definition: dly_tetra.cpp:211
DLY_TETRA::get_segment6
DLY_SEGMENT * get_segment6(void)
Definition: dly_tetra.cpp:132
DLY_TETRA::get_nb_fils
int get_nb_fils(void)
Definition: dly_tetra.cpp:231
DLY_TETRA::get_noeud1
DLY_NOEUD * get_noeud1(void)
Definition: dly_tetra.cpp:69
DLY_TETRA::change_voisin4
void change_voisin4(DLY_TETRA *tet)
Definition: dly_tetra.cpp:215
DLY_TETRA::seg3
class DLY_SEGMENT * seg3
Definition: dly_tetra.h:104
DLY_TETRA::voisin3
DLY_TETRA * voisin3
Definition: dly_tetra.h:110
DLY_TETRA::normal3
double * normal3
Definition: dly_tetra.h:116
DLY_TETRA::seg5
class DLY_SEGMENT * seg5
Definition: dly_tetra.h:106
DLY_TETRA::voisin1
DLY_TETRA * voisin1
Definition: dly_tetra.h:108
DLY_TETRA::change_feuille
void change_feuille(int num)
Definition: dly_tetra.cpp:91
DLY_TETRA::get_segment4
DLY_SEGMENT * get_segment4(void)
Definition: dly_tetra.cpp:124
DLY_TETRA::get_voisin3
DLY_TETRA * get_voisin3(void)
Definition: dly_tetra.cpp:195
DLY_TETRA::seg6
class DLY_SEGMENT * seg6
Definition: dly_tetra.h:107
DLY_TETRA::get_voisin4
DLY_TETRA * get_voisin4(void)
Definition: dly_tetra.cpp:199
DLY_TETRA::change_triangle2
void change_triangle2(DLY_TRIANGLE *tri)
Definition: dly_tetra.cpp:141
DLY_TETRA
Definition: dly_tetra.h:30
DLY_TETRA::noeud4
DLY_NOEUD * noeud4
Definition: dly_tetra.h:97
DLY_TETRA::point_dans_le_tetra
int point_dans_le_tetra(double x, double y, double z)
Definition: dly_tetra.cpp:251
DLY_TETRA::fils
std::vector< DLY_TETRA * > fils
Definition: dly_tetra.h:113
DLY_TETRA::normal4
double * normal4
Definition: dly_tetra.h:116
DLY_TETRA::calcul_volume
double calcul_volume(class FCT_TAILLE *metrique=NULL, int conserve=1)
Definition: dly_tetra.cpp:282
DLY_TETRA::get_noeud2
DLY_NOEUD * get_noeud2(void)
Definition: dly_tetra.cpp:73
DLY_TETRA::get_segment5
DLY_SEGMENT * get_segment5(void)
Definition: dly_tetra.cpp:128
DLY_TETRA::get_fils
DLY_TETRA * get_fils(int i)
Definition: dly_tetra.cpp:235
DLY_TETRA::change_triangle3
void change_triangle3(DLY_TRIANGLE *tri)
Definition: dly_tetra.cpp:146
DLY_TETRA::qualite
double qualite
Definition: dly_tetra.h:115
DLY_TETRA::~DLY_TETRA
virtual ~DLY_TETRA()
Definition: dly_tetra.cpp:61
DLY_TETRA::change_segment1
void change_segment1(DLY_SEGMENT *seg)
Definition: dly_tetra.cpp:156