ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_poutre.cpp
Revision: 763
Committed: Wed Dec 2 19:55:53 2015 UTC (9 years, 5 months ago) by francois
File size: 3406 byte(s)
Log Message:
Le fichier MAGiC est maintenant versionné. LA version actuelle est 2.0. L'ancienne version est 1.0.
Tout est transparent pour l'utilisateur. Les vieilles versions sont lisibles mais les nouveaux enregistrements sont dans la version la plus récente.
Changement des conditions aux limites : ajout d'un parametre pour dire si la condition numerique est une valeur ou une formule ou un lien vers une autre entité magic.
Les parametres pour saisir sont maintenant -ccf -ccfi -ccff -ccft -ccfit -ccfft

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 francois 763 void MG_POUTRE::enregistrer(std::ostream& o,double version)
99 francois 283 {
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     }