ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_sommet.cpp
Revision: 526
Committed: Fri Jun 13 19:34:07 2014 UTC (10 years, 11 months ago) by francois
File size: 3079 byte(s)
Log Message:
Creation d'un sommet_noeud. C'est un sommet "virtuel" qui est créé à partir d'un noeud pour pouvoir appliquer des condiitions aux limites.

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_sommet.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_sommet.h"
27     #include "vct_sommet.h"
28     //#include "affiche.h"
29     //#include "message.h"
30    
31    
32    
33     MG_SOMMET::MG_SOMMET(std::string idori,unsigned long num,MG_POINT* mgpt):MG_ELEMENT_TOPOLOGIQUE(num,idori),point(mgpt),vect(NULL)
34     {
35     }
36    
37    
38     MG_SOMMET::MG_SOMMET(std::string idori,MG_POINT* mgpt):MG_ELEMENT_TOPOLOGIQUE(idori),point(mgpt),vect(NULL)
39     {
40     }
41    
42    
43    
44     MG_SOMMET::MG_SOMMET(MG_SOMMET& mdd):MG_ELEMENT_TOPOLOGIQUE(mdd),point(mdd.point),vect(NULL)
45     {
46     }
47    
48    
49     MG_SOMMET::~MG_SOMMET()
50     {
51     // if (lst_cosommet.size()!=0) afficheur << WARCOSOMMET << this->get_id() << enderr;
52     if (vect!=NULL) delete vect;
53     }
54    
55    
56     MG_POINT* MG_SOMMET::get_point(void)
57     {
58     return point;
59     }
60    
61    
62    
63     void MG_SOMMET::ajouter_mg_cosommet(class MG_COSOMMET* cosom)
64     {
65     lst_cosommet.insert(lst_cosommet.end(),cosom);
66     }
67    
68     int MG_SOMMET::get_nb_mg_cosommet(void)
69     {
70     return lst_cosommet.size();
71     }
72    
73    
74     void MG_SOMMET::supprimer_mg_cosommet(class MG_COSOMMET* cosom)
75     {
76     std::vector<MG_COSOMMET*>::iterator i;
77     for (i=lst_cosommet.begin();i!=lst_cosommet.end();i++)
78     {
79     if ((*i)==cosom)
80     {
81     lst_cosommet.erase(i);
82     return;
83     }
84     }
85     }
86    
87     void MG_SOMMET::get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst)
88     {
89     }
90    
91    
92     MG_COSOMMET* MG_SOMMET::get_mg_cosommet(int num)
93     {
94     return lst_cosommet[num];
95     }
96    
97     int MG_SOMMET::get_dimension(void)
98     {
99     return 0;
100     }
101    
102     VCT& MG_SOMMET::get_vectorisation(void)
103     {
104     if (vect==NULL) vect=new VCT_SOMMET(this);
105     return *vect;
106     }
107 francois 526
108    
109     bool MG_SOMMET::est_un_sommet_noeud(void)
110     {
111     return false;
112     }
113 francois 283 void MG_SOMMET::enregistrer(std::ostream& o)
114     {
115     int nb=get_nb_ccf();
116     o <<"%" << get_id() << "=SOMMET("<< get_idoriginal() << ",$" << point->get_id() << "," << nb;
117     if (nb!=0)
118     {
119     o << ",(";
120     for (int i=0;i<nb;i++)
121     {
122     char nom[3];
123     get_type_ccf(i,nom);
124     o << "(" << nom << "," << get_valeur_ccf(i) << ")";
125     if (i!=nb-1) o << "," ;
126     }
127     o << ")";
128     }
129     o << ");" << std::endl;
130     }
131    
132    
133