ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_arbre.h
Revision: 763
Committed: Wed Dec 2 19:55:53 2015 UTC (9 years, 5 months ago) by francois
Content type: text/plain
File size: 4334 byte(s)
Log Message:
Le fichier MAGiC est maintenant versionné. LA version actuelle est 2.0. L'ancienne version est 1.0.
Tout est transparent pour l'utilisateur. Les vieilles versions sont lisibles mais les nouveaux enregistrements sont dans la version la plus récente.
Changement des conditions aux limites : ajout d'un parametre pour dire si la condition numerique est une valeur ou une formule ou un lien vers une autre entité magic.
Les parametres pour saisir sont maintenant -ccf -ccfi -ccff -ccft -ccfit -ccfft

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 686 void change_gestionnaire(class MG_GESTIONNAIRE* mggest);
95     MG_GESTIONNAIRE* get_gestionnaire(void);
96    
97 francois 731 virtual MG_GEOMETRIE* evaluer_geometrie(char *nom_fichier,bool export_step,bool import_stl,double precision=1e-6,double eps=1);
98 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);
99 francois 686
100     private:
101     MG_GESTIONNAIRE *gest;
102     LISTE_ENTITE lst_entite;
103     LISTE_MG_PRIMITIVE lst_mg_primitive;
104     LISTE_MG_OPERATEUR_BOOLEAN lst_mg_operateur_boolean;
105 couturad 740 LISTE_MG_ASSEMBLAGE lst_mg_assemblage;
106 francois 686 std::string nom;
107    
108     };
109    
110    
111    
112     #endif
113     #endif
114    
115