MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_construction_geometrique.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_construction_geometrique.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifdef CSG_OCC
23 
24 #include "gestionversion.h"
26 #include "mg_definition.h"
27 #include "mg_cg_info.h"
28 
29 MG_CONSTRUCTION_GEOMETRIQUE::MG_CONSTRUCTION_GEOMETRIQUE():MG_IDENTIFICATEUR()
30 {
31 }
32 
33 
34 
35 MG_CONSTRUCTION_GEOMETRIQUE::MG_CONSTRUCTION_GEOMETRIQUE(unsigned long num):MG_IDENTIFICATEUR(num)
36 {
37 }
38 
39 MG_CONSTRUCTION_GEOMETRIQUE::MG_CONSTRUCTION_GEOMETRIQUE(MG_CONSTRUCTION_GEOMETRIQUE& mdd):MG_IDENTIFICATEUR()
40 {
41 }
42 
43 
44 MG_CONSTRUCTION_GEOMETRIQUE::~MG_CONSTRUCTION_GEOMETRIQUE()
45 {
46  supprimer_tout_mgcg_info();
47 }
48 
49 int MG_CONSTRUCTION_GEOMETRIQUE::get_type_mg_construction_geometrique(void)
50 {
51 return 0;
52 }
53 
54 void MG_CONSTRUCTION_GEOMETRIQUE::enregistrer_infos(std::ostream& o, double version)
55 {
56  if(get_nb_mgcg_info()>0)
57  {
58  std::map<std::string,MG_CG_INFO*>::iterator it;
59  for(MG_CG_INFO* info=get_premiere_mgcg_info(it);info!=NULL;info=get_suivante_mgcg_info(it))
60  {
61  info->change_id(get_id());
62  info->enregistrer(o,version);
63  }
64  }
65 }
66 
67 long int MG_CONSTRUCTION_GEOMETRIQUE::get_nb_mgcg_info(void)
68 {
69  return m_map_mgcg_info.size();
70 }
71 
72 int MG_CONSTRUCTION_GEOMETRIQUE::ajouter_mgcg_info(MG_CG_INFO* info)
73 {
74  std::pair<std::map< std::string, MG_CG_INFO* >::iterator,bool> p = m_map_mgcg_info.insert(std::pair<std::string, MG_CG_INFO*>(info->get_identifiant(),info));
75  if(p.second==false) return FAIL;
76  return OK;
77 }
78 
79 int MG_CONSTRUCTION_GEOMETRIQUE::supprimer_mgcg_info(MG_CG_INFO* info)
80 {
81  std::map<std::string,MG_CG_INFO*>::iterator it;
82  it=m_map_mgcg_info.find(info->get_identifiant());
83  if(it!=m_map_mgcg_info.end())
84  {
85  m_map_mgcg_info.erase(it);
86  delete info;
87  return OK;
88  }
89  else return FAIL;
90 }
91 
92 void MG_CONSTRUCTION_GEOMETRIQUE::supprimer_tout_mgcg_info(void)
93 {
94  std::map<std::string,MG_CG_INFO*>::iterator it;
95  for(it=m_map_mgcg_info.begin();it!=m_map_mgcg_info.end();it++)
96  {
97  delete it->second;
98  }
99  m_map_mgcg_info.clear();
100 }
101 
102 MG_CG_INFO* MG_CONSTRUCTION_GEOMETRIQUE::get_premiere_mgcg_info(std::map< std::string, MG_CG_INFO* >::iterator& it)
103 {
104  it=m_map_mgcg_info.begin();
105  if(it==m_map_mgcg_info.end())
106  return NULL;
107  return it->second;
108 }
109 
110 MG_CG_INFO* MG_CONSTRUCTION_GEOMETRIQUE::get_suivante_mgcg_info(std::map< std::string, MG_CG_INFO* >::iterator& it)
111 {
112  it++;
113  if(it==m_map_mgcg_info.end())
114  return NULL;
115  return it->second;
116 }
117 
118 MG_CG_INFO* MG_CONSTRUCTION_GEOMETRIQUE::get_mgcg_info(std::string identifiant)
119 {
120  std::map<std::string,MG_CG_INFO*>::iterator it;
121  it=m_map_mgcg_info.find(identifiant);
122  if(it!=m_map_mgcg_info.end())
123  {
124  return it->second;
125  }
126  else return NULL;
127 }
128 
129 
130 
131 
132 
133 
134 
135 
136 #endif
137 
std::string get_identifiant(void)
Definition: mg_cg_info.cpp:42
const int OK
Definition: mg_definition.h:38
const int FAIL
Definition: mg_definition.h:39