MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
m3d_tetra.cpp
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 //####// m3d_tetra.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 
24 #include "gestionversion.h"
25 
26 
27 #include <math.h>
28 #include "m3d_tetra.h"
29 #include "ot_mathematique.h"
30 #include "mg_definition.h"
31 
32 
33 
34 
35 
36 
37 M3D_TETRA::M3D_TETRA(unsigned long num,MG_ELEMENT_TOPOLOGIQUE* topo,class MG_NOEUD *mgnoeud1,class MG_NOEUD *mgnoeud2,class MG_NOEUD *mgnoeud3,class MG_NOEUD *mgnoeud4,class MG_TRIANGLE* mgtriangle1,class MG_TRIANGLE* mgtriangle2,class MG_TRIANGLE* mgtriangle3,class MG_TRIANGLE* mgtriangle4,int origine):MG_TETRA(num,topo,mgnoeud1,mgnoeud2,mgnoeud3,mgnoeud4,mgtriangle1,mgtriangle2,mgtriangle3,mgtriangle4,origine),etat(MAGIC::MAILLEURFRONTALETAT::ACTIF)//,optimisation(0)
38 {
40 }
41 
42 M3D_TETRA::M3D_TETRA(MG_ELEMENT_TOPOLOGIQUE* topo,class MG_NOEUD *mgnoeud1,class MG_NOEUD *mgnoeud2,class MG_NOEUD *mgnoeud3,class MG_NOEUD *mgnoeud4,class MG_TRIANGLE* mgtriangle1,class MG_TRIANGLE* mgtriangle2,class MG_TRIANGLE* mgtriangle3,class MG_TRIANGLE* mgtriangle4,int origine):MG_TETRA(topo,mgnoeud1,mgnoeud2,mgnoeud3,mgnoeud4,mgtriangle1,mgtriangle2,mgtriangle3,mgtriangle4,origine),etat(MAGIC::MAILLEURFRONTALETAT::ACTIF)//,optimisation(0)
43 {
45 }
46 
47 M3D_TETRA::M3D_TETRA(M3D_TETRA& mdd):MG_TETRA(mdd),etat(mdd.etat),volume(mdd.volume)//,optimisation(mdd.optimisation)
48 {
49 }
50 
52 {
53 }
54 
56 {
58 }
59 
61 {
63 }
64 
66 {
67 
68 return etat;
69 }
70 
72 {
74 }
75 
76 
78 {
79 return volume;
80 }
81 
82 
83 void M3D_TETRA::change_volume(double vol)
84 {
85 volume=vol;
86 }
87 
88 
90 {
94 
95 OT_VECTEUR_3D pvec=ab&ac;
96 volume=pvec*da;
97 volume=fabs(volume)/3.;
98 
99 }
100 /*
101 int M3D_TETRA::est_optimise(void)
102 {
103 return optimisation;
104 }
105 
106 void M3D_TETRA::est_optimise(int num)
107 {
108 optimisation=num;
109 }
110  */
112 {
113 return qualite;
114 }
115 
117 {
118 qualite=qu;
119 }
120 
121 void M3D_TETRA::enregistrer(std::ostream& o,double version)
122 {
124 }
MG_TETRA::noeud4
class MG_NOEUD * noeud4
Definition: mg_tetra.h:72
M3D_TETRA::calcule_volume
void calcule_volume(void)
Definition: m3d_tetra.cpp:89
MG_TETRA::noeud1
class MG_NOEUD * noeud1
Definition: mg_tetra.h:69
MAGIC::TYPE_ENTITE::IDM3D_TETRA
@ IDM3D_TETRA
Definition: mg_definition.h:69
gestionversion.h
M3D_TETRA::etat
int etat
Definition: m3d_tetra.h:53
MAGIC::MAILLEURFRONTALETAT::DETRUIT
@ DETRUIT
Definition: mg_definition.h:109
MG_TETRA::noeud3
class MG_NOEUD * noeud3
Definition: mg_tetra.h:71
MG_NOEUD::get_z
virtual double get_z(void)
Definition: mg_noeud.cpp:87
M3D_TETRA::get_volume
virtual double get_volume(void)
Definition: m3d_tetra.cpp:77
MG_TETRA::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_tetra.cpp:251
M3D_TETRA::get_etat
virtual int get_etat(void)
Definition: m3d_tetra.cpp:65
MAGIC::MAILLEURFRONTALETAT::ACTIF
@ ACTIF
Definition: mg_definition.h:109
M3D_TETRA::qualite
double qualite
Definition: m3d_tetra.h:56
M3D_TETRA::~M3D_TETRA
virtual ~M3D_TETRA()
Definition: m3d_tetra.cpp:51
MG_TRIANGLE
Definition: mg_triangle.h:38
MG_TETRA
Definition: mg_tetra.h:37
ACTIF
const unsigned int ACTIF
Definition: const.h:29
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
MAGIC
Definition: mg_fast_marching.cpp:40
MG_TETRA::noeud2
class MG_NOEUD * noeud2
Definition: mg_tetra.h:70
M3D_TETRA::change_volume
virtual void change_volume(double vol)
Definition: m3d_tetra.cpp:83
MG_NOEUD
Definition: mg_noeud.h:41
M3D_TETRA
Definition: m3d_tetra.h:31
M3D_TETRA::get_type_entite
virtual int get_type_entite(void)
Definition: m3d_tetra.cpp:71
ot_mathematique.h
MG_NOEUD::get_x
virtual double get_x(void)
Definition: mg_noeud.cpp:77
OT_VECTEUR_3D
Definition: ot_mathematique.h:94
m3d_tetra.h
mg_definition.h
M3D_TETRA::etat_actif
virtual void etat_actif(void)
Definition: m3d_tetra.cpp:60
M3D_TETRA::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: m3d_tetra.cpp:121
M3D_TETRA::change_qualite
virtual void change_qualite(double qu)
Definition: m3d_tetra.cpp:116
M3D_TETRA::get_qualite
virtual double get_qualite(void)
Definition: m3d_tetra.cpp:111
M3D_TETRA::etat_detruit
virtual void etat_detruit(void)
Definition: m3d_tetra.cpp:55
M3D_TETRA::M3D_TETRA
M3D_TETRA(unsigned long num, MG_ELEMENT_TOPOLOGIQUE *topo, class MG_NOEUD *mgnoeud1, class MG_NOEUD *mgnoeud2, class MG_NOEUD *mgnoeud3, class MG_NOEUD *mgnoeud4, class MG_TRIANGLE *mgtriangle1, class MG_TRIANGLE *mgtriangle2, class MG_TRIANGLE *mgtriangle3, class MG_TRIANGLE *mgtriangle4, int origine)
Definition: m3d_tetra.cpp:37
M3D_TETRA::volume
double volume
Definition: m3d_tetra.h:54
MG_NOEUD::get_y
virtual double get_y(void)
Definition: mg_noeud.cpp:82