| 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_volume.h |
| 15 |
|
|
//####// |
| 16 |
|
|
//####//------------------------------------------------------------ |
| 17 |
|
|
//####//------------------------------------------------------------ |
| 18 |
|
|
//####// COPYRIGHT 2000-2024 |
| 19 |
|
|
//####// jeu 13 jun 2024 11:58:53 EDT |
| 20 |
|
|
//####//------------------------------------------------------------ |
| 21 |
|
|
//####//------------------------------------------------------------ |
| 22 |
francois |
283 |
#ifndef __MGVOLUME_ |
| 23 |
|
|
#define __MGVOLUME_ |
| 24 |
|
|
|
| 25 |
|
|
|
| 26 |
|
|
|
| 27 |
|
|
|
| 28 |
francois |
1158 |
|
| 29 |
francois |
283 |
#include <vector> |
| 30 |
|
|
#include "mg_element_topologique.h" |
| 31 |
|
|
#include "mg_coquille.h" |
| 32 |
|
|
|
| 33 |
francois |
1158 |
class MG_VOLUME:public MG_ELEMENT_TOPOLOGIQUE |
| 34 |
francois |
283 |
{ |
| 35 |
|
|
public: |
| 36 |
|
|
MG_VOLUME(std::string idori,unsigned long num); |
| 37 |
|
|
MG_VOLUME(std::string idori); |
| 38 |
|
|
MG_VOLUME(MG_VOLUME& mdd); |
| 39 |
|
|
virtual ~MG_VOLUME(); |
| 40 |
|
|
|
| 41 |
|
|
virtual void ajouter_mg_coquille(class MG_COQUILLE* mgcoq); |
| 42 |
|
|
virtual void supprimer_mg_coquille(class MG_COQUILLE* mgcoq); |
| 43 |
|
|
virtual int get_nb_mg_coquille(void); |
| 44 |
|
|
virtual MG_COQUILLE* get_mg_coquille(int num); |
| 45 |
|
|
virtual VCT& get_vectorisation(void); |
| 46 |
francois |
1042 |
virtual void get_propriete_massique(class MG_MAILLAGE* mai,double &masse,double& volume,class OT_VECTEUR_3D& cdm,class OT_MATRICE_3D& inertieglobale,class OT_MATRICE_3D& inertiecdm,double dens=1.,int sens=1); |
| 47 |
francois |
283 |
|
| 48 |
|
|
virtual int get_dimension(void); |
| 49 |
couturad |
906 |
virtual int get_type(void); |
| 50 |
francois |
763 |
virtual void enregistrer(std::ostream& o,double version); |
| 51 |
francois |
283 |
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst); |
| 52 |
|
|
|
| 53 |
francois |
576 |
virtual void change_num_materiau(int num); |
| 54 |
|
|
virtual int get_num_materiau(void); |
| 55 |
francois |
1180 |
virtual bool est_une_topo_element(void); |
| 56 |
francois |
1095 |
virtual BOITE_3D get_boite_3D(void); |
| 57 |
francois |
881 |
|
| 58 |
|
|
virtual void ajouter_face_correspondante(MG_FACE* face1,MG_FACE* face2); |
| 59 |
|
|
virtual void get_face_correspondante(int num,MG_FACE** face1,MG_FACE** face2); |
| 60 |
|
|
virtual int get_nb_face_correspondante(void); |
| 61 |
|
|
virtual bool est_mince(void); |
| 62 |
francois |
876 |
|
| 63 |
francois |
881 |
|
| 64 |
francois |
876 |
protected: |
| 65 |
francois |
283 |
std::vector<MG_COQUILLE*> lst_coquille; |
| 66 |
|
|
int num_materiau; |
| 67 |
|
|
class VCT_VOLUME* vect; |
| 68 |
francois |
881 |
bool mince; |
| 69 |
|
|
std::vector<MG_FACE*> lst_base; |
| 70 |
|
|
std::vector<MG_FACE*> lst_extrude; |
| 71 |
|
|
|
| 72 |
francois |
283 |
}; |
| 73 |
|
|
|
| 74 |
|
|
|
| 75 |
|
|
|
| 76 |
|
|
#endif |
| 77 |
|
|
|
| 78 |
|
|
|