MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_groupe_topologique.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_groupe_topologique.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 
24 #include "gestionversion.h"
25 #include "mg_groupe_topologique.h"
26 #include "mg_element_topologique.h"
27 
28 
30 {
31 }
33 {
34 }
36 {
37 }
39 {
40 }
41 
42 void MG_GROUPE_TOPOLOGIQUE::enregistrer(std::ostream& o,double version)
43 {
44  o << "%" << get_id() << "=GROUPE_TOPOLOGIQUE(" << get_nb();
45  if (get_nb()!=0)
46  o << ",(";
47  else
48  o << ");" << std::endl;
49  int i=0;
50  std::map<MG_ELEMENT_TOPOLOGIQUE*,MG_ELEMENT_TOPOLOGIQUE*>::iterator it;
51  for(MG_ELEMENT_TOPOLOGIQUE* ele=get_premier(it);ele!=NULL;ele=get_suivant(it))
52  {
53  o << "$" << ele->get_id();
54  if (i!=get_nb()-1) o << ",";
55  else o << "));" << std::endl;
56  i++;
57  }
58 }
59 
60 
62 {
63  std::pair<std::map<MG_ELEMENT_TOPOLOGIQUE*,MG_ELEMENT_TOPOLOGIQUE*>::iterator,bool> p=map_mg_element_topologique.insert(std::pair<MG_ELEMENT_TOPOLOGIQUE*,MG_ELEMENT_TOPOLOGIQUE*>(ele,ele));
64  if (!p.second)
65  return FAIL;
66  return OK;
67 }
69 {
70  std::map<MG_ELEMENT_TOPOLOGIQUE*,MG_ELEMENT_TOPOLOGIQUE*>::iterator it=map_mg_element_topologique.find(ele);
71  if(it!=map_mg_element_topologique.end()) return 1;
72  else return 0;
73 }
74 
76 {
77  std::map<MG_ELEMENT_TOPOLOGIQUE*,MG_ELEMENT_TOPOLOGIQUE*>::iterator it=map_mg_element_topologique.find(ele);
78  if(it!=map_mg_element_topologique.end())
79  {
81  return OK;
82  }
83  else return FAIL;
84 
85 }
86 
88 {
90 }
91 
93 {
94  return map_mg_element_topologique.size();
95 }
96 
97 
98 MG_ELEMENT_TOPOLOGIQUE* MG_GROUPE_TOPOLOGIQUE::get_premier(std::map< MG_ELEMENT_TOPOLOGIQUE*, MG_ELEMENT_TOPOLOGIQUE* >::iterator& it)
99 {
100  it=map_mg_element_topologique.begin();
101  if(it==map_mg_element_topologique.end())
102  return NULL;
103  return it->second;
104 }
105 
106 MG_ELEMENT_TOPOLOGIQUE* MG_GROUPE_TOPOLOGIQUE::get_suivant(std::map< MG_ELEMENT_TOPOLOGIQUE*, MG_ELEMENT_TOPOLOGIQUE* >::iterator& it)
107 {
108  it++;
109  if(it==map_mg_element_topologique.end())
110  return NULL;
111  return it->second;
112 }
113 
114 
115 
116 
117 
gestionversion.h
MG_GROUPE_TOPOLOGIQUE::get_nb
virtual int get_nb(void)
Definition: mg_groupe_topologique.cpp:92
MG_GROUPE_TOPOLOGIQUE::~MG_GROUPE_TOPOLOGIQUE
virtual ~MG_GROUPE_TOPOLOGIQUE()
Definition: mg_groupe_topologique.cpp:38
MG_GROUPE_TOPOLOGIQUE::get_suivant
virtual MG_ELEMENT_TOPOLOGIQUE * get_suivant(std::map< class MG_ELEMENT_TOPOLOGIQUE *, MG_ELEMENT_TOPOLOGIQUE * >::iterator &it)
Definition: mg_groupe_topologique.cpp:106
FAIL
const int FAIL
Definition: mg_definition.h:39
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MG_GROUPE_TOPOLOGIQUE::MG_GROUPE_TOPOLOGIQUE
MG_GROUPE_TOPOLOGIQUE(void)
Definition: mg_groupe_topologique.cpp:32
OK
const int OK
Definition: mg_definition.h:38
MG_GROUPE_TOPOLOGIQUE::est_dans_laliste
virtual int est_dans_laliste(MG_ELEMENT_TOPOLOGIQUE *ele)
Definition: mg_groupe_topologique.cpp:68
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
MG_GROUPE_TOPOLOGIQUE::supprimer_tout
virtual void supprimer_tout(void)
Definition: mg_groupe_topologique.cpp:87
MG_GROUPE_TOPOLOGIQUE::map_mg_element_topologique
std::map< class MG_ELEMENT_TOPOLOGIQUE *, MG_ELEMENT_TOPOLOGIQUE * > map_mg_element_topologique
Definition: mg_groupe_topologique.h:49
MG_GROUPE_TOPOLOGIQUE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_groupe_topologique.cpp:42
mg_groupe_topologique.h
MG_GROUPE_TOPOLOGIQUE
Definition: mg_groupe_topologique.h:31
mg_element_topologique.h
MG_GROUPE_TOPOLOGIQUE::ajouter
virtual int ajouter(class MG_ELEMENT_TOPOLOGIQUE *ele)
Definition: mg_groupe_topologique.cpp:61
MG_GROUPE_TOPOLOGIQUE::get_premier
virtual MG_ELEMENT_TOPOLOGIQUE * get_premier(std::map< class MG_ELEMENT_TOPOLOGIQUE *, MG_ELEMENT_TOPOLOGIQUE * >::iterator &it)
Definition: mg_groupe_topologique.cpp:98
MG_GROUPE_TOPOLOGIQUE::supprimer
virtual int supprimer(class MG_ELEMENT_TOPOLOGIQUE *ele)
Definition: mg_groupe_topologique.cpp:75
MG_IDENTIFICATEUR
Definition: mg_identificateur.h:34