MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme_multi_volume.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
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_cg_forme_multi_volume.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:53 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MG_CG_FORME_MULTI_VOLUME_
23 #define _MG_CG_FORME_MULTI_VOLUME_
24 
25 
26 
27 #include <vector>
28 #include <map>
29 
30 #include "mg_cg_forme.h"
31 
32 class MG_CG_FORME;
33 class MG_VOLUME;
34 
36 {
37 public:
38 
39  MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance);
40  MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance,int etat, unsigned long num);
41  MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance,std::vector<MG_VOLUME*> &vector_mg_volume);
42  MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance,int etat, unsigned long num,std::vector<MG_VOLUME*> &vector_mg_volume);
43 
45  virtual ~MG_CG_FORME_MULTI_VOLUME();
46 
47  virtual long get_nb_mg_volume(void);
48  virtual int ajouter_mg_volume(MG_VOLUME* mg_volume);
49  virtual MG_VOLUME* get_premier_mg_volume(std::map<long,MG_VOLUME*>::iterator &it);
50  virtual MG_VOLUME* get_suivant_mg_volume(std::map<long,MG_VOLUME*>::iterator &it);
51  virtual int retirer_mg_volume(MG_VOLUME* mg_volume);
52  virtual void retirer_tout_mg_volume(void);
53 
54  virtual void get_mg_element(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
55  TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
56  TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
57 
58  virtual BOITE_3D get_boite_3D(void);
59 
60  virtual int get_type_forme(void);
61  virtual void enregistrer(std::ostream& o,double version);
62  virtual int construire(void);
63  virtual int construire(bool fusionner_entite_similaire,
64  double precision,
65  bool importer_triangulation,
66  double epsilon_triangulation);
67 protected:
68  std::map<long,MG_VOLUME*> m_map_mg_volume;
69 };
70 
71 
72 #endif
virtual int ajouter_mg_volume(MG_VOLUME *mg_volume)
std::map< long, MG_VOLUME * > m_map_mg_volume
virtual void retirer_tout_mg_volume(void)
virtual void enregistrer(std::ostream &o, double version)
MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE *mgcg_modele, int provenance)
MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE *mgcg_modele, int provenance, int etat, unsigned long num, std::vector< MG_VOLUME * > &vector_mg_volume)
virtual MG_VOLUME * get_premier_mg_volume(std::map< long, MG_VOLUME * >::iterator &it)
virtual void get_mg_element(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *map_mg_element_topologique, TPL_MAP_ENTITE< MG_ELEMENT_COTOPOLOGIQUE * > *map_mg_element_cotopologique, TPL_MAP_ENTITE< MG_ELEMENT_GEOMETRIQUE * > *map_mg_element_geometrique)
virtual MG_VOLUME * get_suivant_mg_volume(std::map< long, MG_VOLUME * >::iterator &it)
MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE *mgcg_modele, int provenance, int etat, unsigned long num)
virtual BOITE_3D get_boite_3D(void)
virtual int retirer_mg_volume(MG_VOLUME *mg_volume)