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 |
|
|
|
186 |
|
|
double* OPT_NOEUD::get_coord_lissee(void) |
187 |
|
|
{ |
188 |
|
|
return xyz_lissee; |
189 |
|
|
} |
190 |
|
|
|
191 |
|
|
void OPT_NOEUD::change_coord_lissee(double* coord) |
192 |
|
|
{ |
193 |
|
|
xyz_lissee[0]=coord[0]; |
194 |
|
|
xyz_lissee[1]=coord[1]; |
195 |
|
|
xyz_lissee[2]=coord[2]; |
196 |
|
|
} |
197 |
|
|
|
198 |
|
|
TPL_MAP_ENTITE< OPT_NOEUD* > OPT_NOEUD::get_liste_noeud_voisin(void ) |
199 |
|
|
{ |
200 |
|
|
return lst_noeud_voisin; |
201 |
|
|
} |
202 |
|
|
|
203 |
|
|
void OPT_NOEUD::change_liste_noeud_voisin(TPL_MAP_ENTITE< OPT_NOEUD* > lst) |
204 |
|
|
{ |
205 |
|
|
lst_noeud_voisin=lst; |
206 |
|
|
} |
207 |
|
|
|
208 |
|
|
/*TPL_MAP_ENTITE< OPT_TRIANGLE* > OPT_NOEUD::get_liste_tri_voisin(void ) |
209 |
|
|
{ |
210 |
|
|
return lst_tri_voisin; |
211 |
|
|
} |
212 |
|
|
|
213 |
|
|
void OPT_NOEUD::change_liste_tri_voisin(TPL_MAP_ENTITE< OPT_TRIANGLE* > lst) |
214 |
|
|
{ |
215 |
|
|
lst_tri_voisin=lst; |
216 |
|
|
}*/ |
217 |
|
|
|
218 |
gervaislavoie |
332 |
unsigned long OPT_NOEUD::get_id(void) |
219 |
|
|
{ |
220 |
francois |
470 |
return fem_noeud->get_id(); |
221 |
gervaislavoie |
332 |
} |
222 |
|
|
|
223 |
|
|
double OPT_NOEUD::get_x(void) |
224 |
|
|
{ |
225 |
francois |
470 |
return fem_noeud->get_x(); |
226 |
gervaislavoie |
332 |
} |
227 |
|
|
|
228 |
|
|
double OPT_NOEUD::get_y(void) |
229 |
|
|
{ |
230 |
francois |
470 |
return fem_noeud->get_y(); |
231 |
gervaislavoie |
332 |
} |
232 |
|
|
|
233 |
|
|
double OPT_NOEUD::get_z(void) |
234 |
|
|
{ |
235 |
francois |
470 |
return fem_noeud->get_z(); |
236 |
gervaislavoie |
332 |
} |
237 |
|
|
|
238 |
gervaislavoie |
398 |
double OPT_NOEUD::get_x_initial(void) |
239 |
|
|
{ |
240 |
francois |
470 |
return xyz0[0]; |
241 |
gervaislavoie |
398 |
} |
242 |
|
|
|
243 |
|
|
double OPT_NOEUD::get_y_initial(void) |
244 |
|
|
{ |
245 |
francois |
470 |
return xyz0[1]; |
246 |
gervaislavoie |
398 |
} |
247 |
|
|
|
248 |
|
|
double OPT_NOEUD::get_z_initial(void) |
249 |
|
|
{ |
250 |
francois |
470 |
return xyz0[2]; |
251 |
gervaislavoie |
398 |
} |
252 |
|
|
|
253 |
gervaislavoie |
332 |
double* OPT_NOEUD::get_coord(void) |
254 |
|
|
{ |
255 |
francois |
470 |
return fem_noeud->get_coord(); |
256 |
gervaislavoie |
332 |
} |
257 |
|
|
|
258 |
francois |
470 |
double OPT_NOEUD::get_norme_orientee_deplacement(void) |
259 |
|
|
{ |
260 |
|
|
return norme_orientee_deplacement; |
261 |
|
|
} |
262 |
gervaislavoie |
332 |
|
263 |
francois |
470 |
void OPT_NOEUD::change_norme_orientee_deplacement(void) |
264 |
|
|
{ |
265 |
|
|
OT_VECTEUR_3D n=get_normale_initiale(); |
266 |
|
|
OT_VECTEUR_3D D(get_x()-get_x_initial(),get_y()-get_y_initial(),get_z()-get_z_initial()); |
267 |
|
|
|
268 |
|
|
int signe=1; |
269 |
|
|
double ps_D_n=D*n; |
270 |
|
|
if (ps_D_n<0) |
271 |
|
|
signe=-1; |
272 |
|
|
norme_orientee_deplacement=D.get_longueur()*signe; |
273 |
|
|
} |
274 |
|
|
|
275 |
gervaislavoie |
332 |
void OPT_NOEUD::change_normale(OT_VECTEUR_3D vec) |
276 |
|
|
{ |
277 |
|
|
normale=vec; |
278 |
|
|
} |
279 |
|
|
|
280 |
|
|
OT_VECTEUR_3D OPT_NOEUD::get_normale(void) |
281 |
|
|
{ |
282 |
|
|
return normale; |
283 |
|
|
} |
284 |
|
|
|
285 |
|
|
OT_VECTEUR_3D OPT_NOEUD::get_normale_initiale(void) |
286 |
|
|
{ |
287 |
gervaislavoie |
398 |
return normale_initiale; |
288 |
gervaislavoie |
332 |
} |
289 |
|
|
|
290 |
|
|
void OPT_NOEUD::change_normale_initiale(void) |
291 |
|
|
{ |
292 |
gervaislavoie |
398 |
normale_initiale=normale; |
293 |
gervaislavoie |
332 |
} |
294 |
|
|
|
295 |
|
|
void OPT_NOEUD::change_x(double xx) |
296 |
|
|
{ |
297 |
francois |
470 |
fem_noeud->change_x(xx); |
298 |
gervaislavoie |
332 |
} |
299 |
|
|
|
300 |
|
|
void OPT_NOEUD::change_y(double yy) |
301 |
|
|
{ |
302 |
francois |
470 |
fem_noeud->change_y(yy); |
303 |
gervaislavoie |
332 |
} |
304 |
|
|
|
305 |
|
|
void OPT_NOEUD::change_z(double zz) |
306 |
|
|
{ |
307 |
francois |
470 |
fem_noeud->change_z(zz); |
308 |
gervaislavoie |
332 |
} |
309 |
|
|
|
310 |
gervaislavoie |
398 |
void OPT_NOEUD::change_x_initial(double x_initial) |
311 |
|
|
{ |
312 |
francois |
470 |
xyz0[0]=x_initial; |
313 |
gervaislavoie |
398 |
} |
314 |
|
|
|
315 |
|
|
void OPT_NOEUD::change_y_initial(double y_initial) |
316 |
|
|
{ |
317 |
francois |
470 |
xyz0[1]=y_initial; |
318 |
gervaislavoie |
398 |
} |
319 |
|
|
|
320 |
|
|
void OPT_NOEUD::change_z_initial(double z_initial) |
321 |
|
|
{ |
322 |
francois |
470 |
xyz0[2]=z_initial; |
323 |
gervaislavoie |
398 |
} |
324 |
|
|
|
325 |
gervaislavoie |
332 |
void OPT_NOEUD::change_coord(double *coo) |
326 |
|
|
{ |
327 |
francois |
470 |
fem_noeud->change_coord(coo); |
328 |
gervaislavoie |
332 |
} |
329 |
|
|
|
330 |
francois |
470 |
void OPT_NOEUD::change_solution(double val) |
331 |
gervaislavoie |
332 |
{ |
332 |
francois |
470 |
fem_noeud->change_solution(val); |
333 |
gervaislavoie |
332 |
} |
334 |
|
|
|
335 |
|
|
double OPT_NOEUD::get_solution(void) |
336 |
|
|
{ |
337 |
francois |
470 |
fem_noeud->get_solution(); |
338 |
gervaislavoie |
332 |
} |