ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_poutre.cpp
Revision: 753
Committed: Mon Oct 26 14:30:49 2015 UTC (9 years, 6 months ago) by francois
File size: 3391 byte(s)
Log Message:
ajout des poutre_element pour Alexandre

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuilli�re et Vincent FRANCOIS
5     // D�partement de G�nie M�canique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du d�partement
8     // de g�nie m�canique de l'Universit� du Qu�bec �
9     // Trois Rivi�res
10     // Les librairies ne peuvent �tre utilis�es sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // mg_poutre.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25     #include "gestionversion.h"
26     #include "mg_poutre.h"
27     //#include "message.h"
28    
29     MG_POUTRE::MG_POUTRE(std::string idori,unsigned long num):MG_ELEMENT_TOPOLOGIQUE(num,idori),num_materiau(-1)
30     {
31     }
32    
33     MG_POUTRE::MG_POUTRE(std::string idori):MG_ELEMENT_TOPOLOGIQUE(idori),num_materiau(-1)
34     {
35     }
36    
37     MG_POUTRE::MG_POUTRE(MG_POUTRE& mdd):MG_ELEMENT_TOPOLOGIQUE(mdd),lst_boucle(mdd.lst_boucle)
38     {
39     }
40    
41     MG_POUTRE::~MG_POUTRE()
42     {
43     }
44    
45     void MG_POUTRE::ajouter_mg_boucle(class MG_BOUCLE* mgbou)
46     {
47     lst_boucle.insert(lst_boucle.end(),mgbou);
48     }
49 francois 753 bool MG_POUTRE::est_une_poutre_element(void)
50     {
51     return false;
52     }
53 francois 283 void MG_POUTRE::supprimer_mg_boucle(class MG_BOUCLE* mgbou)
54     {
55     std::vector<MG_BOUCLE*>::iterator i;
56     for (i=lst_boucle.begin();i!=lst_boucle.end();i++)
57     {
58     if ((*i)==mgbou)
59     {
60     lst_boucle.erase(i);
61     return;
62     }
63     }
64     }
65    
66    
67     int MG_POUTRE::get_nb_mg_boucle(void)
68     {
69     return lst_boucle.size();
70     }
71    
72     MG_BOUCLE* MG_POUTRE::get_mg_boucle(int num)
73     {
74     return lst_boucle[num];
75     }
76    
77     int MG_POUTRE::get_dimension(void)
78     {
79     return 1;
80     }
81    
82     void MG_POUTRE::get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst)
83     {
84     int nb=lst_boucle.size();
85     for (int i=0;i<nb;i++)
86     {
87     MG_BOUCLE* bou=lst_boucle[i];
88     int nb2=bou->get_nb_mg_coarete();
89     for (int j=0;j<nb2;j++)
90     {
91     MG_ARETE* are=bou->get_mg_coarete(j)->get_arete();
92     lst->ajouter(are);
93     are->get_topologie_sousjacente(lst);
94     }
95     }
96     }
97    
98     void MG_POUTRE::enregistrer(std::ostream& o)
99     {
100     o << "%" << get_id() << "=POUTRE(" << get_idoriginal() << ",(";
101     for (unsigned int i=0;i<lst_boucle.size();i++)
102     {
103     o << "$" << lst_boucle[i]->get_id();
104     if (i!=lst_boucle.size()-1) o << ",";
105     else o << ")";
106     }
107     int nb=get_nb_ccf();
108     o << "," << num_materiau << "," << nb;
109     if (nb!=0)
110     {
111     o << ",(";
112     for (int i=0;i<nb;i++)
113     {
114     char nom[3];
115     get_type_ccf(i,nom);
116     o << "(" << nom << "," << get_valeur_ccf(i) << ")";
117     if (i!=nb-1) o << "," ;
118     }
119     o << ")";
120     }
121     o << ");" << std::endl;
122     }
123    
124     void MG_POUTRE::change_num_materiau(int num)
125     {
126     num_materiau=num;
127     }
128    
129     int MG_POUTRE::get_num_materiau(void)
130     {
131     return num_materiau;
132     }
133    
134     VCT& MG_POUTRE::get_vectorisation(void)
135     {
136     VCT *p=NULL;
137     return *p;
138     }