ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_definition.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 2 weeks ago) by francois
Content type: text/plain
File size: 5286 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
2     //####//------------------------------------------------------------
3     //####// MAGiC
4     //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5     //####// Departement de Genie Mecanique - UQTR
6     //####//------------------------------------------------------------
7     //####// MAGIC est un projet de recherche de l equipe ERICCA
8     //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9     //####// http://www.uqtr.ca/ericca
10     //####// http://www.uqtr.ca/
11     //####//------------------------------------------------------------
12     //####//------------------------------------------------------------
13     //####//
14     //####// mg_definition.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:53 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283 #ifndef __MAGIC_
23     #define __MAGIC_
24    
25    
26    
27    
28     #ifdef BORLANDCPP
29     #include <set.h>
30     #else
31     #include <set>
32    
33     #endif
34    
35     #include <functional>
36    
37     const int MEME_SENS=1;
38     const int SENS_CONTRAIRE=-1;
39    
40     const int OK=1;
41     const int FAIL=0;
42    
43 francois 375
44     const int MAX_TYPE_SOLUTION=9;
45 francois 410 const int MAX_ETAT=2;
46 francois 375
47 francois 283 template <class T>
48     struct inf : std::binary_function<T, T, bool> {
49     bool operator() ( const T& x, const T& y) const {
50     return x->get_id() < y->get_id();
51     }
52     };
53    
54 francois 791 /*#define MAILLEUR_AUTO 1000
55     #define TRIANGULATION 1010
56     #define IMPOSE 1020
57     #define DUPLIQUER 1030
58     #define MODIFICATION 1040
59     #define OPTIMISE 1050
60     #define DEFORME 1060
61     #define GMSH 1070
62     #define SQUELETTE 1080*/
63 francois 283
64 francois 791
65 francois 375 namespace MAGIC
66     {
67 francois 1150
68     class TYPE_ENTITE
69     {
70     public:
71     enum mgelement {IDMG_NOEUD=100,IDM3D_NOEUD=110,IDMG_SEGMENT=200,IDMG_TRIANGLE=300,IDMG_QUADRANGLE=360,IDMG_TETRA=400,IDMG_HEXA=460,IDMG_PENTA=470,IDMG_PYRAMIDE=480,IDM3D_TRIANGLE=310,IDM3D_TETRA=410};
72     enum femelement {IDFEM_NOEUD=1000,IDFEM_MINISEGMENT2=11102,IDFEM_SEGMENT2=1102,IDFEM_SEGMENT3=1103,IDFEM_TRIANGLE3=1203,IDFEM_TRIANGLE6=1206,IDFEM_QUADRANGLE4=1204,IDFEM_QUADRANGLE8=1208,IDFEM_TETRA4=1304,IDFEM_TETRA10=1310,IDFEM_HEXA8=1308,IDFEM_HEXA20=1320,IDFEM_PENTA6=1356,IDFEM_PENTA15=1365
73     };
74    
75    
76    
77     };
78    
79    
80 francois 791 class ORIGINE
81     {
82     public:
83 francois 902 enum origine {MAILLEUR_AUTO=1000,TRIANGULATION=1010,IMPOSE=1020,DUPLIQUER=1030,MODIFICATION=1040,OPTIMISE=1050,DEFORME=1060,GMSH=1070,SQUELETTE=1080,TRIANGULATION_ARETE=1090,TRIANGULATION_ARETEORIGINE=1091,DISCONTINUITE=1100,DISCONTINUITE2=1110,SECTION=1120};
84 francois 791 };
85    
86    
87 francois 375 class ENTITE_SOLUTION
88     {
89     public:
90 francois 767 enum entite_solution {ENTITE_NOEUD=1,ENTITE_ELEMENT1, ENTITE_ELEMENT2,ENTITE_ELEMENT3,ENTITE_ELEMENT1_NOEUD,ENTITE_ELEMENT2_NOEUD, ENTITE_ELEMENT3_NOEUD,ENTITE_ELEMENT1_GAUSS,ENTITE_ELEMENT2_GAUSS, ENTITE_ELEMENT3_GAUSS,ENTITE_ELEMENTND, ENTITE_ELEMENTND_NOEUD};
91 francois 375
92     };
93 francois 283
94 francois 375 class TYPE_SOLUTION
95     {
96     public:
97     enum type_solution {SCALAIRE=1,VECTEUR=3, TENSEUR_SYM=6 ,TENSEUR=9};
98    
99     };
100 francois 551
101 francois 1149
102    
103    
104    
105     class MAILLEURFRONTALETAT
106     {
107     public:
108 francois 1150
109    
110     enum m2detat {CAS_FRONT_3=1,CAS_FRONT_4=2,CAS_FERME_CAVITE_P=3,CAS_FERME_CAVITE_S=4,CAS_FERME_CAVITE=5,CAS_GENERAL=6,PASTROUVE=10,TROUVE=11,TOUS_SEGMENT=20,TOUS_FRONT=21,RIEN=22,NOEUD_CREE=30,FRONT_RENCONTRE=31,ERREUR=32};
111    
112    
113     enum m3detat {DETRUIT=345,ACTIF=346,INACTIF=347,FRONT_NONACTIF=507,FRONT_ACTIF=508,FRONT_PASSE=509,FRONT_A_INVERSE=510,FRONT_PAS_A_INVERSE=511};
114    
115     enum m3dcas {ADJACENT3=0,ADJACENT2=1,ADJACENT1=2,LIE3=3,LIE2=4,LIE1=5,GENERAL=6,AUTRECAS=7,ADJACENT=8,LIE=9,DESTRUCTION=-15,PASTRAITE=-20,TRAITE=-15,AUTRECASATRAITER=-25};
116    
117    
118     enum m3dprogression {NONFORCE=159,ATTENTE=160,PRIORITAIRE=160,GENERATION_NOEUD=505,NOEUD_EXISTANT=506,FACE_EXISTANTE=506,EXISTE=700,MULTIEXISTE=701,CREATION=702,FRONTAL=1000,OCTAL=1001,TOUTDETRUIRE=2000,LIMITEDETRUIRE=2001};
119    
120 francois 1149 };
121    
122    
123 francois 551 class VERSION_CARTE_TAILLE
124     {
125     public:
126     enum version_carte_taille {ANCIENNE=0,NOUVELLE=1};
127 francois 581 };
128    
129 francois 876 class OPERATION_FEM_SOLUTION
130     {
131     public:
132 francois 902 enum operateur {ADDITION=0,SOUSTRACTION=1,MULTIPLICATION=2,DIVISION=3,VALEUR_ABSOLUE=50,COMPARAISON=51,COMPARAISON_RELATIVE=52,GRAD=53,EXTRAPOLATION=54,NORMESUP=55};
133 francois 876 };
134 francois 581
135     class CALCUL_ASTER
136     {
137     public:
138 couturad 719 enum typecalcul {ELASTIQUE=0,
139 francois 721 PLASTIQUE=1,
140 couturad 719 OPTIMISATIONTOPOLOGIQUE=2,
141     THERMIQUE=3,
142     CONTRAINTE_PLANE=4,
143     DEFORMATION_PLANE=5,
144 francois 786 RIGIDITE=6,
145     RIGIDITE_CONTRAINTE_PLANE=7,
146     RIGIDITE_DEFORMATION_PLANE=8,
147 couturad 719 ELASTIQUE_3D=100,
148     ELASTIQUE_PLAQUE=101,
149     ELASTIQUE_COQUE=102,
150     THERMIQUE_3D=200,
151     ELASTIQUE_GROT_GDEF=103,
152 francois 721 PLASTIQUE_BILINEAIRE=104,
153 sattarpa 849 PLASTIQUE_BILINEAIRE_PLAQUE=1044,
154     PLASTIQUE_BILINEAIRE_COQUE=1045,
155 francois 767 PLASTIQUE_COURBE=105,
156 francois 786 ELASTIQUE_MIXTE_1D3D=106,
157     RIGIDITE_3D=107,
158     RIGIDITE_PLAQUE=108,
159     RIGIDITE_COQUE=109,
160 francois 787 RIGIDITE_MIXTE_1D3D=110,
161     ELASTIQUE_GROT_GDEF_3D=111,
162     ELASTIQUE_GROT_GDEF_PLAQUE=112,
163 mejri 888 ELASTIQUE_GROT_GDEF_COQUE=113,
164 mejri 932 ELASTIQUE_NON_LINEAIRE_3D=114,
165     ELASTIQUE_NON_LINEAIRE_3D_FATIGUE=115
166 francois 721 };
167 francois 375 };
168 francois 635
169    
170     class PROJECTION
171     {
172     public:
173     enum RESULTAT {SUCCES=0,TYPE_SOLUTION_INCORRECT=1,DIMENSION_MAILLAGE_INCOMPATIBLE=2,NON_IMPLEMENTER=3};
174     };
175 francois 686
176    
177    
178     class SEMANTIQUECSG
179     {
180     public:
181 couturad 951 enum semantiquecsg {SANS=100,UNION,SOUSTRACTION,INTERSECTION,FRAGMENT,ROTATION,ECHELLE,PERCAGE,CONGE,CHAMFREIN,EXTRUSION,DECALLAGE,ERREUR=1000};
182 francois 551 };
183 francois 686
184    
185     };
186 francois 283 #endif
187    
188