MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_forme.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.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MG_CG_FORME_
23 #define _MG_CG_FORME_
24 
25 
26 
27 #include <map>
28 
30 #include "tpl_map_entite.h"
31 
32 class MG_CG_MODELE;
33 class MG_CG_OPERATEUR;
34 class MG_GEOMETRIE;
38 class BOITE_3D;
39 class MG_CG_INFO;
40 
41 class MG_CG_FORME : public MG_CONSTRUCTION_GEOMETRIQUE
42 {
43 public:
44 
48 
49  MG_CG_FORME(MG_CG_MODELE* mgcg_modele,int provenance);
50  MG_CG_FORME(MG_CG_MODELE* mgcg_modele,int provenance,int etat, unsigned long num);
52  virtual ~MG_CG_FORME();
53 
54  virtual void change_mgcg_modele(MG_CG_MODELE* mgcg_modele);
55  virtual MG_CG_MODELE* get_mgcg_modele(void);
56  virtual int get_provenance(void);
57  virtual void change_provenance(int provenance_forme);
58  virtual int get_etat(void);
59  virtual void change_etat(int etat_forme);
60  virtual int get_type_forme(void)=0;
61 
63  virtual void change_mgcg_operateur_parent(MG_CG_OPERATEUR* mgcg_operateur);
64 
65  virtual long get_nb_mgcg_operateur_dependant(void);
66  virtual int ajouter_mgcg_operateur_dependant(MG_CG_OPERATEUR* mgcg_operateur);
67  virtual int retirer_mgcg_operateur_dependant(MG_CG_OPERATEUR* mgcg_operateur);
68  virtual void retirer_tout_mgcg_operateur_dependant(void);
69  virtual MG_CG_OPERATEUR* get_premier_mgcg_operateur_dependant(std::map<long,MG_CG_OPERATEUR*>::iterator &it);
70  virtual MG_CG_OPERATEUR* get_suivant_mgcg_operateur_dependant(std::map<long,MG_CG_OPERATEUR*>::iterator &it);
71 
72  virtual void enregistrer(std::ostream& o,double version)=0;
73  virtual void get_mg_element(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *map_mg_element_topologique,
74  TPL_MAP_ENTITE<MG_ELEMENT_COTOPOLOGIQUE*> *map_mg_element_cotopologique,
75  TPL_MAP_ENTITE<MG_ELEMENT_GEOMETRIQUE*> *map_mg_element_geometrique)=0;
76  virtual int get_type_mg_construction_geometrique(void);
77 
78  virtual BOITE_3D get_boite_3D(void)=0;
79 
80  virtual int construire(void)=0;
81  virtual int construire(bool fusionner_entite_similaire,
82  double precision,
83  bool importer_triangulation,
84  double epsilon_triangulation)=0;
85 
86 protected:
89  std::map<long,MG_CG_OPERATEUR*> m_map_mgcg_operateur_dependant;
91  int m_etat;
92 };
93 
94 
95 #endif
virtual MG_CG_OPERATEUR * get_mgcg_operateur_parent(void)
Definition: mg_cg_forme.cpp:86
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)=0
virtual int ajouter_mgcg_operateur_dependant(MG_CG_OPERATEUR *mgcg_operateur)
virtual void retirer_tout_mgcg_operateur_dependant(void)
virtual MG_CG_OPERATEUR * get_suivant_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
virtual void change_mgcg_operateur_parent(MG_CG_OPERATEUR *mgcg_operateur)
Definition: mg_cg_forme.cpp:91
virtual void change_mgcg_modele(MG_CG_MODELE *mgcg_modele)
Definition: mg_cg_forme.cpp:56
virtual int get_etat(void)
Definition: mg_cg_forme.cpp:76
int m_provenance
Definition: mg_cg_forme.h:90
virtual int get_type_mg_construction_geometrique(void)
MG_CG_FORME(MG_CG_MODELE *mgcg_modele, int provenance)
Definition: mg_cg_forme.cpp:27
virtual int get_provenance(void)
Definition: mg_cg_forme.cpp:66
virtual int construire(bool fusionner_entite_similaire, double precision, bool importer_triangulation, double epsilon_triangulation)=0
virtual MG_CG_OPERATEUR * get_premier_mgcg_operateur_dependant(std::map< long, MG_CG_OPERATEUR * >::iterator &it)
virtual void enregistrer(std::ostream &o, double version)=0
virtual int get_type_forme(void)=0
virtual void change_etat(int etat_forme)
Definition: mg_cg_forme.cpp:81
virtual int construire(void)=0
std::map< long, MG_CG_OPERATEUR * > m_map_mgcg_operateur_dependant
Definition: mg_cg_forme.h:89
virtual long get_nb_mgcg_operateur_dependant(void)
Definition: mg_cg_forme.cpp:96
MG_CG_MODELE * m_mgcg_modele
Definition: mg_cg_forme.h:87
virtual BOITE_3D get_boite_3D(void)=0
virtual ~MG_CG_FORME()
Definition: mg_cg_forme.cpp:46
virtual MG_CG_MODELE * get_mgcg_modele(void)
Definition: mg_cg_forme.cpp:61
@ ATTENTE_RECONSTRUCTION
Definition: mg_cg_forme.h:46
virtual int retirer_mgcg_operateur_dependant(MG_CG_OPERATEUR *mgcg_operateur)
MG_CG_OPERATEUR * m_mgcg_operateur_parent
Definition: mg_cg_forme.h:88
virtual void change_provenance(int provenance_forme)
Definition: mg_cg_forme.cpp:71
MG_CG_FORME(MG_CG_MODELE *mgcg_modele, int provenance, int etat, unsigned long num)