ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_sommet.cpp
Revision: 906
Committed: Mon Nov 13 22:30:18 2017 UTC (7 years, 9 months ago) by couturad
File size: 3434 byte(s)
Log Message:
Nouveau opencascade commit 1

File Contents

# Content
1 //------------------------------------------------------------
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),pole(false)
34 {
35 }
36
37
38 MG_SOMMET::MG_SOMMET(std::string idori,MG_POINT* mgpt):MG_ELEMENT_TOPOLOGIQUE(idori),point(mgpt),vect(NULL),pole(false)
39 {
40 }
41
42
43
44 MG_SOMMET::MG_SOMMET(MG_SOMMET& mdd):MG_ELEMENT_TOPOLOGIQUE(mdd),point(mdd.point),vect(NULL),pole(mdd.pole)
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 int MG_SOMMET::get_type(void)
103 {
104 return TYPE_ELEMENT_TOPOLOGIQUE::SOMMET;
105 }
106
107 VCT& MG_SOMMET::get_vectorisation(void)
108 {
109 if (vect==NULL) vect=new VCT_SOMMET(this);
110 return *vect;
111 }
112
113
114 bool MG_SOMMET::est_un_sommet_noeud(void)
115 {
116 return false;
117 }
118
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 void MG_SOMMET::enregistrer(std::ostream& o,double version)
129 {
130 int nb=get_nb_ccf();
131 o <<"%" << get_id() << "=SOMMET("<< get_idoriginal() << ",$" << point->get_id() << "," ;
132 if (pole) o << "1,"; else o << "0,";
133 if (version<2)
134 {
135 o << nb;
136 if (nb!=0)
137 {
138 o << ",(";
139 for (int i=0;i<nb;i++)
140 {
141 char nom[3];
142 get_type_ccf(i,nom);
143 o << "(" << nom << "," << get_valeur_ccf(i) << ")";
144 if (i!=nb-1) o << "," ;
145 }
146 o << ")";
147 }
148 }
149 else enregistrer_ccf(o,version);
150 o << ");" << std::endl;
151 }
152
153
154