ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_sommet.cpp
Revision: 911
Committed: Wed Jan 10 17:25:24 2018 UTC (7 years, 4 months ago) by couturad
File size: 3531 byte(s)
Log Message:
* Modifications pour MG_CG
* Modification de MG_SOUS_GEOMETRIE pour la fonction de compression

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 couturad 814 MG_SOMMET::MG_SOMMET(std::string idori,unsigned long num,MG_POINT* mgpt):MG_ELEMENT_TOPOLOGIQUE(num,idori),point(mgpt),vect(NULL),pole(false)
34 francois 283 {
35     }
36    
37    
38 couturad 814 MG_SOMMET::MG_SOMMET(std::string idori,MG_POINT* mgpt):MG_ELEMENT_TOPOLOGIQUE(idori),point(mgpt),vect(NULL),pole(false)
39 francois 283 {
40     }
41    
42    
43    
44 couturad 814 MG_SOMMET::MG_SOMMET(MG_SOMMET& mdd):MG_ELEMENT_TOPOLOGIQUE(mdd),point(mdd.point),vect(NULL),pole(mdd.pole)
45 francois 283 {
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 couturad 906 int MG_SOMMET::get_type(void)
103     {
104     return TYPE_ELEMENT_TOPOLOGIQUE::SOMMET;
105     }
106    
107 francois 283 VCT& MG_SOMMET::get_vectorisation(void)
108     {
109     if (vect==NULL) vect=new VCT_SOMMET(this);
110     return *vect;
111     }
112 francois 526
113    
114     bool MG_SOMMET::est_un_sommet_noeud(void)
115     {
116     return false;
117     }
118 couturad 814
119     bool MG_SOMMET::est_pole(void)
120     {
121     return pole;
122     }
123     void MG_SOMMET::change_pole(bool val)
124     {
125     pole=val;
126     }
127    
128 couturad 911 BOITE_3D MG_SOMMET::get_boite_3D(int pas_echantillon)
129     {
130     return get_point()->get_boite_3D();
131     }
132    
133 francois 763 void MG_SOMMET::enregistrer(std::ostream& o,double version)
134 francois 283 {
135     int nb=get_nb_ccf();
136 francois 763 o <<"%" << get_id() << "=SOMMET("<< get_idoriginal() << ",$" << point->get_id() << "," ;
137 couturad 814 if (pole) o << "1,"; else o << "0,";
138 francois 763 if (version<2)
139     {
140     o << nb;
141 francois 283 if (nb!=0)
142     {
143     o << ",(";
144     for (int i=0;i<nb;i++)
145     {
146     char nom[3];
147     get_type_ccf(i,nom);
148     o << "(" << nom << "," << get_valeur_ccf(i) << ")";
149     if (i!=nb-1) o << "," ;
150     }
151     o << ")";
152     }
153 francois 763 }
154     else enregistrer_ccf(o,version);
155 francois 283 o << ");" << std::endl;
156     }
157    
158    
159