MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
sq_branche.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// sq_branche.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:56 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _SQ_BRANCHE_
23 #define _SQ_BRANCHE_
24 
25 #include "sq_noeud.h"
26 #include <TopoDS_Shape.hxx>
27 
28 class SQ_JONCTION;
29 
31 {
32 public:
33  SQ_BRANCHE(std::vector<SQ_NOEUD*> Bran);
34  SQ_BRANCHE();
35  SQ_BRANCHE(SQ_BRANCHE& mdd);
36  virtual ~SQ_BRANCHE();
37 
38  std::vector<SQ_NOEUD*> get_branche();
39  std::vector<SQ_NOEUD*> get_branche_guide();
40  double get_longueur();
41  double get_rayon_max();
42  std::vector<MG_NOEUD*> get_section(int i);
43  std::vector<MG_NOEUD*> get_section2(int i);
46  int get_nb_sections();
47  int get_nb_sections2();
48  std::vector<MG_NOEUD*> get_guide(int i);
49  int get_nb_guides();
50  bool get_validite();
53  TopoDS_Shape get_branche_solide();
54 
55  void change_branche(std::vector<SQ_NOEUD*> Bran);
56  void change_branche_guide(std::vector<SQ_NOEUD*> BranGuide);
57  void calcul_longueur();
58  void change_rayon_max(double Rmax);
59  void ajouter_section(SQ_NOEUD* NoCentral,std::vector<MG_NOEUD*> Section);
60  void ajouter_section2(SQ_NOEUD* NoCentral,std::vector<MG_NOEUD*> Section);
61  void ajouter_guide(std::vector<MG_NOEUD*> Guide);
62  void change_validite(bool Validite);
63  void change_jonction1(SQ_JONCTION* Jonc1);
64  void change_jonction2(SQ_JONCTION* Jonc2);
65  void change_branche_solide(TopoDS_Shape BranSolid);
66 
67 protected:
68  std::vector<SQ_NOEUD*> Branche;
69  std::vector<SQ_NOEUD*> BrancheGuide;
70  double Longueur;
71  double RayonMax;
72  std::vector<std::pair<SQ_NOEUD*,std::vector<MG_NOEUD*>>> LstSections;
73  std::vector<std::pair<SQ_NOEUD*,std::vector<MG_NOEUD*>>> LstSections2;
74  std::vector<std::vector<MG_NOEUD*>> LstGuides;
78  TopoDS_Shape BrancheSolide;
79 };
80 #endif
81 
void change_branche_solide(TopoDS_Shape BranSolid)
Definition: sq_branche.cpp:249
int get_nb_sections2()
Definition: sq_branche.cpp:123
void change_jonction1(SQ_JONCTION *Jonc1)
Definition: sq_branche.cpp:235
std::vector< SQ_NOEUD * > get_branche()
Definition: sq_branche.cpp:60
virtual ~SQ_BRANCHE()
Definition: sq_branche.cpp:54
SQ_JONCTION * get_jonction2()
Definition: sq_branche.cpp:158
std::vector< SQ_NOEUD * > BrancheGuide
Definition: sq_branche.h:69
std::vector< MG_NOEUD * > get_section(int i)
Definition: sq_branche.cpp:88
void calcul_longueur()
Definition: sq_branche.cpp:188
int get_nb_guides()
Definition: sq_branche.cpp:137
void change_branche_guide(std::vector< SQ_NOEUD * > BranGuide)
Definition: sq_branche.cpp:181
void change_validite(bool Validite)
Definition: sq_branche.cpp:228
TopoDS_Shape get_branche_solide()
Definition: sq_branche.cpp:165
int get_nb_sections()
Definition: sq_branche.cpp:116
double Longueur
Definition: sq_branche.h:70
std::vector< MG_NOEUD * > get_section2(int i)
Definition: sq_branche.cpp:95
std::vector< std::pair< SQ_NOEUD *, std::vector< MG_NOEUD * > > > LstSections2
Definition: sq_branche.h:73
double RayonMax
Definition: sq_branche.h:71
SQ_JONCTION * get_jonction1()
Definition: sq_branche.cpp:151
void change_rayon_max(double Rmax)
Definition: sq_branche.cpp:200
std::vector< SQ_NOEUD * > get_branche_guide()
Definition: sq_branche.cpp:67
SQ_JONCTION * Jonction2
Definition: sq_branche.h:77
bool get_validite()
Definition: sq_branche.cpp:144
void ajouter_guide(std::vector< MG_NOEUD * > Guide)
Definition: sq_branche.cpp:221
void ajouter_section2(SQ_NOEUD *NoCentral, std::vector< MG_NOEUD * > Section)
Definition: sq_branche.cpp:214
double get_longueur()
Definition: sq_branche.cpp:74
std::vector< std::vector< MG_NOEUD * > > LstGuides
Definition: sq_branche.h:74
bool BrancheValide
Definition: sq_branche.h:75
std::vector< SQ_NOEUD * > Branche
Definition: sq_branche.h:68
void ajouter_section(SQ_NOEUD *NoCentral, std::vector< MG_NOEUD * > Section)
Definition: sq_branche.cpp:207
void change_branche(std::vector< SQ_NOEUD * > Bran)
Definition: sq_branche.cpp:172
SQ_JONCTION * Jonction1
Definition: sq_branche.h:76
std::vector< MG_NOEUD * > get_guide(int i)
Definition: sq_branche.cpp:130
SQ_NOEUD * get_no_central_section(int i)
Definition: sq_branche.cpp:102
void change_jonction2(SQ_JONCTION *Jonc2)
Definition: sq_branche.cpp:242
TopoDS_Shape BrancheSolide
Definition: sq_branche.h:78
std::vector< std::pair< SQ_NOEUD *, std::vector< MG_NOEUD * > > > LstSections
Definition: sq_branche.h:72
SQ_NOEUD * get_no_central_section2(int i)
Definition: sq_branche.cpp:109
double get_rayon_max()
Definition: sq_branche.cpp:81