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