ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_segment.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
Content type: text/plain
File size: 3040 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
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 francois 283 #ifndef _MGSEGMENT_
23     #define _MGSEGMENT_
24    
25    
26 francois 1158
27 francois 283 #include "tpl_liste_entite.h"
28     #include "mg_element_maillage.h"
29     #include "mg_noeud.h"
30     #include "ot_reference.h"
31 francois 481 #include "ot_boite_2d.h"
32     #include "ot_boite_3d.h"
33 francois 283
34    
35    
36    
37 francois 1150
38 francois 1158 class MG_SEGMENT : public MG_ELEMENT_MAILLAGE, public OT_REFERENCE
39 francois 283 {
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 francois 532
52 francois 283 virtual void change_noeud1(MG_NOEUD* mgnoeud,double longue=0.0);
53     virtual void change_noeud2(MG_NOEUD* mgnoeud,double longue=0.0);
54 francois 702 virtual void inverse_sens(void);
55 francois 283
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 francois 763 virtual void enregistrer(std::ostream& o,double version);
60 francois 283
61     TPL_LISTE_ENTITE<class MG_TRIANGLE*> *get_lien_triangle(void);
62 francois 308 TPL_LISTE_ENTITE<class MG_QUADRANGLE*> *get_lien_quadrangle(void);
63 francois 283
64     virtual void extrapoler_solution_noeud(void);
65 francois 288 virtual void change_dimension_topo_null(int num);
66     virtual int get_dimension_topo_null(void);
67 francois 283
68 francois 532 virtual bool get_distance_metrique(double *l);
69     virtual void change_distance_metrique(double val);
70 francois 283 protected:
71     void calcule_longueur(void);
72    
73     class MG_NOEUD* noeud1;
74     class MG_NOEUD* noeud2;
75     double longueur;
76 francois 288 int dimension;
77 francois 283 TPL_LISTE_ENTITE<class MG_TRIANGLE*> triangle;
78 francois 308 TPL_LISTE_ENTITE<class MG_QUADRANGLE*> quadrangle;
79 francois 532 bool distance_metrique_valide;
80     double distance_metrique;
81 francois 283 };
82    
83    
84    
85    
86    
87    
88     #endif
89    
90    
91