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 }
virtual void change_volume(double vol)
Definition: m3d_tetra.cpp:83
double qualite
Definition: m3d_tetra.h:56
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
virtual double get_qualite(void)
Definition: m3d_tetra.cpp:111
virtual void etat_actif(void)
Definition: m3d_tetra.cpp:60
virtual void enregistrer(std::ostream &o, double version)
Definition: m3d_tetra.cpp:121
double volume
Definition: m3d_tetra.h:54
virtual ~M3D_TETRA()
Definition: m3d_tetra.cpp:51
virtual int get_etat(void)
Definition: m3d_tetra.cpp:65
void calcule_volume(void)
Definition: m3d_tetra.cpp:89
int etat
Definition: m3d_tetra.h:53
virtual void etat_detruit(void)
Definition: m3d_tetra.cpp:55
virtual void change_qualite(double qu)
Definition: m3d_tetra.cpp:116
virtual double get_volume(void)
Definition: m3d_tetra.cpp:77
virtual int get_type_entite(void)
Definition: m3d_tetra.cpp:71
virtual double get_z(void)
Definition: mg_noeud.cpp:87
virtual double get_y(void)
Definition: mg_noeud.cpp:82
virtual double get_x(void)
Definition: mg_noeud.cpp:77
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_tetra.cpp:251
class MG_NOEUD * noeud3
Definition: mg_tetra.h:71
class MG_NOEUD * noeud1
Definition: mg_tetra.h:69
class MG_NOEUD * noeud2
Definition: mg_tetra.h:70
class MG_NOEUD * noeud4
Definition: mg_tetra.h:72
const unsigned int ACTIF
Definition: const.h:29