MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_segment.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 //####// mg_segment.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MGSEGMENT_
23 #define _MGSEGMENT_
24 
25 
26 
27 #include "tpl_liste_entite.h"
28 #include "mg_element_maillage.h"
29 #include "mg_noeud.h"
30 #include "ot_reference.h"
31 #include "ot_boite_2d.h"
32 #include "ot_boite_3d.h"
33 
34 
35 
36 
37 
39 {
40 public:
41  MG_SEGMENT(unsigned long num,MG_ELEMENT_TOPOLOGIQUE* topo,class MG_NOEUD *mgnoeud1,class MG_NOEUD *mgnoeud2,int origine,double longue=0.0);
42  MG_SEGMENT(MG_ELEMENT_TOPOLOGIQUE* topo,MG_NOEUD *mgnoeud1,MG_NOEUD *mgnoeud2,int origine,double longue=0.0);
43  MG_SEGMENT(MG_SEGMENT& mdd);
44  virtual MG_SEGMENT* dupliquer(class MG_MAILLAGE *mgmai,long decalage);
45  virtual ~MG_SEGMENT();
46  virtual int get_type_entite(void);
47 
48  virtual MG_NOEUD* get_noeud1(void);
49  virtual MG_NOEUD* get_noeud2(void);
50  virtual double get_longueur(void);
51 
52  virtual void change_noeud1(MG_NOEUD* mgnoeud,double longue=0.0);
53  virtual void change_noeud2(MG_NOEUD* mgnoeud,double longue=0.0);
54  virtual void inverse_sens(void);
55 
56  virtual class BOITE_2D get_boite_2D(double periodeu,double periodev);
57  virtual class BOITE_3D get_boite_3D(void);
58  virtual int get_dimension(void);
59  virtual void enregistrer(std::ostream& o,double version);
60 
63 
64  virtual void extrapoler_solution_noeud(void);
65  virtual void change_dimension_topo_null(int num);
66  virtual int get_dimension_topo_null(void);
67 
68  virtual bool get_distance_metrique(double *l);
69  virtual void change_distance_metrique(double val);
70 protected:
71  void calcule_longueur(void);
72 
73  class MG_NOEUD* noeud1;
74  class MG_NOEUD* noeud2;
75  double longueur;
76  int dimension;
81 };
82 
83 
84 
85 
86 
87 
88 #endif
89 
90 
91 
class MG_NOEUD * noeud1
Definition: mg_segment.h:73
int dimension
Definition: mg_segment.h:76
virtual void inverse_sens(void)
Definition: mg_segment.cpp:118
void calcule_longueur(void)
Definition: mg_segment.cpp:171
bool distance_metrique_valide
Definition: mg_segment.h:79
virtual MG_NOEUD * get_noeud1(void)
Definition: mg_segment.cpp:108
virtual int get_dimension(void)
Definition: mg_segment.cpp:165
virtual int get_type_entite(void)
Definition: mg_segment.cpp:102
virtual void extrapoler_solution_noeud(void)
Definition: mg_segment.cpp:234
virtual double get_longueur(void)
Definition: mg_segment.cpp:125
TPL_LISTE_ENTITE< class MG_TRIANGLE * > * get_lien_triangle(void)
Definition: mg_segment.cpp:243
TPL_LISTE_ENTITE< class MG_QUADRANGLE * > * get_lien_quadrangle(void)
Definition: mg_segment.cpp:247
virtual void enregistrer(std::ostream &o, double version)
Definition: mg_segment.cpp:158
double longueur
Definition: mg_segment.h:75
TPL_LISTE_ENTITE< class MG_QUADRANGLE * > quadrangle
Definition: mg_segment.h:78
virtual MG_SEGMENT * dupliquer(class MG_MAILLAGE *mgmai, long decalage)
Definition: mg_segment.cpp:74
double distance_metrique
Definition: mg_segment.h:80
MG_SEGMENT(unsigned long num, MG_ELEMENT_TOPOLOGIQUE *topo, class MG_NOEUD *mgnoeud1, class MG_NOEUD *mgnoeud2, int origine, double longue=0.0)
Definition: mg_segment.cpp:32
virtual class BOITE_2D get_boite_2D(double periodeu, double periodev)
Definition: mg_segment.cpp:181
class MG_NOEUD * noeud2
Definition: mg_segment.h:74
virtual void change_distance_metrique(double val)
Definition: mg_segment.cpp:263
TPL_LISTE_ENTITE< class MG_TRIANGLE * > triangle
Definition: mg_segment.h:77
virtual void change_noeud2(MG_NOEUD *mgnoeud, double longue=0.0)
Definition: mg_segment.cpp:144
virtual bool get_distance_metrique(double *l)
Definition: mg_segment.cpp:257
virtual MG_NOEUD * get_noeud2(void)
Definition: mg_segment.cpp:113
virtual class BOITE_3D get_boite_3D(void)
Definition: mg_segment.cpp:212
virtual int get_dimension_topo_null(void)
Definition: mg_segment.cpp:269
virtual void change_noeud1(MG_NOEUD *mgnoeud, double longue=0.0)
Definition: mg_segment.cpp:130
virtual void change_dimension_topo_null(int num)
Definition: mg_segment.cpp:251
virtual ~MG_SEGMENT()
Definition: mg_segment.cpp:88