ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/ot_geometrie.h
Revision: 907
Committed: Mon Nov 13 22:45:44 2017 UTC (7 years, 6 months ago) by couturad
Content type: text/plain
File size: 7122 byte(s)
Log Message:
* Ajout d'une nouvelle fonction d'importation d'OpenCascade
* Ajout de d'une nouvelle commande d'importation de fichier brep d'OpenCascade dans mgoperation.exe
* Ajout de d'une nouvelle commande d'importation de fichier STEP via OpenCascade dans mgoperation.exe
* Ajout d'un nouveau module de construction géométrique
* Modification du mgscript pour l'utilisation du module de construction géométrique
* Ajout d'une fonction qui renvoie le type d'élément topologique
* Ajout d'une fonction qui renvoie le type d'élément cotopologique
* Ajout d'une fonction qui renvoie le type d'élément géométrique
* Ajout d'une classe statique d'outils pour en lien avec la librairie géométrie
* Modification du cas test pour mgscript

File Contents

# User Rev Content
1 couturad 907 //------------------------------------------------------------
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_element_geometrique.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25    
26     #ifndef _OT_GEOMETRIE_
27     #define _OT_GEOMETRIE_
28    
29     #ifdef WINDOWS_VERSION
30     #ifdef BUILT_DLL_GEOMETRIE
31     #define DLLPORTGEOMETRIE __declspec(dllexport)
32     #else
33     #define DLLPORTGEOMETRIE __declspec(dllimport)
34     #endif
35     #else
36     #define DLLPORTGEOMETRIE
37     #endif
38    
39     #include <vector>
40    
41     #include "mg_point.h"
42     #include "mg_sommet.h"
43     #include "mg_arete.h"
44     #include "mg_face.h"
45     #include "mg_volume.h"
46    
47     #ifdef ALL_OCC
48     #include "occ_point.h"
49     #include "occ_courbe.h"
50     #include "occ_surface.h"
51     #include "occ_sommet.h"
52     #include "occ_arete.h"
53     #include "occ_boucle.h"
54     #include "occ_face.h"
55     #include "occ_coquille.h"
56     #include "occ_volume.h"
57     //#include "occ_volume.h"
58     #endif
59    
60     class DLLPORTGEOMETRIE OT_GEOMETRIE
61     {
62     public:
63     OT_GEOMETRIE();
64     ~OT_GEOMETRIE();
65    
66     static int projection_orthogonale_sur_mg_arete(double *xyz,MG_ARETE* mgarete,double &t);
67     static int projection_orthogonale_sur_mg_face(double *xyz,MG_FACE* mgface,double* xyz2);
68     static int projection_au_plus_pres_sur_mg_face(double *xyz,MG_FACE* mgface,double* xyz2);
69     static void get_param_face(MG_FACE* mgface,double &umin,double &umax,double &vmin,double &vmax);
70    
71     static int get_distance_min_mg_volume_mg_volume(MG_VOLUME* mgvolume1,MG_VOLUME* mgvolume2,double &distance);
72     static int get_distance_min_mg_face_mg_volume(MG_FACE* mgface,MG_VOLUME* mgvolume,double &distance);
73    
74     static void get_map_mg_sommet_sous_jacent(MG_ELEMENT_TOPOLOGIQUE *mgeletopo,TPL_MAP_ENTITE<MG_SOMMET*> &map_sommet);
75     static void get_map_mg_arete_sous_jacent(MG_ELEMENT_TOPOLOGIQUE *mgeletopo,TPL_MAP_ENTITE<MG_ARETE*> &map_arete);
76     static void get_map_mg_face_sous_jacent(MG_ELEMENT_TOPOLOGIQUE *mgeletopo,TPL_MAP_ENTITE<MG_FACE*> &map_face);
77    
78     static void get_map_mg_point_sous_jacent(MG_ELEMENT_TOPOLOGIQUE *mgeletopo,TPL_MAP_ENTITE<MG_POINT*> &map_point);
79     static void get_map_mg_courbe_sous_jacent(MG_ELEMENT_TOPOLOGIQUE *mgeletopo,TPL_MAP_ENTITE<MG_COURBE*> &map_courbe);
80     static void get_map_mg_surface_sous_jacent(MG_ELEMENT_TOPOLOGIQUE *mgeletopo,TPL_MAP_ENTITE<MG_SURFACE*> &map_surface);
81    
82     static void get_map_mg_element_sous_jacent(MG_SOMMET* sommet,
83     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
84     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
85     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
86     static void get_map_mg_element_sous_jacent(MG_COSOMMET* cosommet,
87     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
88     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
89     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
90     static void get_map_mg_element_sous_jacent(MG_ARETE* arete,
91     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
92     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
93     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
94     static void get_map_mg_element_sous_jacent(MG_COARETE* coarete,
95     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
96     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
97     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
98     static void get_map_mg_element_sous_jacent(MG_BOUCLE* boucle,
99     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
100     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
101     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
102     static void get_map_mg_element_sous_jacent(MG_POUTRE* poutre,
103     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
104     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
105     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
106     static void get_map_mg_element_sous_jacent(MG_FACE* face,
107     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
108     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
109     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
110     static void get_map_mg_element_sous_jacent(MG_COFACE* coface,
111     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
112     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
113     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
114     static void get_map_mg_element_sous_jacent(MG_COQUILLE* coquille,
115     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
116     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
117     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
118     static void get_map_mg_element_sous_jacent(MG_VOLUME* volume,
119     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
120     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
121     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
122     static void get_map_mg_element_sous_jacent(MG_COQUE* coque,
123     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
124     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
125     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
126     static void get_map_mg_element_sous_jacent(MG_ELEMENT_TOPOLOGIQUE* mg_element_topologique,
127     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
128     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
129     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
130     static void get_map_mg_element_sous_jacent(MG_ELEMENT_COTOPOLOGIQUE* mg_element_cotopologique,
131     TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
132     TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
133     TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
134    
135    
136     private:
137     };
138    
139     #endif