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 |
gervaislavoie |
528 |
int OPT_NOEUD::get_arret_gradient(void) |
77 |
gervaislavoie |
495 |
{ |
78 |
gervaislavoie |
528 |
return arret_gradient; |
79 |
francois |
470 |
} |
80 |
|
|
|
81 |
gervaislavoie |
528 |
void OPT_NOEUD::change_arret_gradient(int grad) |
82 |
francois |
470 |
{ |
83 |
gervaislavoie |
528 |
arret_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 |
gervaislavoie |
528 |
/*int OPT_NOEUD::get_a_ete_replace(void) |
127 |
gervaislavoie |
495 |
{ |
128 |
|
|
return a_ete_replace; |
129 |
|
|
} |
130 |
|
|
|
131 |
|
|
void OPT_NOEUD::change_a_ete_replace(int replace) |
132 |
|
|
{ |
133 |
|
|
a_ete_replace=replace; |
134 |
gervaislavoie |
528 |
}*/ |
135 |
|
|
|
136 |
|
|
int OPT_NOEUD::get_num_replacement(void) |
137 |
|
|
{ |
138 |
|
|
return num_replacement; |
139 |
gervaislavoie |
495 |
} |
140 |
|
|
|
141 |
gervaislavoie |
528 |
void OPT_NOEUD::change_num_replacement(int num) |
142 |
|
|
{ |
143 |
|
|
num_replacement=num; |
144 |
|
|
} |
145 |
|
|
|
146 |
francois |
470 |
double OPT_NOEUD::get_terme_gradient_f(void) |
147 |
gervaislavoie |
398 |
{ |
148 |
|
|
return terme_gradient_f; |
149 |
|
|
} |
150 |
|
|
|
151 |
|
|
void OPT_NOEUD::change_terme_gradient_f(double valeur) |
152 |
|
|
{ |
153 |
|
|
terme_gradient_f=valeur; |
154 |
|
|
} |
155 |
|
|
|
156 |
gervaislavoie |
528 |
double OPT_NOEUD::get_sol_deplacement_virtuel(void) |
157 |
gervaislavoie |
495 |
{ |
158 |
gervaislavoie |
528 |
return sol_deplacement_virtuel; |
159 |
gervaislavoie |
495 |
} |
160 |
|
|
|
161 |
gervaislavoie |
528 |
void OPT_NOEUD::change_sol_deplacement_virtuel(double deplacement) |
162 |
gervaislavoie |
495 |
{ |
163 |
gervaislavoie |
528 |
sol_deplacement_virtuel=deplacement; |
164 |
gervaislavoie |
495 |
} |
165 |
|
|
|
166 |
gervaislavoie |
528 |
double OPT_NOEUD::get_sens_depl_virtuel(void) |
167 |
|
|
{ |
168 |
|
|
return sens_depl_virtuel; |
169 |
|
|
} |
170 |
|
|
|
171 |
|
|
void OPT_NOEUD::change_sens_depl_virtuel(double signe) |
172 |
|
|
{ |
173 |
|
|
sens_depl_virtuel=signe; |
174 |
|
|
} |
175 |
|
|
|
176 |
|
|
double OPT_NOEUD::get_depl_avant_algo_grad(void) |
177 |
|
|
{ |
178 |
|
|
return depl_avant_algo_grad; |
179 |
|
|
} |
180 |
|
|
|
181 |
|
|
void OPT_NOEUD::change_depl_avant_algo_grad(double depl) |
182 |
|
|
{ |
183 |
|
|
depl_avant_algo_grad=depl; |
184 |
|
|
} |
185 |
zeggar |
744 |
double OPT_NOEUD::get_vonmises__precedent(void) |
186 |
|
|
{ |
187 |
|
|
return von_mises; |
188 |
|
|
} |
189 |
gervaislavoie |
528 |
|
190 |
zeggar |
744 |
void OPT_NOEUD::change_vonmises__precedent(double von) |
191 |
|
|
{ |
192 |
|
|
von_mises=von; |
193 |
|
|
} |
194 |
|
|
|
195 |
gervaislavoie |
528 |
double* OPT_NOEUD::get_coord_lissee(void) |
196 |
|
|
{ |
197 |
|
|
return xyz_lissee; |
198 |
|
|
} |
199 |
|
|
|
200 |
|
|
void OPT_NOEUD::change_coord_lissee(double* coord) |
201 |
|
|
{ |
202 |
|
|
xyz_lissee[0]=coord[0]; |
203 |
|
|
xyz_lissee[1]=coord[1]; |
204 |
|
|
xyz_lissee[2]=coord[2]; |
205 |
|
|
} |
206 |
|
|
|
207 |
|
|
TPL_MAP_ENTITE< OPT_NOEUD* > OPT_NOEUD::get_liste_noeud_voisin(void ) |
208 |
|
|
{ |
209 |
|
|
return lst_noeud_voisin; |
210 |
|
|
} |
211 |
|
|
|
212 |
|
|
void OPT_NOEUD::change_liste_noeud_voisin(TPL_MAP_ENTITE< OPT_NOEUD* > lst) |
213 |
|
|
{ |
214 |
|
|
lst_noeud_voisin=lst; |
215 |
|
|
} |
216 |
|
|
|
217 |
zeggar |
744 |
void OPT_NOEUD::change_liste_noeud_filtre(TPL_MAP_ENTITE< OPT_NOEUD* > lst) |
218 |
|
|
{ |
219 |
|
|
lst_noeud_filtre=lst; |
220 |
|
|
} |
221 |
|
|
|
222 |
|
|
TPL_MAP_ENTITE< OPT_NOEUD* > OPT_NOEUD::get_liste_noeud_filtre(void ) |
223 |
|
|
{ |
224 |
|
|
return lst_noeud_filtre; |
225 |
|
|
} |
226 |
|
|
|
227 |
gervaislavoie |
528 |
/*TPL_MAP_ENTITE< OPT_TRIANGLE* > OPT_NOEUD::get_liste_tri_voisin(void ) |
228 |
|
|
{ |
229 |
|
|
return lst_tri_voisin; |
230 |
|
|
} |
231 |
|
|
|
232 |
|
|
void OPT_NOEUD::change_liste_tri_voisin(TPL_MAP_ENTITE< OPT_TRIANGLE* > lst) |
233 |
|
|
{ |
234 |
|
|
lst_tri_voisin=lst; |
235 |
|
|
}*/ |
236 |
|
|
|
237 |
gervaislavoie |
332 |
unsigned long OPT_NOEUD::get_id(void) |
238 |
|
|
{ |
239 |
francois |
470 |
return fem_noeud->get_id(); |
240 |
gervaislavoie |
332 |
} |
241 |
|
|
|
242 |
|
|
double OPT_NOEUD::get_x(void) |
243 |
|
|
{ |
244 |
francois |
470 |
return fem_noeud->get_x(); |
245 |
gervaislavoie |
332 |
} |
246 |
|
|
|
247 |
|
|
double OPT_NOEUD::get_y(void) |
248 |
|
|
{ |
249 |
francois |
470 |
return fem_noeud->get_y(); |
250 |
gervaislavoie |
332 |
} |
251 |
|
|
|
252 |
|
|
double OPT_NOEUD::get_z(void) |
253 |
|
|
{ |
254 |
francois |
470 |
return fem_noeud->get_z(); |
255 |
gervaislavoie |
332 |
} |
256 |
|
|
|
257 |
gervaislavoie |
398 |
double OPT_NOEUD::get_x_initial(void) |
258 |
|
|
{ |
259 |
francois |
470 |
return xyz0[0]; |
260 |
gervaislavoie |
398 |
} |
261 |
|
|
|
262 |
|
|
double OPT_NOEUD::get_y_initial(void) |
263 |
|
|
{ |
264 |
francois |
470 |
return xyz0[1]; |
265 |
gervaislavoie |
398 |
} |
266 |
|
|
|
267 |
|
|
double OPT_NOEUD::get_z_initial(void) |
268 |
|
|
{ |
269 |
francois |
470 |
return xyz0[2]; |
270 |
gervaislavoie |
398 |
} |
271 |
|
|
|
272 |
gervaislavoie |
332 |
double* OPT_NOEUD::get_coord(void) |
273 |
|
|
{ |
274 |
francois |
470 |
return fem_noeud->get_coord(); |
275 |
gervaislavoie |
332 |
} |
276 |
|
|
|
277 |
francois |
470 |
double OPT_NOEUD::get_norme_orientee_deplacement(void) |
278 |
|
|
{ |
279 |
|
|
return norme_orientee_deplacement; |
280 |
|
|
} |
281 |
gervaislavoie |
332 |
|
282 |
francois |
470 |
void OPT_NOEUD::change_norme_orientee_deplacement(void) |
283 |
|
|
{ |
284 |
|
|
OT_VECTEUR_3D n=get_normale_initiale(); |
285 |
|
|
OT_VECTEUR_3D D(get_x()-get_x_initial(),get_y()-get_y_initial(),get_z()-get_z_initial()); |
286 |
|
|
|
287 |
|
|
int signe=1; |
288 |
|
|
double ps_D_n=D*n; |
289 |
|
|
if (ps_D_n<0) |
290 |
|
|
signe=-1; |
291 |
|
|
norme_orientee_deplacement=D.get_longueur()*signe; |
292 |
|
|
} |
293 |
|
|
|
294 |
gervaislavoie |
332 |
void OPT_NOEUD::change_normale(OT_VECTEUR_3D vec) |
295 |
|
|
{ |
296 |
|
|
normale=vec; |
297 |
|
|
} |
298 |
|
|
|
299 |
|
|
OT_VECTEUR_3D OPT_NOEUD::get_normale(void) |
300 |
|
|
{ |
301 |
|
|
return normale; |
302 |
|
|
} |
303 |
zeggar |
744 |
void OPT_NOEUD::change_normale2(OT_VECTEUR_3D vec) |
304 |
|
|
{ |
305 |
|
|
normale2=vec; |
306 |
|
|
} |
307 |
gervaislavoie |
332 |
|
308 |
zeggar |
744 |
OT_VECTEUR_3D OPT_NOEUD::get_normale2(void) |
309 |
|
|
{ |
310 |
|
|
return normale2; |
311 |
|
|
} |
312 |
|
|
|
313 |
gervaislavoie |
332 |
OT_VECTEUR_3D OPT_NOEUD::get_normale_initiale(void) |
314 |
|
|
{ |
315 |
gervaislavoie |
398 |
return normale_initiale; |
316 |
gervaislavoie |
332 |
} |
317 |
|
|
|
318 |
|
|
void OPT_NOEUD::change_normale_initiale(void) |
319 |
|
|
{ |
320 |
gervaislavoie |
398 |
normale_initiale=normale; |
321 |
gervaislavoie |
332 |
} |
322 |
|
|
|
323 |
|
|
void OPT_NOEUD::change_x(double xx) |
324 |
|
|
{ |
325 |
francois |
470 |
fem_noeud->change_x(xx); |
326 |
gervaislavoie |
332 |
} |
327 |
|
|
|
328 |
|
|
void OPT_NOEUD::change_y(double yy) |
329 |
|
|
{ |
330 |
francois |
470 |
fem_noeud->change_y(yy); |
331 |
gervaislavoie |
332 |
} |
332 |
|
|
|
333 |
|
|
void OPT_NOEUD::change_z(double zz) |
334 |
|
|
{ |
335 |
francois |
470 |
fem_noeud->change_z(zz); |
336 |
gervaislavoie |
332 |
} |
337 |
|
|
|
338 |
gervaislavoie |
398 |
void OPT_NOEUD::change_x_initial(double x_initial) |
339 |
|
|
{ |
340 |
francois |
470 |
xyz0[0]=x_initial; |
341 |
gervaislavoie |
398 |
} |
342 |
|
|
|
343 |
|
|
void OPT_NOEUD::change_y_initial(double y_initial) |
344 |
|
|
{ |
345 |
francois |
470 |
xyz0[1]=y_initial; |
346 |
gervaislavoie |
398 |
} |
347 |
|
|
|
348 |
|
|
void OPT_NOEUD::change_z_initial(double z_initial) |
349 |
|
|
{ |
350 |
francois |
470 |
xyz0[2]=z_initial; |
351 |
gervaislavoie |
398 |
} |
352 |
|
|
|
353 |
gervaislavoie |
332 |
void OPT_NOEUD::change_coord(double *coo) |
354 |
|
|
{ |
355 |
francois |
470 |
fem_noeud->change_coord(coo); |
356 |
gervaislavoie |
332 |
} |
357 |
|
|
|
358 |
francois |
470 |
void OPT_NOEUD::change_solution(double val) |
359 |
gervaislavoie |
332 |
{ |
360 |
francois |
470 |
fem_noeud->change_solution(val); |
361 |
gervaislavoie |
332 |
} |
362 |
|
|
|
363 |
|
|
double OPT_NOEUD::get_solution(void) |
364 |
|
|
{ |
365 |
francois |
470 |
fem_noeud->get_solution(); |
366 |
gervaislavoie |
332 |
} |