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, 5 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

# User Rev Content
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 francois 470 #include "fem_noeud.h"
15 gervaislavoie 332
16    
17    
18     class DLLPORTGEOMETRIE OPT_NOEUD
19     {
20     public:
21 francois 470 OPT_NOEUD(FEM_NOEUD* noeud);
22 gervaislavoie 332 OPT_NOEUD(OPT_NOEUD& mdd);
23     virtual ~OPT_NOEUD();
24 francois 470
25     virtual FEM_NOEUD* get_fem_noeud(void);
26 gervaislavoie 332 virtual unsigned long get_id(void);
27 francois 470
28 gervaislavoie 332 virtual double get_x(void);
29     virtual double get_y(void);
30     virtual double get_z(void);
31 gervaislavoie 398 virtual double get_x_initial(void);
32     virtual double get_y_initial(void);
33     virtual double get_z_initial(void);
34 gervaislavoie 332 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 gervaislavoie 398 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 gervaislavoie 332 virtual void change_coord(double *coo);
43    
44 francois 470 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 gervaislavoie 332 virtual void change_normale(OT_VECTEUR_3D vec);
49 francois 470
50 gervaislavoie 332 virtual OT_VECTEUR_3D get_normale_initiale(void);
51     virtual void change_normale_initiale(void);
52 francois 470
53 gervaislavoie 332 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 gervaislavoie 398 virtual int get_variable(void);
60     virtual void change_variable(int var);
61    
62 francois 470 virtual int get_algo_grad(void);
63     virtual void change_algo_grad(int algo);
64    
65     virtual int get_num_global(void); //Enlever?
66 gervaislavoie 398 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 gervaislavoie 332
75     private:
76 francois 470 FEM_NOEUD* fem_noeud;
77     double xyz0[3];
78     double norme_orientee_deplacement;
79 gervaislavoie 332 OT_VECTEUR_3D normale;
80 gervaislavoie 398 OT_VECTEUR_3D normale_initiale;
81 gervaislavoie 332 int num;
82 francois 470 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 gervaislavoie 398 double terme_gradient_f; // Terme i du gradient de f où i correspond à la numérotation globale du noeud
86 gervaislavoie 332 };
87    
88     #endif