MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_coquille.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_coquille.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_coquille.h"
26 #include "mg_coque.h"
27 
28 MG_COQUILLE::MG_COQUILLE(unsigned long num,class MG_VOLUME* mgvol):MG_ELEMENT_COTOPOLOGIQUE(num),volume(mgvol),coque(NULL)
29 {
30 }
31 
32 MG_COQUILLE::MG_COQUILLE(unsigned long num,class MG_COQUE* mgcoq):MG_ELEMENT_COTOPOLOGIQUE(num),volume(NULL),coque(mgcoq)
33 {
34 }
35 
36 
37 MG_COQUILLE::MG_COQUILLE(class MG_VOLUME* mgvol):MG_ELEMENT_COTOPOLOGIQUE(),volume(mgvol),coque(NULL)
38 {
39 }
40 
41 MG_COQUILLE::MG_COQUILLE(class MG_COQUE* mgcoq):MG_ELEMENT_COTOPOLOGIQUE(),volume(NULL),coque(mgcoq)
42 {
43 }
44 
45 MG_COQUILLE::MG_COQUILLE(long unsigned int num): MG_ELEMENT_COTOPOLOGIQUE(num),volume(NULL),coque(NULL)
46 {
47 }
48 
49 
51 {
52 }
53 
54 
55 
56 MG_COQUILLE::MG_COQUILLE(MG_COQUILLE& mdd):MG_ELEMENT_COTOPOLOGIQUE(),volume(mdd.volume),lst_coface(mdd.lst_coface),coque(mdd.coque)
57 {
58 }
59 
60 
62 {
63 }
64 
66 {
67  return TYPE_ELEMENT_COTOPOLOGIQUE::COQUILLE;
68 }
69 
70 
72 {
73  lst_coface.insert(lst_coface.end(),mgcoface);
74 }
75 
77 {
78  return lst_coface.size();
79 }
80 
82 {
83  return volume;
84 }
85 
87 {
88  return coque;
89 }
91 {
92  return lst_coface[num];
93 }
94 
96 {
97  for (std::vector<MG_COFACE*>::iterator it=lst_coface.begin();it!=lst_coface.end();it++)
98  if ((*it)->get_id()==num) return *it;
99 return NULL;
100 
101 }
102 
104 {
105  std::vector<MG_COFACE*>::iterator i;
106  for (i=lst_coface.begin();i!=lst_coface.end();i++)
107  {
108  if ((*i)==mgcoface)
109  {
110  lst_coface.erase(i);
111  return;
112  }
113  }
114 }
115 
116 
117 void MG_COQUILLE::enregistrer(std::ostream& o,double version)
118 {
119  if (volume!=NULL)
120  {
121  o << "%" << get_id() << "=COQUILLE($"<< volume->get_id() << ",(";
122  }
123  if (coque!=NULL) o << "%" << get_id() << "=COQUILLE($"<< coque->get_id() << ",(";
124  for (unsigned int i=0;i<lst_coface.size();i++)
125  {
126  o << "$" << lst_coface[i]->get_id();
127  if (i!=lst_coface.size()-1) o << ",";
128  else o << ")";
129  }
130  o << ");" << std::endl;
131 }
132 
133 
134 
MG_COQUILLE::get_mg_volume
virtual MG_VOLUME * get_mg_volume(void)
Definition: mg_coquille.cpp:81
mg_coque.h
gestionversion.h
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
MG_COQUILLE::supprimer_mg_coface
virtual void supprimer_mg_coface(class MG_COFACE *mgcoface)
Definition: mg_coquille.cpp:103
MG_VOLUME
Definition: mg_volume.h:33
MG_COQUILLE
Definition: mg_coquille.h:34
MG_COFACE
Definition: mg_coface.h:33
MG_COQUILLE::get_mg_coque
virtual MG_COQUE * get_mg_coque(void)
Definition: mg_coquille.cpp:86
MG_COQUILLE::~MG_COQUILLE
virtual ~MG_COQUILLE()
Definition: mg_coquille.cpp:61
MG_COQUILLE::coque
MG_COQUE * coque
Definition: mg_coquille.h:58
MG_COQUILLE::get_mg_cofaceid
virtual MG_COFACE * get_mg_cofaceid(int num)
Definition: mg_coquille.cpp:95
MG_ELEMENT_COTOPOLOGIQUE
Definition: mg_element_cotopologique.h:30
mg_coquille.h
MG_COQUILLE::volume
MG_VOLUME * volume
Definition: mg_coquille.h:57
MG_COQUILLE::get_type
virtual int get_type(void)
Definition: mg_coquille.cpp:65
MG_COQUILLE::MG_COQUILLE
MG_COQUILLE()
Definition: mg_coquille.cpp:50
MG_COQUILLE::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_coquille.cpp:117
MG_COQUILLE::ajouter_mg_coface
virtual void ajouter_mg_coface(class MG_COFACE *mgcoface)
Definition: mg_coquille.cpp:71
MG_COQUILLE::get_nb_mg_coface
virtual int get_nb_mg_coface(void)
Definition: mg_coquille.cpp:76
MG_COQUILLE::get_mg_coface
virtual MG_COFACE * get_mg_coface(int num)
Definition: mg_coquille.cpp:90
MG_COQUILLE::lst_coface
std::vector< MG_COFACE * > lst_coface
Definition: mg_coquille.h:59
MG_COQUE
Definition: mg_coque.h:33