MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_sommet_noeud.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 //####// mg_sommet_noeud.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 #include "mg_sommet_noeud.h"
26 
27 
28 
29 MG_SOMMET_NOEUD::MG_SOMMET_NOEUD(unsigned long num,MG_NOEUD* notmp):MG_SOMMET("",num,NULL),noeud(notmp),idnoeud(0)
30 {
32 pt=new LC_POINT(notmp->get_x(),notmp->get_y(),notmp->get_z());
33 }
34 
35 
36 MG_SOMMET_NOEUD::MG_SOMMET_NOEUD(MG_NOEUD* notmp):MG_SOMMET("",NULL),noeud(notmp),idnoeud()
37 {
39 pt=new LC_POINT(notmp->get_x(),notmp->get_y(),notmp->get_z());
40 }
41 
42 MG_SOMMET_NOEUD::MG_SOMMET_NOEUD():MG_SOMMET("",NULL),noeud(NULL),idnoeud(),pt(NULL)
43 {
45 }
46 
47 
48 
49 MG_SOMMET_NOEUD::MG_SOMMET_NOEUD(MG_SOMMET_NOEUD& mdd):MG_SOMMET(mdd),noeud(mdd.noeud),idnoeud(mdd.idnoeud),num_interne(mdd.num_interne)
50 {
51 if (mdd.pt==NULL) pt=NULL;
52 else
53  {
54  double xyz[3];
55  pt->evaluer(xyz);
56  pt=new LC_POINT(xyz[0],xyz[1],xyz[2]);
57  }
58 }
59 
60 MG_SOMMET_NOEUD::MG_SOMMET_NOEUD(unsigned long num,unsigned long idnoeudtmp):MG_SOMMET("",num,NULL),noeud(NULL),idnoeud(idnoeudtmp),pt(NULL)
61 {
63 }
64 
66 {
67 if (pt!=NULL) delete pt;
68 }
69 
70 
72 {
73 return num_interne;
74 }
75 
77 {
78 static int numero=0;
79 numero++;
80 num_interne=numero;
81 }
82 
84 {
85  return pt;
86 }
87 
88 
90 {
91 return true;
92 }
93 
94 void MG_SOMMET_NOEUD::enregistrer(std::ostream& o,double version)
95 {
96  int nb=get_nb_ccf();
97  if (noeud!=NULL) o <<"%" << get_id() << "=SOMMET_NOEUD($" << noeud->get_id() << "," ;
98  else o <<"%" << get_id() << "=SOMMET_NOEUD(NULL," ;
99  if (version>2.35)
100  {
101  enregistrer_contraintes(o,version);
102  o << ",";
103  }
104  enregistrer_ccf(o,version);
105  o << ");" << std::endl;
106 }
107 
108 
110 {
111 return noeud;
112 }
114 {
115 return idnoeud;
116 }
118 {
119 noeud=notmp;
120 if (pt!=NULL) delete pt;
121 pt=new LC_POINT(notmp->get_x(),notmp->get_y(),notmp->get_z());
122 }
123 
gestionversion.h
MG_NOEUD::get_z
virtual double get_z(void)
Definition: mg_noeud.cpp:87
MG_SOMMET_NOEUD::get_id_mg_noeud
virtual unsigned long get_id_mg_noeud(void)
Definition: mg_sommet_noeud.cpp:113
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MG_SOMMET_NOEUD::noeud
MG_NOEUD * noeud
Definition: mg_sommet_noeud.h:53
MG_SOMMET_NOEUD::get_mg_noeud
virtual MG_NOEUD * get_mg_noeud(void)
Definition: mg_sommet_noeud.cpp:109
MG_ELEMENT_TOPOLOGIQUE::get_nb_ccf
virtual int get_nb_ccf(void)
Definition: mg_element_topologique.cpp:154
MG_NOEUD
Definition: mg_noeud.h:41
MG_SOMMET_NOEUD::ininoeudinterne
void ininoeudinterne(void)
Definition: mg_sommet_noeud.cpp:76
MG_SOMMET_NOEUD::MG_SOMMET_NOEUD
MG_SOMMET_NOEUD()
Definition: mg_sommet_noeud.cpp:42
MG_SOMMET_NOEUD::idnoeud
unsigned long idnoeud
Definition: mg_sommet_noeud.h:54
mg_sommet_noeud.h
LC_POINT::evaluer
virtual void evaluer(double *xyz)
Definition: lc_point.cpp:66
MG_POINT
Definition: mg_point.h:33
MG_NOEUD::get_x
virtual double get_x(void)
Definition: mg_noeud.cpp:77
MG_SOMMET_NOEUD::get_num_interne
virtual int get_num_interne(void)
Definition: mg_sommet_noeud.cpp:71
LC_POINT
Definition: lc_point.h:30
MG_SOMMET_NOEUD::est_une_topo_element
virtual bool est_une_topo_element(void)
Definition: mg_sommet_noeud.cpp:89
MG_ELEMENT_TOPOLOGIQUE::enregistrer_ccf
virtual void enregistrer_ccf(std::ostream &o, double version)
Definition: mg_element_topologique.cpp:364
MG_SOMMET_NOEUD::num_interne
int num_interne
Definition: mg_sommet_noeud.h:55
MG_SOMMET_NOEUD::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_sommet_noeud.cpp:94
MG_SOMMET
Definition: mg_sommet.h:35
MG_SOMMET_NOEUD::pt
LC_POINT * pt
Definition: mg_sommet_noeud.h:56
MG_ELEMENT_TOPOLOGIQUE::enregistrer_contraintes
virtual void enregistrer_contraintes(std::ostream &o, double version)
Definition: mg_element_topologique.cpp:403
MG_SOMMET_NOEUD
Definition: mg_sommet_noeud.h:33
MG_SOMMET_NOEUD::change_mg_noeud
virtual void change_mg_noeud(MG_NOEUD *notmp)
Definition: mg_sommet_noeud.cpp:117
MG_SOMMET_NOEUD::get_point
virtual MG_POINT * get_point(void)
Definition: mg_sommet_noeud.cpp:83
MG_SOMMET_NOEUD::~MG_SOMMET_NOEUD
virtual ~MG_SOMMET_NOEUD()
Definition: mg_sommet_noeud.cpp:65
MG_NOEUD::get_y
virtual double get_y(void)
Definition: mg_noeud.cpp:82