ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_volume.h
Revision: 906
Committed: Mon Nov 13 22:30:18 2017 UTC (7 years, 6 months ago) by couturad
Content type: text/plain
File size: 2880 byte(s)
Log Message:
Nouveau opencascade commit 1

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
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_volume.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23     #ifndef __MGVOLUME_
24     #define __MGVOLUME_
25    
26    
27     #ifdef WINDOWS_VERSION
28     #ifdef BUILT_DLL_GEOMETRIE
29     #define DLLPORTGEOMETRIE __declspec(dllexport)
30     #else
31     #define DLLPORTGEOMETRIE __declspec(dllimport)
32     #endif
33     #else
34     #define DLLPORTGEOMETRIE
35     #endif
36    
37    
38     #include <vector>
39     #include "mg_element_topologique.h"
40     #include "mg_coquille.h"
41    
42     class DLLPORTGEOMETRIE MG_VOLUME:public MG_ELEMENT_TOPOLOGIQUE
43     {
44     public:
45     MG_VOLUME(std::string idori,unsigned long num);
46     MG_VOLUME(std::string idori);
47     MG_VOLUME(MG_VOLUME& mdd);
48     virtual ~MG_VOLUME();
49    
50     virtual void ajouter_mg_coquille(class MG_COQUILLE* mgcoq);
51     virtual void supprimer_mg_coquille(class MG_COQUILLE* mgcoq);
52     virtual int get_nb_mg_coquille(void);
53     virtual MG_COQUILLE* get_mg_coquille(int num);
54     virtual VCT& get_vectorisation(void);
55     virtual void get_propriete_massique(class MG_MAILLAGE* mai,double& volume,class OT_VECTEUR_3D& cdm,class OT_MATRICE_3D& inertieglobale,class OT_MATRICE_3D& inertiecdm,double dens=1.);
56    
57     virtual int get_dimension(void);
58 couturad 906 virtual int get_type(void);
59 francois 763 virtual void enregistrer(std::ostream& o,double version);
60 francois 283 virtual void get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst);
61    
62 francois 576 virtual void change_num_materiau(int num);
63     virtual int get_num_materiau(void);
64     virtual bool est_un_volume_element(void);
65 francois 632 virtual BOITE_3D get_boite_3D(int pas_echantillon=20);
66 francois 881
67     virtual void ajouter_face_correspondante(MG_FACE* face1,MG_FACE* face2);
68     virtual void get_face_correspondante(int num,MG_FACE** face1,MG_FACE** face2);
69     virtual int get_nb_face_correspondante(void);
70     virtual bool est_mince(void);
71 francois 876
72 francois 881
73 francois 876 protected:
74 francois 283 std::vector<MG_COQUILLE*> lst_coquille;
75     int num_materiau;
76     class VCT_VOLUME* vect;
77 francois 881 bool mince;
78     std::vector<MG_FACE*> lst_base;
79     std::vector<MG_FACE*> lst_extrude;
80    
81 francois 283 };
82    
83    
84    
85     #endif
86    
87