ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/optimisation/src/opt_noeud.h
Revision: 470
Committed: Fri Dec 6 22:32:32 2013 UTC (11 years, 8 months ago) by francois
Content type: text/plain
File size: 2624 byte(s)
Log Message:
MAGIC V4 pour l'optimisation de mouvement normal

File Contents

# Content
1 #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 "fem_noeud.h"
15
16
17
18 class DLLPORTGEOMETRIE OPT_NOEUD
19 {
20 public:
21 OPT_NOEUD(FEM_NOEUD* noeud);
22 OPT_NOEUD(OPT_NOEUD& mdd);
23 virtual ~OPT_NOEUD();
24
25 virtual FEM_NOEUD* get_fem_noeud(void);
26 virtual unsigned long get_id(void);
27
28 virtual double get_x(void);
29 virtual double get_y(void);
30 virtual double get_z(void);
31 virtual double get_x_initial(void);
32 virtual double get_y_initial(void);
33 virtual double get_z_initial(void);
34 virtual double* get_coord(void);
35
36 virtual void change_x(double xx);
37 virtual void change_y(double yy);
38 virtual void change_z(double zz);
39 virtual void change_x_initial(double x_initial);
40 virtual void change_y_initial(double y_initial);
41 virtual void change_z_initial(double z_initial);
42 virtual void change_coord(double *coo);
43
44 virtual double get_norme_orientee_deplacement(void);
45 virtual void change_norme_orientee_deplacement(void);
46
47 virtual OT_VECTEUR_3D get_normale(void);
48 virtual void change_normale(OT_VECTEUR_3D vec);
49
50 virtual OT_VECTEUR_3D get_normale_initiale(void);
51 virtual void change_normale_initiale(void);
52
53 virtual void change_solution(double val);
54 virtual double get_solution(void);
55
56 virtual int get_num(void);
57 virtual void change_num(int val);
58
59 virtual int get_variable(void);
60 virtual void change_variable(int var);
61
62 virtual int get_algo_grad(void);
63 virtual void change_algo_grad(int algo);
64
65 virtual int get_num_global(void); //Enlever?
66 virtual void change_num_global(int num);
67
68 //virtual double get_norme_orientee_deplacement(void);
69 //virtual void change_norme_orientee_deplacement(double norme);
70
71 virtual double get_terme_gradient_f(void);
72 virtual void change_terme_gradient_f(double valeur);
73
74
75 private:
76 FEM_NOEUD* fem_noeud;
77 double xyz0[3];
78 double norme_orientee_deplacement;
79 OT_VECTEUR_3D normale;
80 OT_VECTEUR_3D normale_initiale;
81 int num;
82 int variable; // Si variable==1, le déplacement à ce noeud est inconnu
83 int algo_grad; // Si algo_grad, le noeud a été replacé par l'algorithme du gradient
84 int num_global; // Numérotation globale du noeud pour l'écriture de la fonction f
85 double terme_gradient_f; // Terme i du gradient de f où i correspond à la numérotation globale du noeud
86 };
87
88 #endif