ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/reconstruction/src/sq_branche.cpp
Revision: 1089
Committed: Sat Jan 29 20:29:33 2022 UTC (3 years, 3 months ago) by amroune
File size: 2954 byte(s)
Log Message:
Mise a jour de la derniere version du code

File Contents

# User Rev Content
1 amroune 1003 #include "sq_branche.h"
2    
3 amroune 1015
4 amroune 1003 SQ_BRANCHE::SQ_BRANCHE(std::vector<SQ_NOEUD*> bran)
5     {
6 amroune 1089 Branche=bran;
7     if(Branche.size()>1)
8 amroune 1004 calcul_longueur();
9 amroune 1003 }
10    
11    
12    
13 amroune 1004 SQ_BRANCHE::SQ_BRANCHE()
14 amroune 1003 {
15     }
16    
17    
18    
19     SQ_BRANCHE::SQ_BRANCHE(SQ_BRANCHE& mdd)
20     {
21 amroune 1089 Branche=mdd.Branche;
22     BrancheGuide=mdd.BrancheGuide;
23     Longueur=mdd.Longueur;
24     RayonMax=mdd.RayonMax;
25 amroune 1003 LstSections=mdd.LstSections;
26 amroune 1089 LstSections2=mdd.LstSections2;
27 amroune 1003 LstGuides=mdd.LstGuides;
28 amroune 1089 BrancheValide=mdd.BrancheValide;
29 amroune 1003 }
30    
31    
32    
33     SQ_BRANCHE::~SQ_BRANCHE()
34     {
35     }
36    
37    
38    
39     std::vector<SQ_NOEUD*> SQ_BRANCHE::get_branche()
40     {
41 amroune 1089 return Branche;
42 amroune 1003 }
43    
44    
45    
46 amroune 1089 std::vector<SQ_NOEUD*> SQ_BRANCHE::get_branche_guide()
47     {
48     return BrancheGuide;
49     }
50    
51    
52    
53 amroune 1004 double SQ_BRANCHE::get_longueur()
54     {
55 amroune 1089 return Longueur;
56 amroune 1004 }
57    
58    
59    
60 amroune 1005 double SQ_BRANCHE::get_rayon_max()
61     {
62 amroune 1089 return RayonMax;
63 amroune 1005 }
64    
65    
66    
67 amroune 1003 std::vector<MG_NOEUD*> SQ_BRANCHE::get_section(int i)
68     {
69 amroune 1005 return LstSections[i].second;
70 amroune 1003 }
71    
72    
73    
74 amroune 1089 std::vector<MG_NOEUD*> SQ_BRANCHE::get_section2(int i)
75     {
76     return LstSections2[i].second;
77     }
78    
79    
80    
81 amroune 1005 SQ_NOEUD* SQ_BRANCHE::get_no_central_section(int i)
82     {
83     return LstSections[i].first;
84     }
85    
86    
87    
88 amroune 1089 SQ_NOEUD* SQ_BRANCHE::get_no_central_section2(int i)
89     {
90     return LstSections2[i].first;
91     }
92    
93    
94    
95 amroune 1004 int SQ_BRANCHE::get_nb_sections()
96 amroune 1003 {
97     return LstSections.size();
98     }
99 amroune 1089
100    
101    
102     int SQ_BRANCHE::get_nb_sections2()
103     {
104     return LstSections2.size();
105     }
106    
107    
108    
109 amroune 1003 std::vector<MG_NOEUD*> SQ_BRANCHE::get_guide(int i)
110     {
111     return LstGuides[i];
112     }
113    
114    
115    
116 amroune 1004 int SQ_BRANCHE::get_nb_guides()
117 amroune 1003 {
118     return LstGuides.size();
119     }
120    
121    
122    
123 amroune 1004 bool SQ_BRANCHE::get_validite()
124     {
125 amroune 1089 return BrancheValide;
126 amroune 1004 }
127    
128    
129    
130 amroune 1089 SQ_JONCTION* SQ_BRANCHE::get_jonction1()
131 amroune 1003 {
132 amroune 1089 return Jonction1;
133     }
134    
135    
136    
137     SQ_JONCTION* SQ_BRANCHE::get_jonction2()
138     {
139     return Jonction2;
140     }
141    
142    
143    
144     TopoDS_Shape SQ_BRANCHE::get_branche_solide()
145     {
146     return BrancheSolide;
147     }
148    
149    
150    
151     void SQ_BRANCHE::change_branche(std::vector<SQ_NOEUD*> Bran)
152     {
153     Branche=Bran;
154     if(Branche.size()>1)
155 amroune 1004 calcul_longueur();
156 amroune 1003 }
157    
158    
159    
160 amroune 1089 void SQ_BRANCHE::change_branche_guide(std::vector<SQ_NOEUD*> BranGuide)
161     {
162     BrancheGuide=BranGuide;
163     }
164    
165    
166    
167 amroune 1004 void SQ_BRANCHE::calcul_longueur()
168     {
169 amroune 1089 Longueur=0.;
170     for(int i=0;i<Branche.size()-1;i++)
171 amroune 1004 {
172 amroune 1089 OT_VECTEUR_3D V(Branche[i]->get_coord(),Branche[i+1]->get_coord());
173     Longueur+=V.get_longueur();
174 amroune 1004 }
175     }
176    
177    
178    
179 amroune 1005 void SQ_BRANCHE::change_rayon_max(double Rmax)
180 amroune 1003 {
181 amroune 1089 RayonMax=Rmax;
182 amroune 1003 }
183    
184    
185    
186 amroune 1089 void SQ_BRANCHE::ajouter_section(SQ_NOEUD* NoCentral,std::vector<MG_NOEUD*> Section)
187 amroune 1005 {
188 amroune 1089 LstSections.push_back(std::make_pair(NoCentral,Section));
189 amroune 1005 }
190    
191    
192    
193 amroune 1089 void SQ_BRANCHE::ajouter_section2(SQ_NOEUD* NoCentral,std::vector<MG_NOEUD*> Section)
194 amroune 1003 {
195 amroune 1089 LstSections2.push_back(std::make_pair(NoCentral,Section));
196 amroune 1003 }
197 amroune 1004
198    
199    
200 amroune 1089 void SQ_BRANCHE::ajouter_guide(std::vector<MG_NOEUD*> Guide)
201 amroune 1004 {
202 amroune 1089 LstGuides.push_back(Guide);
203     }
204    
205    
206    
207     void SQ_BRANCHE::change_validite(bool Validite)
208     {
209     BrancheValide=Validite;
210     }
211    
212    
213    
214     void SQ_BRANCHE::change_jonction1(SQ_JONCTION* Jonc1)
215     {
216     Jonction1=Jonc1;
217     }
218    
219    
220    
221     void SQ_BRANCHE::change_jonction2(SQ_JONCTION* Jonc2)
222     {
223     Jonction2=Jonc2;
224     }
225    
226    
227    
228     void SQ_BRANCHE::change_branche_solide(TopoDS_Shape BranSolid)
229     {
230     BrancheSolide=BranSolid;
231 amroune 1004 }

Properties

Name Value
svn:executable *