1 |
gervaislavoie |
332 |
#include "gestionversion.h" |
2 |
francois |
470 |
#include "fem_noeud.h" |
3 |
gervaislavoie |
332 |
#include "mg_maillage.h" |
4 |
|
|
#include "opt_noeud.h" |
5 |
|
|
|
6 |
|
|
|
7 |
francois |
470 |
OPT_NOEUD::OPT_NOEUD(FEM_NOEUD* noeud):fem_noeud(noeud) |
8 |
gervaislavoie |
332 |
{ |
9 |
francois |
470 |
xyz0[0]=fem_noeud->get_x(); |
10 |
|
|
xyz0[1]=fem_noeud->get_y(); |
11 |
|
|
xyz0[2]=fem_noeud->get_z(); |
12 |
|
|
|
13 |
gervaislavoie |
495 |
normale[0]=0.; //Enlever |
14 |
francois |
470 |
normale[1]=0.; |
15 |
|
|
normale[2]=0.; |
16 |
|
|
|
17 |
gervaislavoie |
495 |
normale_initiale[0]=0.; //Enlever |
18 |
francois |
470 |
normale_initiale[1]=0.; |
19 |
|
|
normale_initiale[2]=0.; |
20 |
gervaislavoie |
332 |
} |
21 |
|
|
|
22 |
francois |
470 |
OPT_NOEUD::OPT_NOEUD(OPT_NOEUD& mdd):fem_noeud(mdd.fem_noeud) |
23 |
gervaislavoie |
332 |
{ |
24 |
francois |
470 |
xyz0[0]=mdd.get_x_initial(); |
25 |
|
|
xyz0[1]=mdd.get_y_initial(); |
26 |
|
|
xyz0[2]=mdd.get_z_initial(); |
27 |
|
|
|
28 |
|
|
normale[0]=mdd.normale[0]; |
29 |
|
|
normale[1]=mdd.normale[1]; |
30 |
|
|
normale[2]=mdd.normale[2]; |
31 |
|
|
|
32 |
|
|
normale_initiale[0]=mdd.normale_initiale[0]; |
33 |
|
|
normale_initiale[1]=mdd.normale_initiale[1]; |
34 |
|
|
normale_initiale[2]=mdd.normale_initiale[2]; |
35 |
gervaislavoie |
332 |
} |
36 |
|
|
|
37 |
|
|
OPT_NOEUD::~OPT_NOEUD() |
38 |
francois |
470 |
{ |
39 |
|
|
|
40 |
gervaislavoie |
332 |
} |
41 |
|
|
|
42 |
francois |
470 |
FEM_NOEUD* OPT_NOEUD::get_fem_noeud(void) |
43 |
|
|
{ |
44 |
|
|
return fem_noeud; |
45 |
|
|
} |
46 |
|
|
|
47 |
gervaislavoie |
332 |
int OPT_NOEUD::get_num(void) |
48 |
|
|
{ |
49 |
|
|
return num; |
50 |
|
|
} |
51 |
|
|
|
52 |
|
|
void OPT_NOEUD::change_num(int val) |
53 |
|
|
{ |
54 |
gervaislavoie |
398 |
num=val; |
55 |
gervaislavoie |
332 |
} |
56 |
|
|
|
57 |
gervaislavoie |
495 |
int OPT_NOEUD::get_mvt_normal(void) |
58 |
gervaislavoie |
398 |
{ |
59 |
gervaislavoie |
495 |
return mvt_normal; |
60 |
gervaislavoie |
398 |
} |
61 |
gervaislavoie |
495 |
void OPT_NOEUD::change_mvt_normal(int mvt) |
62 |
|
|
{ |
63 |
|
|
mvt_normal=mvt; |
64 |
|
|
} |
65 |
gervaislavoie |
398 |
|
66 |
gervaislavoie |
495 |
/*int OPT_NOEUD::get_contrainte(void) |
67 |
gervaislavoie |
398 |
{ |
68 |
gervaislavoie |
495 |
return contrainte; |
69 |
gervaislavoie |
398 |
} |
70 |
|
|
|
71 |
gervaislavoie |
495 |
void OPT_NOEUD::change_contrainte(int cont) |
72 |
gervaislavoie |
398 |
{ |
73 |
gervaislavoie |
495 |
contrainte=cont; |
74 |
|
|
}*/ |
75 |
|
|
|
76 |
|
|
int OPT_NOEUD::get_gradient(void) |
77 |
|
|
{ |
78 |
|
|
return gradient; |
79 |
francois |
470 |
} |
80 |
|
|
|
81 |
gervaislavoie |
495 |
void OPT_NOEUD::change_gradient(int grad) |
82 |
francois |
470 |
{ |
83 |
gervaislavoie |
495 |
gradient=grad; |
84 |
francois |
470 |
} |
85 |
|
|
|
86 |
gervaislavoie |
495 |
/*int OPT_NOEUD::get_fixe_au_depart(void) |
87 |
francois |
470 |
{ |
88 |
gervaislavoie |
495 |
return fixe_au_depart; |
89 |
gervaislavoie |
398 |
} |
90 |
|
|
|
91 |
gervaislavoie |
495 |
void OPT_NOEUD::change_fixe_au_depart(int fixe) |
92 |
gervaislavoie |
398 |
{ |
93 |
gervaislavoie |
495 |
fixe_au_depart=fixe; |
94 |
|
|
}*/ |
95 |
|
|
|
96 |
|
|
int OPT_NOEUD::get_mobile_au_depart(void) |
97 |
|
|
{ |
98 |
|
|
return mobile_au_depart; |
99 |
gervaislavoie |
398 |
} |
100 |
|
|
|
101 |
gervaislavoie |
495 |
void OPT_NOEUD::change_mobile_au_depart(int mob) |
102 |
|
|
{ |
103 |
|
|
mobile_au_depart=mob; |
104 |
|
|
} |
105 |
|
|
|
106 |
|
|
int OPT_NOEUD::get_mobile(void) |
107 |
|
|
{ |
108 |
|
|
return mobile; |
109 |
|
|
} |
110 |
|
|
|
111 |
|
|
void OPT_NOEUD::change_mobile(int mob) |
112 |
|
|
{ |
113 |
|
|
mobile=mob; |
114 |
|
|
} |
115 |
|
|
|
116 |
|
|
int OPT_NOEUD::get_a_replacer(void) |
117 |
|
|
{ |
118 |
|
|
return a_replacer; |
119 |
|
|
} |
120 |
|
|
|
121 |
|
|
void OPT_NOEUD::change_a_replacer(int replacer) |
122 |
|
|
{ |
123 |
|
|
a_replacer=replacer; |
124 |
|
|
} |
125 |
|
|
|
126 |
|
|
int OPT_NOEUD::get_a_ete_replace(void) |
127 |
|
|
{ |
128 |
|
|
return a_ete_replace; |
129 |
|
|
} |
130 |
|
|
|
131 |
|
|
void OPT_NOEUD::change_a_ete_replace(int replace) |
132 |
|
|
{ |
133 |
|
|
a_ete_replace=replace; |
134 |
|
|
} |
135 |
|
|
|
136 |
francois |
470 |
double OPT_NOEUD::get_terme_gradient_f(void) |
137 |
gervaislavoie |
398 |
{ |
138 |
|
|
return terme_gradient_f; |
139 |
|
|
} |
140 |
|
|
|
141 |
|
|
void OPT_NOEUD::change_terme_gradient_f(double valeur) |
142 |
|
|
{ |
143 |
|
|
terme_gradient_f=valeur; |
144 |
|
|
} |
145 |
|
|
|
146 |
gervaislavoie |
495 |
double OPT_NOEUD::get_sol_deplacement(void ) |
147 |
|
|
{ |
148 |
|
|
return sol_deplacement; |
149 |
|
|
} |
150 |
|
|
|
151 |
|
|
void OPT_NOEUD::change_sol_deplacement(double deplacement) |
152 |
|
|
{ |
153 |
|
|
sol_deplacement=deplacement; |
154 |
|
|
} |
155 |
|
|
|
156 |
gervaislavoie |
332 |
unsigned long OPT_NOEUD::get_id(void) |
157 |
|
|
{ |
158 |
francois |
470 |
return fem_noeud->get_id(); |
159 |
gervaislavoie |
332 |
} |
160 |
|
|
|
161 |
|
|
double OPT_NOEUD::get_x(void) |
162 |
|
|
{ |
163 |
francois |
470 |
return fem_noeud->get_x(); |
164 |
gervaislavoie |
332 |
} |
165 |
|
|
|
166 |
|
|
double OPT_NOEUD::get_y(void) |
167 |
|
|
{ |
168 |
francois |
470 |
return fem_noeud->get_y(); |
169 |
gervaislavoie |
332 |
} |
170 |
|
|
|
171 |
|
|
double OPT_NOEUD::get_z(void) |
172 |
|
|
{ |
173 |
francois |
470 |
return fem_noeud->get_z(); |
174 |
gervaislavoie |
332 |
} |
175 |
|
|
|
176 |
gervaislavoie |
398 |
double OPT_NOEUD::get_x_initial(void) |
177 |
|
|
{ |
178 |
francois |
470 |
return xyz0[0]; |
179 |
gervaislavoie |
398 |
} |
180 |
|
|
|
181 |
|
|
double OPT_NOEUD::get_y_initial(void) |
182 |
|
|
{ |
183 |
francois |
470 |
return xyz0[1]; |
184 |
gervaislavoie |
398 |
} |
185 |
|
|
|
186 |
|
|
double OPT_NOEUD::get_z_initial(void) |
187 |
|
|
{ |
188 |
francois |
470 |
return xyz0[2]; |
189 |
gervaislavoie |
398 |
} |
190 |
|
|
|
191 |
gervaislavoie |
332 |
double* OPT_NOEUD::get_coord(void) |
192 |
|
|
{ |
193 |
francois |
470 |
return fem_noeud->get_coord(); |
194 |
gervaislavoie |
332 |
} |
195 |
|
|
|
196 |
francois |
470 |
double OPT_NOEUD::get_norme_orientee_deplacement(void) |
197 |
|
|
{ |
198 |
|
|
return norme_orientee_deplacement; |
199 |
|
|
} |
200 |
gervaislavoie |
332 |
|
201 |
francois |
470 |
void OPT_NOEUD::change_norme_orientee_deplacement(void) |
202 |
|
|
{ |
203 |
|
|
OT_VECTEUR_3D n=get_normale_initiale(); |
204 |
|
|
OT_VECTEUR_3D D(get_x()-get_x_initial(),get_y()-get_y_initial(),get_z()-get_z_initial()); |
205 |
|
|
|
206 |
|
|
int signe=1; |
207 |
|
|
double ps_D_n=D*n; |
208 |
|
|
if (ps_D_n<0) |
209 |
|
|
signe=-1; |
210 |
|
|
norme_orientee_deplacement=D.get_longueur()*signe; |
211 |
|
|
} |
212 |
|
|
|
213 |
gervaislavoie |
332 |
void OPT_NOEUD::change_normale(OT_VECTEUR_3D vec) |
214 |
|
|
{ |
215 |
|
|
normale=vec; |
216 |
|
|
} |
217 |
|
|
|
218 |
|
|
OT_VECTEUR_3D OPT_NOEUD::get_normale(void) |
219 |
|
|
{ |
220 |
|
|
return normale; |
221 |
|
|
} |
222 |
|
|
|
223 |
|
|
OT_VECTEUR_3D OPT_NOEUD::get_normale_initiale(void) |
224 |
|
|
{ |
225 |
gervaislavoie |
398 |
return normale_initiale; |
226 |
gervaislavoie |
332 |
} |
227 |
|
|
|
228 |
|
|
void OPT_NOEUD::change_normale_initiale(void) |
229 |
|
|
{ |
230 |
gervaislavoie |
398 |
normale_initiale=normale; |
231 |
gervaislavoie |
332 |
} |
232 |
|
|
|
233 |
|
|
void OPT_NOEUD::change_x(double xx) |
234 |
|
|
{ |
235 |
francois |
470 |
fem_noeud->change_x(xx); |
236 |
gervaislavoie |
332 |
} |
237 |
|
|
|
238 |
|
|
void OPT_NOEUD::change_y(double yy) |
239 |
|
|
{ |
240 |
francois |
470 |
fem_noeud->change_y(yy); |
241 |
gervaislavoie |
332 |
} |
242 |
|
|
|
243 |
|
|
void OPT_NOEUD::change_z(double zz) |
244 |
|
|
{ |
245 |
francois |
470 |
fem_noeud->change_z(zz); |
246 |
gervaislavoie |
332 |
} |
247 |
|
|
|
248 |
gervaislavoie |
398 |
void OPT_NOEUD::change_x_initial(double x_initial) |
249 |
|
|
{ |
250 |
francois |
470 |
xyz0[0]=x_initial; |
251 |
gervaislavoie |
398 |
} |
252 |
|
|
|
253 |
|
|
void OPT_NOEUD::change_y_initial(double y_initial) |
254 |
|
|
{ |
255 |
francois |
470 |
xyz0[1]=y_initial; |
256 |
gervaislavoie |
398 |
} |
257 |
|
|
|
258 |
|
|
void OPT_NOEUD::change_z_initial(double z_initial) |
259 |
|
|
{ |
260 |
francois |
470 |
xyz0[2]=z_initial; |
261 |
gervaislavoie |
398 |
} |
262 |
|
|
|
263 |
gervaislavoie |
332 |
void OPT_NOEUD::change_coord(double *coo) |
264 |
|
|
{ |
265 |
francois |
470 |
fem_noeud->change_coord(coo); |
266 |
gervaislavoie |
332 |
} |
267 |
|
|
|
268 |
francois |
470 |
void OPT_NOEUD::change_solution(double val) |
269 |
gervaislavoie |
332 |
{ |
270 |
francois |
470 |
fem_noeud->change_solution(val); |
271 |
gervaislavoie |
332 |
} |
272 |
|
|
|
273 |
|
|
double OPT_NOEUD::get_solution(void) |
274 |
|
|
{ |
275 |
francois |
470 |
fem_noeud->get_solution(); |
276 |
gervaislavoie |
332 |
} |