ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_assemblage.h
Revision: 906
Committed: Mon Nov 13 22:30:18 2017 UTC (7 years, 6 months ago) by couturad
Content type: text/plain
File size: 2601 byte(s)
Log Message:
Nouveau opencascade commit 1

File Contents

# User Rev Content
1 couturad 740 //------------------------------------------------------------
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_assemblage.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23     #ifdef CSG_OCC
24    
25    
26     #ifndef __MGASSEMBLAGE_
27     #define __MGASSEMBLAGE_
28    
29     #ifdef WINDOWS_VERSION
30     #ifdef BUILT_DLL_GEOMETRIE
31     #define DLLPORTGEOMETRIE __declspec(dllexport)
32     #else
33     #define DLLPORTGEOMETRIE __declspec(dllimport)
34     #endif
35     #else
36     #define DLLPORTGEOMETRIE
37     #endif
38    
39     #include "mg_construction_geometrique.h"
40    
41    
42    
43    
44     #include <map>
45 francois 741 #include <vector>
46 couturad 740
47     class MG_PRIMITIVE;
48 francois 741 class MG_ARBRE;
49 couturad 740
50     typedef std::map<unsigned long,MG_PRIMITIVE*,std::less<unsigned long> > LISTE_MG_PRIMITIVE;
51    
52     class DLLPORTGEOMETRIE MG_ASSEMBLAGE : public MG_CONSTRUCTION_GEOMETRIQUE
53     {
54     public:
55     MG_ASSEMBLAGE(std::string nm);
56     MG_ASSEMBLAGE(unsigned long num,std::string nm);
57     MG_ASSEMBLAGE(MG_ASSEMBLAGE& mdd);
58     virtual ~MG_ASSEMBLAGE();
59    
60     int ajouter_mg_primitive(MG_PRIMITIVE *mgprim);
61 francois 741 int ajouter_mg_primitive(unsigned long id);
62 couturad 740 MG_PRIMITIVE* get_mg_primitiveid(unsigned long num);
63     MG_PRIMITIVE* get_mg_primitive(unsigned int num);
64     MG_PRIMITIVE* get_premier_primitive(LISTE_MG_PRIMITIVE::iterator & it);
65     MG_PRIMITIVE* get_suivant_primitive(LISTE_MG_PRIMITIVE::iterator & it);
66     unsigned int get_nb_mg_primitive(void);
67     int supprimer_mg_primitiveid(unsigned long num);
68     int supprimer_mg_primitive(unsigned int num);
69     void supprimer_tout_mg_primitive(void);
70 francois 741 void ini_donne(MG_ARBRE* arb);
71 francois 763 virtual void enregistrer(std::ostream& o,double version);
72 couturad 906 virtual int get_type_mg_construction_geometrique(void);
73 couturad 740
74     private:
75    
76     protected:
77 francois 741 LISTE_MG_PRIMITIVE lst_mg_primitive;
78     std::vector<unsigned long> lst_mg_primitive_id;
79 couturad 740 std::string nom;
80     };
81    
82    
83     #endif
84    
85     #endif