MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme_multiple.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_multiple.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:55 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MG_CG_FORME_MULTIPLE_
23 #define _MG_CG_FORME_MULTIPLE_
24 
25 
26 
27 #include <vector>
28 #include <map>
29 
30 #include "mg_cg_forme.h"
31 
32 class MG_GEOMETRIE;
33 class MG_CG_MODELE;
34 class MG_CG_FORME;
38 
40 {
41 public:
42 
43  MG_CG_FORME_MULTIPLE(MG_CG_MODELE* mgcg_modele,int provenance);
44  MG_CG_FORME_MULTIPLE(MG_CG_MODELE* mgcg_modele,int provenance,int etat,unsigned long num);
45  MG_CG_FORME_MULTIPLE(MG_CG_MODELE* mgcg_modele,int provenance,
46  std::vector<MG_ELEMENT_TOPOLOGIQUE*> &vector_mg_element_topologique,
47  std::vector<MG_ELEMENT_COTOPOLOGIQUE*> &vector_mg_element_cotopologique);
48  MG_CG_FORME_MULTIPLE(MG_CG_MODELE* mgcg_modele,int provenance,int etat,unsigned long num,
49  std::vector<MG_ELEMENT_TOPOLOGIQUE*> &vector_mg_element_topologique,
50  std::vector<MG_ELEMENT_COTOPOLOGIQUE*> &vector_mg_element_cotopologique);
51 
53  virtual ~MG_CG_FORME_MULTIPLE();
54 
55  virtual long get_nb_mg_element_topologique(void);
56  virtual int ajouter_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE* mg_element_topologique);
57  virtual MG_ELEMENT_TOPOLOGIQUE* get_premier_mg_element_topologique(std::map<long,MG_ELEMENT_TOPOLOGIQUE*>::iterator &it);
58  virtual MG_ELEMENT_TOPOLOGIQUE* get_suivant_mg_element_topologique(std::map<long,MG_ELEMENT_TOPOLOGIQUE*>::iterator &it);
59  virtual int retirer_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE* mg_element_topologique);
60  virtual void retirer_tout_mg_element_topologique(void);
61 
62  virtual long get_nb_mg_element_cotopologique(void);
63  virtual int ajouter_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE* mg_element_cotopologique);
64  virtual MG_ELEMENT_COTOPOLOGIQUE* get_premier_mg_element_cotopologique(std::map<long,MG_ELEMENT_COTOPOLOGIQUE*>::iterator &it);
65  virtual MG_ELEMENT_COTOPOLOGIQUE* get_suivant_mg_element_cotopologique(std::map<long,MG_ELEMENT_COTOPOLOGIQUE*>::iterator &it);
66  virtual int retirer_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE* mg_element_cotopologique);
67  virtual void retirer_tout_mg_element_cotopologique(void);
68 
69  virtual void get_mg_element(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
70  TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
71  TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique);
72 
73  virtual BOITE_3D get_boite_3D(void);
74 
75  virtual int get_type_forme(void);
76  virtual void enregistrer(std::ostream& o,double version);
77  virtual int construire(void);
78  virtual int construire(bool fusionner_entite_similaire,
79  double precision,
80  bool importer_triangulation,
81  double epsilon_triangulation);
82 protected:
83  std::map<long,MG_ELEMENT_TOPOLOGIQUE*> m_map_mg_element_topologique;
84  std::map<long,MG_ELEMENT_COTOPOLOGIQUE*> m_map_mg_element_cotopologique;
85 };
86 
87 
88 #endif
MG_CG_FORME_MULTIPLE(MG_CG_MODELE *mgcg_modele, int provenance, int etat, unsigned long num, std::vector< MG_ELEMENT_TOPOLOGIQUE * > &vector_mg_element_topologique, std::vector< MG_ELEMENT_COTOPOLOGIQUE * > &vector_mg_element_cotopologique)
virtual int retirer_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE *mg_element_topologique)
virtual BOITE_3D get_boite_3D(void)
virtual MG_ELEMENT_COTOPOLOGIQUE * get_premier_mg_element_cotopologique(std::map< long, MG_ELEMENT_COTOPOLOGIQUE * >::iterator &it)
virtual void enregistrer(std::ostream &o, double version)
virtual long get_nb_mg_element_cotopologique(void)
MG_CG_FORME_MULTIPLE(MG_CG_MODELE *mgcg_modele, int provenance, int etat, unsigned long num)
std::map< long, MG_ELEMENT_TOPOLOGIQUE * > m_map_mg_element_topologique
virtual int get_type_forme(void)
MG_CG_FORME_MULTIPLE(MG_CG_MODELE *mgcg_modele, int provenance)
virtual int ajouter_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE *mg_element_cotopologique)
virtual MG_ELEMENT_TOPOLOGIQUE * get_premier_mg_element_topologique(std::map< long, MG_ELEMENT_TOPOLOGIQUE * >::iterator &it)
virtual void retirer_tout_mg_element_cotopologique(void)
virtual int retirer_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE *mg_element_cotopologique)
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 void retirer_tout_mg_element_topologique(void)
virtual int ajouter_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE *mg_element_topologique)
virtual long get_nb_mg_element_topologique(void)
virtual int construire(void)
virtual MG_ELEMENT_COTOPOLOGIQUE * get_suivant_mg_element_cotopologique(std::map< long, MG_ELEMENT_COTOPOLOGIQUE * >::iterator &it)
std::map< long, MG_ELEMENT_COTOPOLOGIQUE * > m_map_mg_element_cotopologique
virtual MG_ELEMENT_TOPOLOGIQUE * get_suivant_mg_element_topologique(std::map< long, MG_ELEMENT_TOPOLOGIQUE * >::iterator &it)