ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_arbre.h
Revision: 910
Committed: Tue Jan 9 19:14:31 2018 UTC (7 years, 4 months ago) by francois
Content type: text/plain
File size: 4421 byte(s)
Log Message:
ajout de fonction pour rassembler tous les fichiers dépendant d'un fichier magic. 
operation -compressmagic dans mgoperation
idem avec carte de taille -compresscarte et -compresscarte2

File Contents

# User Rev Content
1 francois 686 //------------------------------------------------------------
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 couturad 740 class MG_ASSEMBLAGE;
36 francois 686 class MG_OPERATEUR_BOOLEAN;
37     class MG_GESTIONNAIRE;
38 francois 690 class MG_GEOMETRIE;
39 francois 686
40    
41     typedef std::set<MG_IDENTIFICATEUR*,inf<MG_IDENTIFICATEUR*> > LISTE_ENTITE;
42     typedef std::map<unsigned long,MG_PRIMITIVE*,std::less<unsigned long> > LISTE_MG_PRIMITIVE;
43     typedef std::map<unsigned long,MG_OPERATEUR_BOOLEAN*,std::less<unsigned long> > LISTE_MG_OPERATEUR_BOOLEAN;
44 couturad 740 typedef std::map<unsigned long,MG_ASSEMBLAGE*,std::less<unsigned long> > LISTE_MG_ASSEMBLAGE;
45 francois 686
46 couturad 740
47 francois 686 std::ostream& operator << (std::ostream& o,class MG_ARBRE& arbre);
48    
49    
50    
51     class MG_ARBRE : public MG_IDENTIFICATEUR
52     {
53     public:
54     MG_ARBRE(std::string nm);
55     MG_ARBRE(unsigned long num,std::string nm);
56     MG_ARBRE(MG_ARBRE &mdd);
57     virtual ~MG_ARBRE();
58    
59    
60     int ajouter_mg_primitive(MG_PRIMITIVE *mgprim);
61     MG_PRIMITIVE* get_mg_primitiveid(unsigned long num);
62     MG_PRIMITIVE* get_mg_primitive(unsigned int num);
63     MG_PRIMITIVE* get_premier_primitive(LISTE_MG_PRIMITIVE::iterator & it);
64     MG_PRIMITIVE* get_suivant_primitive(LISTE_MG_PRIMITIVE::iterator & it);
65     unsigned int get_nb_mg_primitive(void);
66     int supprimer_mg_primitiveid(unsigned long num);
67     int supprimer_mg_primitive(unsigned int num);
68     void supprimer_tout_mg_primitive(void);
69    
70    
71     int ajouter_mg_operateur_boolean(MG_OPERATEUR_BOOLEAN *mgop);
72     MG_OPERATEUR_BOOLEAN* get_mg_operateur_booleanid(unsigned long num);
73     MG_OPERATEUR_BOOLEAN* get_mg_operateur_boolean(unsigned int num);
74     MG_OPERATEUR_BOOLEAN* get_premier_operateur_boolean(LISTE_MG_OPERATEUR_BOOLEAN::iterator & it);
75     MG_OPERATEUR_BOOLEAN* get_suivant_operateur_boolean(LISTE_MG_OPERATEUR_BOOLEAN::iterator & it);
76     unsigned int get_nb_mg_operateur_boolean(void);
77     int supprimer_mg_operateur_booleanid(unsigned long num);
78     int supprimer_mg_operateur_boolean(unsigned int num);
79     void supprimer_tout_mg_operateur_boolean(void);
80 couturad 740
81    
82     int ajouter_mg_assemblage(MG_ASSEMBLAGE *mgassembl);
83     MG_ASSEMBLAGE* get_mg_assemblageid(unsigned long num);
84     MG_ASSEMBLAGE* get_mg_assemblage(unsigned int num);
85     MG_ASSEMBLAGE* get_premier_assemblage(LISTE_MG_ASSEMBLAGE::iterator & it);
86     MG_ASSEMBLAGE* get_suivant_assemblage(LISTE_MG_ASSEMBLAGE::iterator & it);
87     unsigned int get_nb_mg_assemblage(void);
88     int supprimer_mg_assemblageid(unsigned long num);
89     int supprimer_mg_assemblage(unsigned int num);
90     void supprimer_tout_mg_assemblage(void);
91    
92 francois 686
93 francois 763 virtual void enregistrer(std::ostream& o,double version);
94 francois 910 virtual void get_fichier_dependant(std::vector<std::string> &liste_fichier);
95    
96    
97 francois 686 void change_gestionnaire(class MG_GESTIONNAIRE* mggest);
98     MG_GESTIONNAIRE* get_gestionnaire(void);
99    
100 francois 731 virtual MG_GEOMETRIE* evaluer_geometrie(char *nom_fichier,bool export_step,bool import_stl,double precision=1e-6,double eps=1);
101 francois 747 virtual MG_GEOMETRIE* evaluer_geometrie(MG_ASSEMBLAGE *mgassembl,char *nom_fichier,bool avecfusion,bool export_step,bool import_stl,double precision=1e-6,double eps=1);
102 francois 686
103     private:
104     MG_GESTIONNAIRE *gest;
105     LISTE_ENTITE lst_entite;
106     LISTE_MG_PRIMITIVE lst_mg_primitive;
107     LISTE_MG_OPERATEUR_BOOLEAN lst_mg_operateur_boolean;
108 couturad 740 LISTE_MG_ASSEMBLAGE lst_mg_assemblage;
109 francois 686 std::string nom;
110    
111     };
112    
113    
114    
115     #endif
116     #endif
117    
118