1 |
amroune |
1003 |
#ifndef _SQ_BRANCHE_ |
2 |
|
|
#define _SQ_BRANCHE_ |
3 |
|
|
|
4 |
|
|
#include "sq_noeud.h" |
5 |
|
|
|
6 |
|
|
|
7 |
|
|
class SQ_BRANCHE |
8 |
|
|
{ |
9 |
|
|
public: |
10 |
|
|
SQ_BRANCHE(std::vector<SQ_NOEUD*> bran); |
11 |
amroune |
1004 |
SQ_BRANCHE(); |
12 |
amroune |
1003 |
SQ_BRANCHE(SQ_BRANCHE& mdd); |
13 |
|
|
virtual ~SQ_BRANCHE(); |
14 |
|
|
|
15 |
|
|
std::vector<SQ_NOEUD*> get_branche(); |
16 |
amroune |
1004 |
double get_longueur(); |
17 |
amroune |
1005 |
double get_rayon_max(); |
18 |
amroune |
1003 |
std::vector<MG_NOEUD*> get_section(int i); |
19 |
amroune |
1005 |
SQ_NOEUD* get_no_central_section(int i); |
20 |
amroune |
1004 |
int get_nb_sections(); |
21 |
amroune |
1003 |
std::vector<MG_NOEUD*> get_guide(int i); |
22 |
amroune |
1004 |
int get_nb_guides(); |
23 |
|
|
bool get_validite(); |
24 |
amroune |
1003 |
|
25 |
|
|
void change_branche(std::vector<SQ_NOEUD*> bran); |
26 |
amroune |
1004 |
void calcul_longueur(); |
27 |
amroune |
1005 |
void change_rayon_max(double Rmax); |
28 |
|
|
void ajouter_section(SQ_NOEUD* no_central,std::vector<MG_NOEUD*> section); |
29 |
amroune |
1003 |
void ajouter_guide(std::vector<MG_NOEUD*> guide); |
30 |
amroune |
1004 |
void change_validite(bool validite); |
31 |
amroune |
1003 |
|
32 |
|
|
protected: |
33 |
|
|
std::vector<SQ_NOEUD*> branche; |
34 |
amroune |
1004 |
double longueur; |
35 |
amroune |
1005 |
double rayon_max; |
36 |
|
|
std::vector<std::pair<SQ_NOEUD*,std::vector<MG_NOEUD*>>> LstSections; |
37 |
amroune |
1003 |
std::vector<std::vector<MG_NOEUD*>> LstGuides; |
38 |
amroune |
1004 |
bool branche_valid; |
39 |
amroune |
1003 |
}; |
40 |
|
|
#endif |
41 |
amroune |
1004 |
|