ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_arbre.h
Revision: 731
Committed: Mon Sep 21 22:31:27 2015 UTC (9 years, 7 months ago) by francois
Content type: text/plain
File size: 3448 byte(s)
Log Message:
Correction des periodicites dans opencascade
Correction des importation de surface et courbe dans opencascade en respectant tous nos besoins
Ajout d'un langage script pour construire des arbres de construction sous opencascade avec un cas test

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     class MG_OPERATEUR_BOOLEAN;
36     class MG_GESTIONNAIRE;
37 francois 690 class MG_GEOMETRIE;
38 francois 686
39    
40     typedef std::set<MG_IDENTIFICATEUR*,inf<MG_IDENTIFICATEUR*> > LISTE_ENTITE;
41     typedef std::map<unsigned long,MG_PRIMITIVE*,std::less<unsigned long> > LISTE_MG_PRIMITIVE;
42     typedef std::map<unsigned long,MG_OPERATEUR_BOOLEAN*,std::less<unsigned long> > LISTE_MG_OPERATEUR_BOOLEAN;
43    
44     std::ostream& operator << (std::ostream& o,class MG_ARBRE& arbre);
45    
46    
47    
48     class MG_ARBRE : public MG_IDENTIFICATEUR
49     {
50     public:
51     MG_ARBRE(std::string nm);
52     MG_ARBRE(unsigned long num,std::string nm);
53     MG_ARBRE(MG_ARBRE &mdd);
54     virtual ~MG_ARBRE();
55    
56    
57     int ajouter_mg_primitive(MG_PRIMITIVE *mgprim);
58     MG_PRIMITIVE* get_mg_primitiveid(unsigned long num);
59     MG_PRIMITIVE* get_mg_primitive(unsigned int num);
60     MG_PRIMITIVE* get_premier_primitive(LISTE_MG_PRIMITIVE::iterator & it);
61     MG_PRIMITIVE* get_suivant_primitive(LISTE_MG_PRIMITIVE::iterator & it);
62     unsigned int get_nb_mg_primitive(void);
63     int supprimer_mg_primitiveid(unsigned long num);
64     int supprimer_mg_primitive(unsigned int num);
65     void supprimer_tout_mg_primitive(void);
66    
67    
68     int ajouter_mg_operateur_boolean(MG_OPERATEUR_BOOLEAN *mgop);
69     MG_OPERATEUR_BOOLEAN* get_mg_operateur_booleanid(unsigned long num);
70     MG_OPERATEUR_BOOLEAN* get_mg_operateur_boolean(unsigned int num);
71     MG_OPERATEUR_BOOLEAN* get_premier_operateur_boolean(LISTE_MG_OPERATEUR_BOOLEAN::iterator & it);
72     MG_OPERATEUR_BOOLEAN* get_suivant_operateur_boolean(LISTE_MG_OPERATEUR_BOOLEAN::iterator & it);
73     unsigned int get_nb_mg_operateur_boolean(void);
74     int supprimer_mg_operateur_booleanid(unsigned long num);
75     int supprimer_mg_operateur_boolean(unsigned int num);
76     void supprimer_tout_mg_operateur_boolean(void);
77    
78    
79     virtual void enregistrer(std::ostream& o);
80     void change_gestionnaire(class MG_GESTIONNAIRE* mggest);
81     MG_GESTIONNAIRE* get_gestionnaire(void);
82    
83 francois 731 virtual MG_GEOMETRIE* evaluer_geometrie(char *nom_fichier,bool export_step,bool import_stl,double precision=1e-6,double eps=1);
84 francois 686
85     private:
86     MG_GESTIONNAIRE *gest;
87     LISTE_ENTITE lst_entite;
88     LISTE_MG_PRIMITIVE lst_mg_primitive;
89     LISTE_MG_OPERATEUR_BOOLEAN lst_mg_operateur_boolean;
90     std::string nom;
91    
92     };
93    
94    
95    
96     #endif
97     #endif
98    
99