ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/optimisation/src/opt_triangle.h
Revision: 382
Committed: Wed Dec 19 22:18:06 2012 UTC (12 years, 8 months ago) by gervaislavoie
Content type: text/plain
File size: 3552 byte(s)
Log Message:
Methode du mouvement normale  et jacobien 3D dans fem_triangle3

File Contents

# Content
1 //------------------------------------------------------------
2 //------------------------------------------------------------
3 // MAGiC
4 // Jean Christophe Cuilli�re et Vincent FRANCOIS
5 // D�partement de G�nie M�canique - UQTR
6 //------------------------------------------------------------
7 // Le projet MAGIC est un projet de recherche du d�partement
8 // de g�nie m�canique de l'Universit� du Qu�bec �
9 // Trois Rivi�res
10 // Les librairies ne peuvent �tre utilis�es sans l'accord
11 // des auteurs (contact : francois@uqtr.ca)
12 //------------------------------------------------------------
13 //------------------------------------------------------------
14 //
15 // mg_triangle.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef _OPTTRIANGLE_
24 #define _OPTTRIANGLE_
25
26 #ifdef WINDOWS_VERSION
27 #ifdef BUILT_DLL_GEOMETRIE
28 #define DLLPORTGEOMETRIE __declspec(dllexport)
29 #else
30 #define DLLPORTGEOMETRIE __declspec(dllimport)
31 #endif
32 #else
33 #define DLLPORTGEOMETRIE
34 #endif
35
36
37 #include "mg_element_maillage.h"
38 #include "mg_segment.h"
39 #include "mg_noeud.h"
40 #include "ot_reference.h"
41 #include "ot_boite_2D.h"
42 #include "ot_boite_3D.h"
43 #include "mg_triangle.h"
44
45
46 class DLLPORTGEOMETRIE OPT_TRIANGLE
47 {
48 public:
49 OPT_TRIANGLE(MG_TRIANGLE* tri);
50 OPT_TRIANGLE(OPT_TRIANGLE& mdd);
51 virtual ~OPT_TRIANGLE();
52
53 virtual MG_NOEUD* get_noeud1(void);
54 virtual MG_NOEUD* get_noeud2(void);
55 virtual MG_NOEUD* get_noeud3(void);
56 virtual MG_SEGMENT* get_segment1(void);
57 virtual MG_SEGMENT* get_segment2(void);
58 virtual MG_SEGMENT* get_segment3(void);
59
60 virtual class BOITE_2D get_boite_2D(double periodeu,double periodev);
61 virtual class BOITE_3D get_boite_3D(void);
62 virtual int get_dimension(void);
63
64 virtual double get_longueur(void);
65 TPL_LISTE_ENTITE<class MG_TETRA*> *get_lien_tetra(void);
66
67 virtual unsigned long get_id(void);
68 virtual MG_ELEMENT_TOPOLOGIQUE* get_lien_topologie(void);
69 virtual void change_normale_unitaire(OT_VECTEUR_3D vec);
70 virtual double change_angle1_initial(double angle);
71 virtual double change_angle2_initial(double angle);
72 virtual double change_angle3_initial(double angle);
73 virtual double change_angle1(double angle);
74 virtual double change_angle2(double angle);
75 virtual double change_angle3(double angle);
76 virtual OT_VECTEUR_3D get_normale_unitaire(void);
77 virtual double get_angle1_initial(void);
78 virtual double get_angle2_initial(void);
79 virtual double get_angle3_initial(void);
80 virtual double get_angle1(void);
81 virtual double get_angle2(void);
82 virtual double get_angle3(void);
83
84
85 virtual int get_num(void);
86 virtual void change_num(int val);
87
88 virtual OPT_TRIANGLE* get_voisin1(void);
89 virtual OPT_TRIANGLE* get_voisin2(void);
90 virtual OPT_TRIANGLE* get_voisin3(void);
91 virtual void change_voisin1(OPT_TRIANGLE* tri);
92 virtual void change_voisin2(OPT_TRIANGLE* tri);
93 virtual void change_voisin3(OPT_TRIANGLE* tri);
94
95 protected:
96
97 class MG_TRIANGLE* triangle;
98 OT_VECTEUR_3D normale_unitaire;
99 int num;
100 double a1_init;
101 double a2_init;
102 double a3_init;
103 double a1;
104 double a2;
105 double a3;
106 OPT_TRIANGLE* voisin1;
107 OPT_TRIANGLE* voisin2;
108 OPT_TRIANGLE* voisin3;
109 };
110
111 #endif