1 |
gervaislavoie |
332 |
#ifndef _OPTNOEUD_ |
2 |
|
|
#define _OPTNOEUD_ |
3 |
|
|
|
4 |
|
|
#ifdef WINDOWS_VERSION |
5 |
|
|
#ifdef BUILT_DLL_GEOMETRIE |
6 |
|
|
#define DLLPORTGEOMETRIE __declspec(dllexport) |
7 |
|
|
#else |
8 |
|
|
#define DLLPORTGEOMETRIE __declspec(dllimport) |
9 |
|
|
#endif |
10 |
|
|
#else |
11 |
|
|
#define DLLPORTGEOMETRIE |
12 |
|
|
#endif |
13 |
|
|
|
14 |
|
|
#include "mg_noeud.h" |
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
class DLLPORTGEOMETRIE OPT_NOEUD |
19 |
|
|
{ |
20 |
|
|
public: |
21 |
|
|
OPT_NOEUD(MG_NOEUD* nd); |
22 |
|
|
OPT_NOEUD(OPT_NOEUD& mdd); |
23 |
|
|
virtual ~OPT_NOEUD(); |
24 |
|
|
|
25 |
|
|
virtual unsigned long get_id(void); |
26 |
|
|
virtual class MG_ELEMENT_TOPOLOGIQUE* get_lien_topologie(void); |
27 |
|
|
virtual double get_x(void); |
28 |
|
|
virtual double get_y(void); |
29 |
|
|
virtual double get_z(void); |
30 |
gervaislavoie |
398 |
virtual double get_x_initial(void); |
31 |
|
|
virtual double get_y_initial(void); |
32 |
|
|
virtual double get_z_initial(void); |
33 |
gervaislavoie |
332 |
virtual double* get_coord(void); |
34 |
|
|
|
35 |
|
|
virtual void change_x(double xx); |
36 |
|
|
virtual void change_y(double yy); |
37 |
|
|
virtual void change_z(double zz); |
38 |
gervaislavoie |
398 |
virtual void change_x_initial(double x_initial); |
39 |
|
|
virtual void change_y_initial(double y_initial); |
40 |
|
|
virtual void change_z_initial(double z_initial); |
41 |
gervaislavoie |
332 |
virtual void change_coord(double *coo); |
42 |
|
|
|
43 |
|
|
virtual void change_normale(OT_VECTEUR_3D vec); |
44 |
|
|
virtual OT_VECTEUR_3D get_normale(void); |
45 |
|
|
virtual OT_VECTEUR_3D get_normale_initiale(void); |
46 |
|
|
virtual void change_normale_initiale(void); |
47 |
|
|
virtual void change_solution(double val); |
48 |
|
|
virtual double get_solution(void); |
49 |
|
|
|
50 |
|
|
virtual int get_dimension(void); |
51 |
|
|
|
52 |
|
|
virtual int get_num(void); |
53 |
|
|
virtual void change_num(int val); |
54 |
|
|
|
55 |
gervaislavoie |
398 |
virtual int get_variable(void); |
56 |
|
|
virtual void change_variable(int var); |
57 |
|
|
|
58 |
|
|
virtual int get_num_global(void); |
59 |
|
|
virtual void change_num_global(int num); |
60 |
|
|
|
61 |
|
|
//virtual double get_norme_orientee_deplacement(void); |
62 |
|
|
//virtual void change_norme_orientee_deplacement(double norme); |
63 |
|
|
|
64 |
|
|
virtual double get_terme_gradient_f(void); |
65 |
|
|
virtual void change_terme_gradient_f(double valeur); |
66 |
|
|
|
67 |
gervaislavoie |
332 |
virtual class BOITE_2D get_boite_2D(double periodeu,double periodev); |
68 |
|
|
virtual class BOITE_3D get_boite_3D(void); |
69 |
|
|
|
70 |
|
|
virtual void change_u(double uu); |
71 |
|
|
virtual void change_v(double vv); |
72 |
|
|
virtual double get_u(void); |
73 |
|
|
virtual double get_v(void); |
74 |
|
|
|
75 |
|
|
TPL_LISTE_ENTITE<class MG_SEGMENT*> *get_lien_segment(void); |
76 |
|
|
TPL_LISTE_ENTITE<class MG_SEGMENT*> *get_lien_petit_segment(void); |
77 |
|
|
|
78 |
|
|
TPL_LISTE_ENTITE<class MG_TRIANGLE*> *get_lien_triangle(void); |
79 |
|
|
TPL_LISTE_ENTITE<class MG_TRIANGLE*> *get_lien_petit_triangle(void); |
80 |
|
|
|
81 |
|
|
|
82 |
|
|
TPL_LISTE_ENTITE<class MG_QUADRANGLE*> *get_lien_quadrangle(void); |
83 |
|
|
TPL_LISTE_ENTITE<class MG_QUADRANGLE*> *get_lien_petit_quadrangle(void); |
84 |
|
|
|
85 |
|
|
TPL_LISTE_ENTITE<class MG_TETRA*> *get_lien_tetra(void); |
86 |
|
|
TPL_LISTE_ENTITE<class MG_TETRA*> *get_lien_petit_tetra(void); |
87 |
|
|
|
88 |
|
|
|
89 |
|
|
TPL_LISTE_ENTITE<class MG_HEXA*> *get_lien_hexa(void); |
90 |
|
|
TPL_LISTE_ENTITE<class MG_HEXA*> *get_lien_petit_hexa(void); |
91 |
|
|
|
92 |
|
|
|
93 |
|
|
private: |
94 |
|
|
MG_NOEUD *noeud; |
95 |
gervaislavoie |
398 |
double x0; |
96 |
|
|
double y0; |
97 |
|
|
double z0; |
98 |
gervaislavoie |
332 |
OT_VECTEUR_3D normale; |
99 |
gervaislavoie |
398 |
OT_VECTEUR_3D normale_initiale; |
100 |
gervaislavoie |
332 |
int num; |
101 |
gervaislavoie |
398 |
int variable; // Si variable==1, le déplacement à ce noeud est inconnu |
102 |
|
|
int num_global; // Numérotation globale du noeud pour l'écriture de la fonction f |
103 |
|
|
double terme_gradient_f; // Terme i du gradient de f où i correspond à la numérotation globale du noeud |
104 |
gervaislavoie |
332 |
}; |
105 |
|
|
|
106 |
|
|
#endif |