ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_coquille.cpp
Revision: 881
Committed: Wed Apr 12 23:14:07 2017 UTC (8 years, 1 month ago) by francois
File size: 3117 byte(s)
Log Message:
Changement de strategie pour le mailleur couche.
Il fonctionne maintenant avec des volumes minces et non des coquilles
mince est une propriète de volume et ne change pas son nom.
cela necessite un changement de version de fichier -> maintenant 2.3 compatible en arrière
valider sur ancien exemple plus sphere creuse

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuilli�re et Vincent FRANCOIS
5     // D�partement de G�nie M�canique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du d�partement
8     // de g�nie m�canique de l'Universit� du Qu�bec �
9     // Trois Rivi�res
10     // Les librairies ne peuvent �tre utilis�es sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // mg_coquille.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25     #include "gestionversion.h"
26     #include "mg_coquille.h"
27 gervaislavoie 329 #include "mg_coque.h"
28 francois 283 //#include "message.h"
29    
30 francois 881 MG_COQUILLE::MG_COQUILLE(unsigned long num,class MG_VOLUME* mgvol):MG_ELEMENT_COTOPOLOGIQUE(num),volume(mgvol),coque(NULL)
31 francois 283 {
32     }
33    
34 francois 881 MG_COQUILLE::MG_COQUILLE(unsigned long num,class MG_COQUE* mgcoq):MG_ELEMENT_COTOPOLOGIQUE(num),volume(NULL),coque(mgcoq)
35 francois 283 {
36     }
37    
38    
39 francois 881 MG_COQUILLE::MG_COQUILLE(class MG_VOLUME* mgvol):MG_ELEMENT_COTOPOLOGIQUE(),volume(mgvol),coque(NULL)
40 francois 283 {
41     }
42    
43 francois 881 MG_COQUILLE::MG_COQUILLE(class MG_COQUE* mgcoq):MG_ELEMENT_COTOPOLOGIQUE(),volume(NULL),coque(mgcoq)
44 francois 283 {
45     }
46    
47    
48 francois 881 MG_COQUILLE::MG_COQUILLE(MG_COQUILLE& mdd):MG_ELEMENT_COTOPOLOGIQUE(),volume(mdd.volume),lst_coface(mdd.lst_coface),coque(mdd.coque)
49 francois 283 {
50     }
51    
52    
53     MG_COQUILLE::~MG_COQUILLE()
54     {
55     }
56    
57    
58     void MG_COQUILLE::ajouter_mg_coface(class MG_COFACE* mgcoface)
59     {
60     lst_coface.insert(lst_coface.end(),mgcoface);
61     }
62    
63     int MG_COQUILLE::get_nb_mg_coface(void)
64     {
65     return lst_coface.size();
66     }
67    
68     MG_VOLUME* MG_COQUILLE::get_mg_volume(void)
69     {
70     return volume;
71     }
72    
73 gervaislavoie 329 MG_COQUE* MG_COQUILLE::get_mg_coque(void)
74     {
75     return coque;
76     }
77 francois 283 MG_COFACE* MG_COQUILLE::get_mg_coface(int num)
78     {
79     return lst_coface[num];
80     }
81    
82 francois 878 MG_COFACE* MG_COQUILLE::get_mg_cofaceid(int num)
83     {
84     for (std::vector<MG_COFACE*>::iterator it=lst_coface.begin();it!=lst_coface.end();it++)
85     if ((*it)->get_id()==num) return *it;
86     return NULL;
87    
88     }
89    
90 francois 283 void MG_COQUILLE::supprimer_mg_coface(class MG_COFACE* mgcoface)
91     {
92     std::vector<MG_COFACE*>::iterator i;
93     for (i=lst_coface.begin();i!=lst_coface.end();i++)
94     {
95     if ((*i)==mgcoface)
96     {
97     lst_coface.erase(i);
98     return;
99     }
100     }
101     }
102    
103    
104 francois 763 void MG_COQUILLE::enregistrer(std::ostream& o,double version)
105 francois 283 {
106 francois 876 if (volume!=NULL)
107     {
108 francois 881 o << "%" << get_id() << "=COQUILLE($"<< volume->get_id() << ",(";
109 francois 876 }
110 francois 283 if (coque!=NULL) o << "%" << get_id() << "=COQUILLE($"<< coque->get_id() << ",(";
111     for (unsigned int i=0;i<lst_coface.size();i++)
112     {
113     o << "$" << lst_coface[i]->get_id();
114     if (i!=lst_coface.size()-1) o << ",";
115     else o << ")";
116     }
117     o << ");" << std::endl;
118     }
119    
120    
121