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 
mg_cg_forme.h
mg_geometrie.h
MG_CG_FORME::~MG_CG_FORME
virtual ~MG_CG_FORME()
Definition: mg_cg_forme.cpp:46
MG_CG_FORME::change_provenance
virtual void change_provenance(int provenance_forme)
Definition: mg_cg_forme.cpp:71
FAIL
const int FAIL
Definition: mg_definition.h:39
MG_CG_FORME::change_etat
virtual void change_etat(int etat_forme)
Definition: mg_cg_forme.cpp:81
MG_CG_FORME::get_premier_mgcg_operateur_dependant
virtual MG_CG_OPERATEUR * get_premier_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
Definition: mg_cg_forme.cpp:125
OK
const int OK
Definition: mg_definition.h:38
MG_CG_FORME::m_provenance
int m_provenance
Definition: mg_cg_forme.h:90
MG_CG_FORME::m_map_mgcg_operateur_dependant
std::map< long, MG_CG_OPERATEUR * > m_map_mgcg_operateur_dependant
Definition: mg_cg_forme.h:89
MG_CG_FORME::get_type_mg_construction_geometrique
virtual int get_type_mg_construction_geometrique(void)
Definition: mg_cg_forme.cpp:141
mg_cg_operateur.h
MG_CG_FORME::GENEREE
@ GENEREE
Definition: mg_cg_forme.h:45
MG_CG_FORME
Definition: mg_cg_forme.h:41
MG_CG_OPERATEUR
Definition: mg_cg_operateur.h:34
MG_CG_FORME::get_mgcg_modele
virtual MG_CG_MODELE * get_mgcg_modele(void)
Definition: mg_cg_forme.cpp:61
MG_CG_FORME::change_mgcg_modele
virtual void change_mgcg_modele(MG_CG_MODELE *mgcg_modele)
Definition: mg_cg_forme.cpp:56
MG_CG_FORME::m_mgcg_modele
MG_CG_MODELE * m_mgcg_modele
Definition: mg_cg_forme.h:87
MG_CG_MODELE
Definition: mg_cg_modele.h:41
MG_CG_FORME::retirer_mgcg_operateur_dependant
virtual int retirer_mgcg_operateur_dependant(MG_CG_OPERATEUR *mgcg_operateur)
Definition: mg_cg_forme.cpp:108
MG_CG_FORME::retirer_tout_mgcg_operateur_dependant
virtual void retirer_tout_mgcg_operateur_dependant(void)
Definition: mg_cg_forme.cpp:120
MG_CG_FORME::get_provenance
virtual int get_provenance(void)
Definition: mg_cg_forme.cpp:66
MG_CG_FORME::m_mgcg_operateur_parent
MG_CG_OPERATEUR * m_mgcg_operateur_parent
Definition: mg_cg_forme.h:88
mg_cg_modele.h
MG_CG_FORME::get_mgcg_operateur_parent
virtual MG_CG_OPERATEUR * get_mgcg_operateur_parent(void)
Definition: mg_cg_forme.cpp:86
MG_CG_MODELE::ajouter_mgcg_forme
virtual int ajouter_mgcg_forme(MG_CG_FORME *mgcg_forme)
Definition: mg_cg_modele.cpp:195
mg_cg_info.h
MG_CG_OPERATEUR::retirer_mgcg_forme_sortie
virtual int retirer_mgcg_forme_sortie(MG_CG_FORME *mgcg_forme)
Definition: mg_cg_operateur.cpp:195
MG_CG_FORME::get_nb_mgcg_operateur_dependant
virtual long get_nb_mgcg_operateur_dependant(void)
Definition: mg_cg_forme.cpp:96
MG_CG_FORME::ajouter_mgcg_operateur_dependant
virtual int ajouter_mgcg_operateur_dependant(MG_CG_OPERATEUR *mgcg_operateur)
Definition: mg_cg_forme.cpp:101
MG_CG_FORME::get_suivant_mgcg_operateur_dependant
virtual MG_CG_OPERATEUR * get_suivant_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
Definition: mg_cg_forme.cpp:133
MG_CG_FORME::change_mgcg_operateur_parent
virtual void change_mgcg_operateur_parent(MG_CG_OPERATEUR *mgcg_operateur)
Definition: mg_cg_forme.cpp:91
MG_CG_FORME::get_etat
virtual int get_etat(void)
Definition: mg_cg_forme.cpp:76
MG_CG_FORME::m_etat
int m_etat
Definition: mg_cg_forme.h:91
MG_CG_FORME::MG_CG_FORME
MG_CG_FORME(MG_CG_MODELE *mgcg_modele, int provenance)
Definition: mg_cg_forme.cpp:27