MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme.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_cg_forme.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #include "mg_cg_forme.h"
23 #include "mg_cg_modele.h"
24 #include "mg_cg_operateur.h"
25 #include "mg_geometrie.h"
26 #include "mg_cg_info.h"
27 MG_CG_FORME::MG_CG_FORME(MG_CG_MODELE* mgcg_modele,int provenance): MG_CONSTRUCTION_GEOMETRIQUE(),m_provenance(provenance),m_mgcg_modele(mgcg_modele),m_mgcg_operateur_parent(NULL)
28 {
30 }
31 
32 MG_CG_FORME::MG_CG_FORME(MG_CG_MODELE* mgcg_modele,int provenance, int etat, long unsigned int num): MG_CONSTRUCTION_GEOMETRIQUE(num),m_provenance(provenance),m_etat(etat),m_mgcg_modele(mgcg_modele),m_mgcg_operateur_parent(NULL)
33 {
35 }
36 
37 
38 MG_CG_FORME::MG_CG_FORME(MG_CG_FORME& mdd): MG_CONSTRUCTION_GEOMETRIQUE(mdd)
39 {
42  m_etat=mdd.m_etat;
44 }
45 
47 {
49  std::map<long,MG_CG_OPERATEUR*>::iterator it_operateur_dependant;
50  for(MG_CG_OPERATEUR* operateur=get_premier_mgcg_operateur_dependant(it_operateur_dependant);operateur!=NULL;operateur=get_suivant_mgcg_operateur_dependant(it_operateur_dependant))
51  {
52  operateur->retirer_mgcg_forme_entree(this);
53  }
54 }
55 
57 {
58  m_mgcg_modele=mgcg_modele;
59 }
60 
62 {
63  return m_mgcg_modele;
64 }
65 
67 {
68  return m_provenance;
69 }
70 
71 void MG_CG_FORME::change_provenance(int provenance_forme)
72 {
73  m_provenance=provenance_forme;
74 }
75 
77 {
78  return m_etat;
79 }
80 
81 void MG_CG_FORME::change_etat(int etat_forme)
82 {
83  m_etat=etat_forme;
84 }
85 
87 {
89 }
90 
92 {
93  m_mgcg_operateur_parent=mgcg_operateur;
94 }
95 
97 {
98  return m_map_mgcg_operateur_dependant.size();
99 }
100 
102 {
103  std::pair<std::map<long,MG_CG_OPERATEUR*>::iterator,bool> p = m_map_mgcg_operateur_dependant.insert(std::pair<long,MG_CG_OPERATEUR*>(mgcg_operateur->get_id(),mgcg_operateur));
104  if(p.second==false) return FAIL;
105  return OK;
106 }
107 
109 {
110  std::map<long,MG_CG_OPERATEUR*>::iterator it;
111  it=m_map_mgcg_operateur_dependant.find(mgcg_operateur->get_id());
112  if(it!=m_map_mgcg_operateur_dependant.end())
113  {
115  return OK;
116  }
117  else return FAIL;
118 }
119 
121 {
123 }
124 
125 MG_CG_OPERATEUR* MG_CG_FORME::get_premier_mgcg_operateur_dependant(std::map<long,MG_CG_OPERATEUR*>::iterator& it)
126 {
128  if(it==m_map_mgcg_operateur_dependant.end())
129  return NULL;
130  return it->second;
131 }
132 
133 MG_CG_OPERATEUR* MG_CG_FORME::get_suivant_mgcg_operateur_dependant(std::map<long,MG_CG_OPERATEUR*>::iterator& it)
134 {
135  it++;
136  if(it==m_map_mgcg_operateur_dependant.end())
137  return NULL;
138  return it->second;
139 }
140 
142 {
143  return TYPE_MG_CONSTRUCTION_GEOMETRIQUE::MGCG_FORME;
144 }
145 
146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
157 
158 
159 
160 
161 
162 
163 
164 
165 
166 
167 
168 
169 
170 
171 
172 
173 
174 
175 
176 
virtual MG_CG_OPERATEUR * get_mgcg_operateur_parent(void)
Definition: mg_cg_forme.cpp:86
virtual int ajouter_mgcg_operateur_dependant(MG_CG_OPERATEUR *mgcg_operateur)
virtual void retirer_tout_mgcg_operateur_dependant(void)
virtual MG_CG_OPERATEUR * get_suivant_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
virtual void change_mgcg_operateur_parent(MG_CG_OPERATEUR *mgcg_operateur)
Definition: mg_cg_forme.cpp:91
virtual void change_mgcg_modele(MG_CG_MODELE *mgcg_modele)
Definition: mg_cg_forme.cpp:56
virtual int get_etat(void)
Definition: mg_cg_forme.cpp:76
int m_provenance
Definition: mg_cg_forme.h:90
virtual int get_type_mg_construction_geometrique(void)
MG_CG_FORME(MG_CG_MODELE *mgcg_modele, int provenance)
Definition: mg_cg_forme.cpp:27
virtual int get_provenance(void)
Definition: mg_cg_forme.cpp:66
virtual MG_CG_OPERATEUR * get_premier_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
virtual void change_etat(int etat_forme)
Definition: mg_cg_forme.cpp:81
std::map< long, MG_CG_OPERATEUR * > m_map_mgcg_operateur_dependant
Definition: mg_cg_forme.h:89
virtual long get_nb_mgcg_operateur_dependant(void)
Definition: mg_cg_forme.cpp:96
MG_CG_MODELE * m_mgcg_modele
Definition: mg_cg_forme.h:87
virtual ~MG_CG_FORME()
Definition: mg_cg_forme.cpp:46
virtual MG_CG_MODELE * get_mgcg_modele(void)
Definition: mg_cg_forme.cpp:61
virtual int retirer_mgcg_operateur_dependant(MG_CG_OPERATEUR *mgcg_operateur)
MG_CG_OPERATEUR * m_mgcg_operateur_parent
Definition: mg_cg_forme.h:88
virtual void change_provenance(int provenance_forme)
Definition: mg_cg_forme.cpp:71
virtual int ajouter_mgcg_forme(MG_CG_FORME *mgcg_forme)
virtual int retirer_mgcg_forme_sortie(MG_CG_FORME *mgcg_forme)
const int OK
Definition: mg_definition.h:38
const int FAIL
Definition: mg_definition.h:39