MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_cg_operateur.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_operateur.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MG_CG_OPERATEUR_
23 #define _MG_CG_OPERATEUR_
24 
25 
26 
27 #include <map>
28 
30 
31 class MG_CG_MODELE;
32 class MG_CG_FORME;
33 
34 class MG_CG_OPERATEUR : public MG_CONSTRUCTION_GEOMETRIQUE
35 {
36 public:
39  MG_CG_OPERATEUR(MG_CG_MODELE* mgcg_modele,int semantique);
40  MG_CG_OPERATEUR(MG_CG_MODELE* mgcg_modele,int semantique,int etat,unsigned long num);
42  virtual ~MG_CG_OPERATEUR();
43 
44  virtual void change_mgcg_modele(MG_CG_MODELE* mgcg_modele);
45  virtual MG_CG_MODELE* get_mgcg_modele(void);
46  virtual int get_etat(void);
47  virtual void change_etat(int etat_operateur);
48  virtual int get_type_operateur(void)=0;
49  virtual int get_semantique(void);
50  virtual void change_semantique(int semantique);
51 
52  virtual long get_nb_mgcg_forme_entree(void);
53  virtual int ajouter_mgcg_forme_entree(MG_CG_FORME* mgcg_forme);
54  virtual int retirer_mgcg_forme_entree(MG_CG_FORME* mgcg_forme);
55  virtual int retirer_mgcg_forme_entreeid(long id);
56  virtual void retirer_tout_mgcg_forme_entree(void);
57  virtual MG_CG_FORME* get_premiere_mgcg_forme_entree(std::map<long,MG_CG_FORME*>::iterator &it);
58  virtual MG_CG_FORME* get_suivante_mgcg_forme_entree(std::map<long,MG_CG_FORME*>::iterator &it);
59  virtual MG_CG_FORME* get_mgcg_forme_entreeid(long id);
60 
61 
62  virtual long get_nb_mgcg_forme_sortie(void);
63  virtual int ajouter_mgcg_forme_sortie(MG_CG_FORME* mgcg_forme);
64  virtual int retirer_mgcg_forme_sortie(MG_CG_FORME* mgcg_forme);
65  virtual int retirer_mgcg_forme_sortieid(long id);
66  virtual void retirer_tout_mgcg_forme_sortie(void);
67  virtual MG_CG_FORME* get_premiere_mgcg_forme_sortie(std::map<long,MG_CG_FORME*>::iterator &it);
68  virtual MG_CG_FORME* get_suivante_mgcg_forme_sortie(std::map<long,MG_CG_FORME*>::iterator &it);
69  virtual MG_CG_FORME* get_mgcg_forme_sortieid(long id);
70 
71  virtual int construire(void)=0;
72  virtual int construire(bool fusionner_entite_similaire,
73  double precision,
74  bool importer_triangulation,
75  double epsilon_triangulation)=0;
76  virtual void enregistrer(std::ostream& o,double version)=0;
77  virtual int get_type_mg_construction_geometrique(void);
78 
79 protected:
80 
82  int m_etat;
84  std::map<long,MG_CG_FORME*> m_map_mgcg_forme_entree;
85  std::map<long,MG_CG_FORME*> m_map_mgcg_forme_sortie;
86  virtual void verifie_semantique(void);
87 };
88 
89 
90 #endif
MG_CG_OPERATEUR::get_mgcg_modele
virtual MG_CG_MODELE * get_mgcg_modele(void)
Definition: mg_cg_operateur.cpp:69
MG_CG_OPERATEUR::ajouter_mgcg_forme_entree
virtual int ajouter_mgcg_forme_entree(MG_CG_FORME *mgcg_forme)
Definition: mg_cg_operateur.cpp:113
MG_CG_OPERATEUR::get_suivante_mgcg_forme_sortie
virtual MG_CG_FORME * get_suivante_mgcg_forme_sortie(std::map< long, MG_CG_FORME * >::iterator &it)
Definition: mg_cg_operateur.cpp:232
MG_CG_OPERATEUR::INCLUSION_MATRICE
@ INCLUSION_MATRICE
Definition: mg_cg_operateur.h:38
MG_CG_OPERATEUR::ajouter_mgcg_forme_sortie
virtual int ajouter_mgcg_forme_sortie(MG_CG_FORME *mgcg_forme)
Definition: mg_cg_operateur.cpp:187
MG_CG_OPERATEUR::ETAT_OPERATEUR
ETAT_OPERATEUR
Definition: mg_cg_operateur.h:37
MG_CG_OPERATEUR::change_etat
virtual void change_etat(int etat_operateur)
Definition: mg_cg_operateur.cpp:74
MG_CG_OPERATEUR::get_premiere_mgcg_forme_entree
virtual MG_CG_FORME * get_premiere_mgcg_forme_entree(std::map< long, MG_CG_FORME * >::iterator &it)
Definition: mg_cg_operateur.cpp:156
MG_CG_OPERATEUR::TYPE_OPERATEUR
TYPE_OPERATEUR
Definition: mg_cg_operateur.h:38
MG_CG_OPERATEUR::NON_CONSTRUIT
@ NON_CONSTRUIT
Definition: mg_cg_operateur.h:37
MG_CG_OPERATEUR::m_mgcg_modele
MG_CG_MODELE * m_mgcg_modele
Definition: mg_cg_operateur.h:81
MG_CG_OPERATEUR::get_nb_mgcg_forme_entree
virtual long get_nb_mgcg_forme_entree(void)
Definition: mg_cg_operateur.cpp:108
MG_CG_OPERATEUR::get_mgcg_forme_entreeid
virtual MG_CG_FORME * get_mgcg_forme_entreeid(long id)
Definition: mg_cg_operateur.cpp:172
MG_CG_OPERATEUR::change_semantique
virtual void change_semantique(int semantique)
Definition: mg_cg_operateur.cpp:89
MG_CG_OPERATEUR::get_nb_mgcg_forme_sortie
virtual long get_nb_mgcg_forme_sortie(void)
Definition: mg_cg_operateur.cpp:182
MG_CG_OPERATEUR::retirer_mgcg_forme_entreeid
virtual int retirer_mgcg_forme_entreeid(long id)
Definition: mg_cg_operateur.cpp:136
MG_CG_OPERATEUR::get_etat
virtual int get_etat(void)
Definition: mg_cg_operateur.cpp:79
MG_CG_OPERATEUR::BOOLEEN
@ BOOLEEN
Definition: mg_cg_operateur.h:38
MG_CG_OPERATEUR::CONSTRUIT
@ CONSTRUIT
Definition: mg_cg_operateur.h:37
MG_CG_FORME
Definition: mg_cg_forme.h:41
MG_CG_OPERATEUR
Definition: mg_cg_operateur.h:34
MG_CG_OPERATEUR::~MG_CG_OPERATEUR
virtual ~MG_CG_OPERATEUR()
Definition: mg_cg_operateur.cpp:51
MG_CG_MODELE
Definition: mg_cg_modele.h:41
MG_CG_OPERATEUR::retirer_mgcg_forme_sortieid
virtual int retirer_mgcg_forme_sortieid(long id)
Definition: mg_cg_operateur.cpp:207
MG_CG_OPERATEUR::ATTENTE_RECONSTRUCTION
@ ATTENTE_RECONSTRUCTION
Definition: mg_cg_operateur.h:37
MG_CG_OPERATEUR::m_map_mgcg_forme_sortie
std::map< long, MG_CG_FORME * > m_map_mgcg_forme_sortie
Definition: mg_cg_operateur.h:85
MG_CG_OPERATEUR::get_premiere_mgcg_forme_sortie
virtual MG_CG_FORME * get_premiere_mgcg_forme_sortie(std::map< long, MG_CG_FORME * >::iterator &it)
Definition: mg_cg_operateur.cpp:224
MG_CG_OPERATEUR::m_etat
int m_etat
Definition: mg_cg_operateur.h:82
MG_CG_OPERATEUR::construire
virtual int construire(void)=0
MG_CG_OPERATEUR::m_semantique
int m_semantique
Definition: mg_cg_operateur.h:83
MG_CG_OPERATEUR::verifie_semantique
virtual void verifie_semantique(void)
Definition: mg_cg_operateur.cpp:94
MG_CG_OPERATEUR::TRANSFORMATION
@ TRANSFORMATION
Definition: mg_cg_operateur.h:38
MG_CG_OPERATEUR::enregistrer
virtual void enregistrer(std::ostream &o, double version)=0
MG_CG_OPERATEUR::retirer_mgcg_forme_sortie
virtual int retirer_mgcg_forme_sortie(MG_CG_FORME *mgcg_forme)
Definition: mg_cg_operateur.cpp:195
MG_CG_OPERATEUR::MG_CG_OPERATEUR
MG_CG_OPERATEUR(MG_CG_MODELE *mgcg_modele, int semantique)
Definition: mg_cg_operateur.cpp:27
MG_CG_OPERATEUR::get_semantique
virtual int get_semantique(void)
Definition: mg_cg_operateur.cpp:84
MG_CG_OPERATEUR::retirer_tout_mgcg_forme_entree
virtual void retirer_tout_mgcg_forme_entree(void)
Definition: mg_cg_operateur.cpp:149
MG_CG_OPERATEUR::get_mgcg_forme_sortieid
virtual MG_CG_FORME * get_mgcg_forme_sortieid(long id)
Definition: mg_cg_operateur.cpp:240
MG_CG_OPERATEUR::get_type_mg_construction_geometrique
virtual int get_type_mg_construction_geometrique(void)
Definition: mg_cg_operateur.cpp:250
MG_CG_OPERATEUR::change_mgcg_modele
virtual void change_mgcg_modele(MG_CG_MODELE *mgcg_modele)
Definition: mg_cg_operateur.cpp:64
mg_construction_geometrique.h
MG_CG_OPERATEUR::get_suivante_mgcg_forme_entree
virtual MG_CG_FORME * get_suivante_mgcg_forme_entree(std::map< long, MG_CG_FORME * >::iterator &it)
Definition: mg_cg_operateur.cpp:164
MG_CG_OPERATEUR::get_type_operateur
virtual int get_type_operateur(void)=0
MG_CG_OPERATEUR::m_map_mgcg_forme_entree
std::map< long, MG_CG_FORME * > m_map_mgcg_forme_entree
Definition: mg_cg_operateur.h:84
MG_CG_OPERATEUR::retirer_tout_mgcg_forme_sortie
virtual void retirer_tout_mgcg_forme_sortie(void)
Definition: mg_cg_operateur.cpp:219
MG_CG_OPERATEUR::retirer_mgcg_forme_entree
virtual int retirer_mgcg_forme_entree(MG_CG_FORME *mgcg_forme)
Definition: mg_cg_operateur.cpp:122