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 
sq_noeud.h
SQ_BRANCHE::change_branche
void change_branche(std::vector< SQ_NOEUD * > Bran)
Definition: sq_branche.cpp:172
SQ_BRANCHE::get_no_central_section
SQ_NOEUD * get_no_central_section(int i)
Definition: sq_branche.cpp:102
SQ_BRANCHE::ajouter_section
void ajouter_section(SQ_NOEUD *NoCentral, std::vector< MG_NOEUD * > Section)
Definition: sq_branche.cpp:207
SQ_BRANCHE::get_validite
bool get_validite()
Definition: sq_branche.cpp:144
SQ_BRANCHE::LstSections2
std::vector< std::pair< SQ_NOEUD *, std::vector< MG_NOEUD * > > > LstSections2
Definition: sq_branche.h:73
SQ_BRANCHE::get_no_central_section2
SQ_NOEUD * get_no_central_section2(int i)
Definition: sq_branche.cpp:109
SQ_BRANCHE::Jonction2
SQ_JONCTION * Jonction2
Definition: sq_branche.h:77
SQ_BRANCHE::change_validite
void change_validite(bool Validite)
Definition: sq_branche.cpp:228
SQ_BRANCHE::BrancheValide
bool BrancheValide
Definition: sq_branche.h:75
SQ_BRANCHE::change_branche_guide
void change_branche_guide(std::vector< SQ_NOEUD * > BranGuide)
Definition: sq_branche.cpp:181
SQ_BRANCHE::BrancheSolide
TopoDS_Shape BrancheSolide
Definition: sq_branche.h:78
SQ_NOEUD
Definition: sq_noeud.h:28
SQ_BRANCHE::get_jonction2
SQ_JONCTION * get_jonction2()
Definition: sq_branche.cpp:158
SQ_BRANCHE::Jonction1
SQ_JONCTION * Jonction1
Definition: sq_branche.h:76
SQ_BRANCHE::LstGuides
std::vector< std::vector< MG_NOEUD * > > LstGuides
Definition: sq_branche.h:74
SQ_BRANCHE::change_jonction2
void change_jonction2(SQ_JONCTION *Jonc2)
Definition: sq_branche.cpp:242
SQ_BRANCHE::get_section2
std::vector< MG_NOEUD * > get_section2(int i)
Definition: sq_branche.cpp:95
SQ_BRANCHE::ajouter_section2
void ajouter_section2(SQ_NOEUD *NoCentral, std::vector< MG_NOEUD * > Section)
Definition: sq_branche.cpp:214
SQ_BRANCHE
Definition: sq_branche.h:30
SQ_BRANCHE::get_section
std::vector< MG_NOEUD * > get_section(int i)
Definition: sq_branche.cpp:88
SQ_BRANCHE::Longueur
double Longueur
Definition: sq_branche.h:70
SQ_BRANCHE::ajouter_guide
void ajouter_guide(std::vector< MG_NOEUD * > Guide)
Definition: sq_branche.cpp:221
SQ_BRANCHE::change_branche_solide
void change_branche_solide(TopoDS_Shape BranSolid)
Definition: sq_branche.cpp:249
SQ_BRANCHE::LstSections
std::vector< std::pair< SQ_NOEUD *, std::vector< MG_NOEUD * > > > LstSections
Definition: sq_branche.h:72
SQ_BRANCHE::BrancheGuide
std::vector< SQ_NOEUD * > BrancheGuide
Definition: sq_branche.h:69
SQ_BRANCHE::calcul_longueur
void calcul_longueur()
Definition: sq_branche.cpp:188
SQ_BRANCHE::get_nb_sections
int get_nb_sections()
Definition: sq_branche.cpp:116
SQ_BRANCHE::Branche
std::vector< SQ_NOEUD * > Branche
Definition: sq_branche.h:68
SQ_BRANCHE::get_branche
std::vector< SQ_NOEUD * > get_branche()
Definition: sq_branche.cpp:60
SQ_BRANCHE::get_nb_guides
int get_nb_guides()
Definition: sq_branche.cpp:137
SQ_BRANCHE::get_jonction1
SQ_JONCTION * get_jonction1()
Definition: sq_branche.cpp:151
SQ_BRANCHE::get_branche_guide
std::vector< SQ_NOEUD * > get_branche_guide()
Definition: sq_branche.cpp:67
SQ_BRANCHE::get_branche_solide
TopoDS_Shape get_branche_solide()
Definition: sq_branche.cpp:165
SQ_BRANCHE::get_rayon_max
double get_rayon_max()
Definition: sq_branche.cpp:81
SQ_BRANCHE::get_nb_sections2
int get_nb_sections2()
Definition: sq_branche.cpp:123
SQ_BRANCHE::get_longueur
double get_longueur()
Definition: sq_branche.cpp:74
SQ_BRANCHE::change_rayon_max
void change_rayon_max(double Rmax)
Definition: sq_branche.cpp:200
SQ_JONCTION
Definition: sq_jonction.h:30
SQ_BRANCHE::get_guide
std::vector< MG_NOEUD * > get_guide(int i)
Definition: sq_branche.cpp:130
SQ_BRANCHE::RayonMax
double RayonMax
Definition: sq_branche.h:71
SQ_BRANCHE::~SQ_BRANCHE
virtual ~SQ_BRANCHE()
Definition: sq_branche.cpp:54
SQ_BRANCHE::SQ_BRANCHE
SQ_BRANCHE()
Definition: sq_branche.cpp:34
SQ_BRANCHE::change_jonction1
void change_jonction1(SQ_JONCTION *Jonc1)
Definition: sq_branche.cpp:235