ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/reconstruction/src/sq_branche.cpp
Revision: 1005
Committed: Tue Feb 26 14:16:40 2019 UTC (6 years, 2 months ago) by amroune
File size: 1772 byte(s)
Log Message:
-Intégration des espaces de contrôle dans le code pour diminuer le temps d'exécution
-Ajout de la fonction "rayon_max" qui calcul le rayon maximal dans une section
-Ajout de deux fonctions pour l'affichage de voisinage: "affichage_voisinage_seg" et "affichage_voisinage_tri"

File Contents

# User Rev Content
1 amroune 1003 #include "sq_branche.h"
2     #include <stdio.h>
3    
4     SQ_BRANCHE::SQ_BRANCHE(std::vector<SQ_NOEUD*> bran)
5     {
6     branche=bran;
7 amroune 1004 if(branche.size()>1)
8     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     branche=mdd.branche;
22     LstSections=mdd.LstSections;
23     LstGuides=mdd.LstGuides;
24     }
25    
26    
27    
28     SQ_BRANCHE::~SQ_BRANCHE()
29     {
30     }
31    
32    
33    
34     std::vector<SQ_NOEUD*> SQ_BRANCHE::get_branche()
35     {
36     return branche;
37     }
38    
39    
40    
41 amroune 1004 double SQ_BRANCHE::get_longueur()
42     {
43     return longueur;
44     }
45    
46    
47    
48 amroune 1005 double SQ_BRANCHE::get_rayon_max()
49     {
50     return rayon_max;
51     }
52    
53    
54    
55 amroune 1003 std::vector<MG_NOEUD*> SQ_BRANCHE::get_section(int i)
56     {
57 amroune 1005 return LstSections[i].second;
58 amroune 1003 }
59    
60    
61    
62 amroune 1005 SQ_NOEUD* SQ_BRANCHE::get_no_central_section(int i)
63     {
64     return LstSections[i].first;
65     }
66    
67    
68    
69 amroune 1004 int SQ_BRANCHE::get_nb_sections()
70 amroune 1003 {
71     return LstSections.size();
72     }
73    
74    
75    
76     std::vector<MG_NOEUD*> SQ_BRANCHE::get_guide(int i)
77     {
78     return LstGuides[i];
79     }
80    
81    
82    
83 amroune 1004 int SQ_BRANCHE::get_nb_guides()
84 amroune 1003 {
85     return LstGuides.size();
86     }
87    
88    
89    
90 amroune 1004 bool SQ_BRANCHE::get_validite()
91     {
92     return branche_valid;
93     }
94    
95    
96    
97 amroune 1003 void SQ_BRANCHE::change_branche(std::vector<SQ_NOEUD*> bran)
98     {
99     branche=bran;
100 amroune 1004 if(branche.size()>1)
101     calcul_longueur();
102 amroune 1003 }
103    
104    
105    
106 amroune 1004 void SQ_BRANCHE::calcul_longueur()
107     {
108     longueur=0.;
109     for(int i=0;i<branche.size()-1;i++)
110     {
111     OT_VECTEUR_3D V(branche[i]->get_coord(),branche[i+1]->get_coord());
112     longueur+=V.get_longueur();
113     }
114     }
115    
116    
117    
118 amroune 1005 void SQ_BRANCHE::change_rayon_max(double Rmax)
119 amroune 1003 {
120 amroune 1005 rayon_max=Rmax;
121 amroune 1003 }
122    
123    
124    
125 amroune 1005 void SQ_BRANCHE::ajouter_section(SQ_NOEUD* no_central,std::vector<MG_NOEUD*> section)
126     {
127     LstSections.push_back(std::make_pair(no_central,section));
128     }
129    
130    
131    
132 amroune 1003 void SQ_BRANCHE::ajouter_guide(std::vector<MG_NOEUD*> guide)
133     {
134     LstGuides.push_back(guide);
135     }
136 amroune 1004
137    
138    
139     void SQ_BRANCHE::change_validite(bool validite)
140     {
141     branche_valid=validite;
142     }

Properties

Name Value
svn:executable *