MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_sommet.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.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.h"
26 #include "vct_sommet.h"
27 
28 
29 
30 MG_SOMMET::MG_SOMMET(std::string idori,unsigned long num,MG_POINT* mgpt):MG_ELEMENT_TOPOLOGIQUE(num,idori),point(mgpt),vect(NULL),pole(false)
31 {
32 }
33 
34 
35 MG_SOMMET::MG_SOMMET(std::string idori,MG_POINT* mgpt):MG_ELEMENT_TOPOLOGIQUE(idori),point(mgpt),vect(NULL),pole(false)
36 {
37 }
38 
39 
40 
41 MG_SOMMET::MG_SOMMET(MG_SOMMET& mdd):MG_ELEMENT_TOPOLOGIQUE(mdd),point(mdd.point),vect(NULL),pole(mdd.pole)
42 {
43 }
44 
45 
47 {
48  if (vect!=NULL) delete vect;
49 }
50 
51 
53 {
54  return point;
55 }
56 
57 
58 
60 {
61  lst_cosommet.insert(lst_cosommet.end(),cosom);
62 }
63 
65 {
66  return lst_cosommet.size();
67 }
68 
69 
71 {
72  std::vector<MG_COSOMMET*>::iterator i;
73  for (i=lst_cosommet.begin();i!=lst_cosommet.end();i++)
74  {
75  if ((*i)==cosom)
76  {
77  lst_cosommet.erase(i);
78  return;
79  }
80  }
81 }
82 
84 {
85 }
86 
87 
89 {
90  return lst_cosommet[num];
91 }
92 
94 {
95  return 0;
96 }
97 
99 {
100  return TYPE_ELEMENT_TOPOLOGIQUE::SOMMET;
101 }
102 
104 {
105  if (vect==NULL) vect=new VCT_SOMMET(this);
106  return *vect;
107 }
108 
109 
111 {
112 return false;
113 }
114 
116 {
117  return pole;
118 }
120 {
121  pole=val;
122 }
123 
125 {
126  return get_point()->get_boite_3D();
127 }
128 
129 void MG_SOMMET::enregistrer(std::ostream& o,double version)
130 {
131  int nb=get_nb_ccf();
132  o <<"%" << get_id() << "=SOMMET("<< get_idoriginal() << ",$" << point->get_id() << "," ;
133  if (pole) o << "1,"; else o << "0,";
134  if (version<2)
135  {
136  o << nb;
137  if (nb!=0)
138  {
139  o << ",(";
140  for (int i=0;i<nb;i++)
141  {
142  char nom[3];
143  get_type_ccf(i,nom);
144  o << "(" << nom << "," << get_valeur_ccf(i) << ")";
145  if (i!=nb-1) o << "," ;
146  }
147  o << ")";
148  }
149  }
150  else enregistrer_ccf(o,version);
151  o << ");" << std::endl;
152 }
153 
154 
155 
MG_SOMMET::get_mg_cosommet
virtual MG_COSOMMET * get_mg_cosommet(int num)
Definition: mg_sommet.cpp:88
MG_SOMMET::est_une_topo_element
virtual bool est_une_topo_element(void)
Definition: mg_sommet.cpp:110
MG_SOMMET::point
MG_POINT * point
Definition: mg_sommet.h:58
MG_SOMMET::get_topologie_sousjacente
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lst)
Definition: mg_sommet.cpp:83
MG_SOMMET::get_vectorisation
virtual VCT & get_vectorisation(void)
Definition: mg_sommet.cpp:103
gestionversion.h
MG_POINT::get_boite_3D
virtual class BOITE_3D get_boite_3D(void)
Definition: mg_point.cpp:58
TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * >
MG_SOMMET::get_boite_3D
virtual BOITE_3D get_boite_3D(void)
Definition: mg_sommet.cpp:124
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MG_COSOMMET
Definition: mg_cosommet.h:31
MG_SOMMET::change_pole
void change_pole(bool val)
Definition: mg_sommet.cpp:119
MG_SOMMET::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_sommet.cpp:129
VCT_SOMMET
Definition: vct_sommet.h:35
MG_SOMMET::get_nb_mg_cosommet
virtual int get_nb_mg_cosommet(void)
Definition: mg_sommet.cpp:64
MG_ELEMENT_TOPOLOGIQUE::get_type_ccf
virtual void get_type_ccf(int num, char *nom)
Definition: mg_element_topologique.cpp:95
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
MG_SOMMET::pole
bool pole
Definition: mg_sommet.h:61
MG_SOMMET::supprimer_mg_cosommet
virtual void supprimer_mg_cosommet(class MG_COSOMMET *cosom)
Definition: mg_sommet.cpp:70
MG_ELEMENT_TOPOLOGIQUE::get_nb_ccf
virtual int get_nb_ccf(void)
Definition: mg_element_topologique.cpp:154
vct_sommet.h
MG_SOMMET::~MG_SOMMET
virtual ~MG_SOMMET()
Definition: mg_sommet.cpp:46
MG_SOMMET::ajouter_mg_cosommet
virtual void ajouter_mg_cosommet(class MG_COSOMMET *cosom)
Definition: mg_sommet.cpp:59
MG_SOMMET::get_point
virtual MG_POINT * get_point(void)
Definition: mg_sommet.cpp:52
MG_POINT
Definition: mg_point.h:33
MG_SOMMET::lst_cosommet
std::vector< class MG_COSOMMET * > lst_cosommet
Definition: mg_sommet.h:59
BOITE_3D
Definition: ot_boite_3d.h:27
MG_SOMMET::vect
class VCT_SOMMET * vect
Definition: mg_sommet.h:60
MG_ELEMENT_TOPOLOGIQUE::enregistrer_ccf
virtual void enregistrer_ccf(std::ostream &o, double version)
Definition: mg_element_topologique.cpp:364
MG_SOMMET::MG_SOMMET
MG_SOMMET(std::string idori, unsigned long num, MG_POINT *mgpt)
Definition: mg_sommet.cpp:30
MG_SOMMET::get_dimension
virtual int get_dimension(void)
Definition: mg_sommet.cpp:93
mg_sommet.h
MG_ELEMENT_TOPOLOGIQUE::get_valeur_ccf
virtual bool get_valeur_ccf(char *nom, double &val)
Definition: mg_element_topologique.cpp:310
MG_ELEMENT_TOPOLOGIQUE::get_idoriginal
virtual std::string get_idoriginal(void)
Definition: mg_element_topologique.cpp:299
MG_SOMMET
Definition: mg_sommet.h:35
MG_SOMMET::get_type
virtual int get_type(void)
Definition: mg_sommet.cpp:98
VCT
Definition: vct.h:33
MG_SOMMET::est_pole
bool est_pole(void)
Definition: mg_sommet.cpp:115