ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_arbre.h
Revision: 688
Committed: Tue Jul 7 20:33:32 2015 UTC (10 years, 1 month ago) by francois
Content type: text/plain
File size: 3384 byte(s)
Log Message:
Deplacement d'un .h

File Contents

# Content
1 //------------------------------------------------------------
2 //------------------------------------------------------------
3 // MAGiC
4 // Jean Christophe Cuilli�re et Vincent FRANCOIS
5 // D�partement de G�nie M�canique - UQTR
6 //------------------------------------------------------------
7 // Le projet MAGIC est un projet de recherche du d�partement
8 // de g�nie m�canique de l'Universit� du Qu�bec �
9 // Trois Rivi�res
10 // Les librairies ne peuvent �tre utilis�es sans l'accord
11 // des auteurs (contact : francois@uqtr.ca)
12 //------------------------------------------------------------
13 //------------------------------------------------------------
14 //
15 // mg_maillage.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifdef CSG_OCC
24
25
26 #ifndef __MGARBRE_
27 #define __MGARBRE_
28
29
30 #include <map>
31 #include <set>
32 #include "mg_identificateur.h"
33 #include "mg_definition.h"
34 class MG_PRIMITIVE;
35 class MG_OPERATEUR_BOOLEAN;
36 class MG_GESTIONNAIRE;
37
38
39 typedef std::set<MG_IDENTIFICATEUR*,inf<MG_IDENTIFICATEUR*> > LISTE_ENTITE;
40 typedef std::map<unsigned long,MG_PRIMITIVE*,std::less<unsigned long> > LISTE_MG_PRIMITIVE;
41 typedef std::map<unsigned long,MG_OPERATEUR_BOOLEAN*,std::less<unsigned long> > LISTE_MG_OPERATEUR_BOOLEAN;
42
43 std::ostream& operator << (std::ostream& o,class MG_ARBRE& arbre);
44
45
46
47 class MG_ARBRE : public MG_IDENTIFICATEUR
48 {
49 public:
50 MG_ARBRE(std::string nm);
51 MG_ARBRE(unsigned long num,std::string nm);
52 MG_ARBRE(MG_ARBRE &mdd);
53 virtual ~MG_ARBRE();
54
55
56 int ajouter_mg_primitive(MG_PRIMITIVE *mgprim);
57 MG_PRIMITIVE* get_mg_primitiveid(unsigned long num);
58 MG_PRIMITIVE* get_mg_primitive(unsigned int num);
59 MG_PRIMITIVE* get_premier_primitive(LISTE_MG_PRIMITIVE::iterator & it);
60 MG_PRIMITIVE* get_suivant_primitive(LISTE_MG_PRIMITIVE::iterator & it);
61 unsigned int get_nb_mg_primitive(void);
62 int supprimer_mg_primitiveid(unsigned long num);
63 int supprimer_mg_primitive(unsigned int num);
64 void supprimer_tout_mg_primitive(void);
65
66
67 int ajouter_mg_operateur_boolean(MG_OPERATEUR_BOOLEAN *mgop);
68 MG_OPERATEUR_BOOLEAN* get_mg_operateur_booleanid(unsigned long num);
69 MG_OPERATEUR_BOOLEAN* get_mg_operateur_boolean(unsigned int num);
70 MG_OPERATEUR_BOOLEAN* get_premier_operateur_boolean(LISTE_MG_OPERATEUR_BOOLEAN::iterator & it);
71 MG_OPERATEUR_BOOLEAN* get_suivant_operateur_boolean(LISTE_MG_OPERATEUR_BOOLEAN::iterator & it);
72 unsigned int get_nb_mg_operateur_boolean(void);
73 int supprimer_mg_operateur_booleanid(unsigned long num);
74 int supprimer_mg_operateur_boolean(unsigned int num);
75 void supprimer_tout_mg_operateur_boolean(void);
76
77
78 virtual void enregistrer(std::ostream& o);
79 void change_gestionnaire(class MG_GESTIONNAIRE* mggest);
80 MG_GESTIONNAIRE* get_gestionnaire(void);
81
82 virtual void evaluer_geometrie(char *nom_fichier,bool export_step,bool import_stl);
83
84 private:
85 MG_GESTIONNAIRE *gest;
86 LISTE_ENTITE lst_entite;
87 LISTE_MG_PRIMITIVE lst_mg_primitive;
88 LISTE_MG_OPERATEUR_BOOLEAN lst_mg_operateur_boolean;
89 std::string nom;
90
91 };
92
93
94
95 #endif
96 #endif
97
98