MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_geometrie.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// mg_geometrie.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef __MGGEOMETRIE_
23 #define __MGGEOMETRIE_
24 
25 
26 
27 #include "gestionversion.h"
28 
29 #include <map>
30 #include <set>
31 
32 
33 
34 #include "mg_identificateur.h"
35 #include "mg_point.h"
36 #include "mg_courbe.h"
37 #include "mg_surface.h"
38 #include "mg_sommet.h"
39 #include "mg_cosommet.h"
40 #include "mg_arete.h"
41 #include "mg_coarete.h"
42 #include "mg_boucle.h"
43 #include "mg_coface.h"
44 #include "mg_face.h"
45 #include "mg_coquille.h"
46 #include "mg_volume.h"
47 #include "mg_poutre.h"
48 #include "mg_coque.h"
49 #include "mg_visu_courbe.h"
50 #include "mg_groupe_topologique.h"
51 #include "mg_geom_fonction.h"
52 
53 #ifdef BREP_SAT
54 #include "sat_gestionnaire.h"
55 #endif
56 #ifdef BREP_STEP
57 #include "st_gestionnaire.h"
58 #endif
59 
60 #include "mg_definition.h"
61 
62 
63 typedef std::set<MG_IDENTIFICATEUR*,inf<MG_IDENTIFICATEUR*> > LISTE_ENTITE;
64 typedef std::map<unsigned long,MG_POINT*,std::less<unsigned long> > LISTE_MG_POINT;
65 typedef std::map<unsigned long,MG_COURBE*,std::less<unsigned long> > LISTE_MG_COURBE;
66 typedef std::map<unsigned long,MG_SURFACE*,std::less<unsigned long> > LISTE_MG_SURFACE;
67 typedef std::map<unsigned long,MG_SOMMET*,std::less<unsigned long> > LISTE_MG_SOMMET;
68 typedef std::map<unsigned long,MG_COSOMMET*,std::less<unsigned long> > LISTE_MG_COSOMMET;
69 typedef std::map<unsigned long,MG_ARETE*,std::less<unsigned long> > LISTE_MG_ARETE;
70 typedef std::map<unsigned long,MG_COARETE*,std::less<unsigned long> > LISTE_MG_COARETE;
71 typedef std::map<unsigned long,MG_BOUCLE*,std::less<unsigned long> > LISTE_MG_BOUCLE;
72 typedef std::map<unsigned long,MG_FACE*,std::less<unsigned long> > LISTE_MG_FACE;
73 typedef std::map<unsigned long,MG_COFACE*,std::less<unsigned long> > LISTE_MG_COFACE;
74 typedef std::map<unsigned long,MG_COQUILLE*,std::less<unsigned long> > LISTE_MG_COQUILLE;
75 typedef std::map<unsigned long,MG_VOLUME*,std::less<unsigned long> > LISTE_MG_VOLUME;
76 typedef std::map<unsigned long,MG_COQUE*,std::less<unsigned long> > LISTE_MG_COQUE;
77 typedef std::map<unsigned long,MG_POUTRE*,std::less<unsigned long> > LISTE_MG_POUTRE;
78 typedef std::map<unsigned long,MG_VISU_COURBE*,std::less<unsigned long> > LISTE_MG_VISU_COURBE;
79 typedef std::map<unsigned long,MG_GROUPE_TOPOLOGIQUE*,std::less<unsigned long> > LISTE_MG_GROUPE_TOPOLOGIQUE;
80 typedef std::map<unsigned long,MG_GEOM_FONCTION*,std::less<unsigned long> > LISTE_MG_GEOM_FONCTION;
81 
82  std::ostream& operator << (std::ostream& o,class MG_GEOMETRIE& geo);
83 
85 {
86 public:
87  MG_GEOMETRIE(char *type,const char *nom=NULL,double unite=1.0,double eps=1e-6);
88  MG_GEOMETRIE(char *type,unsigned long num,const char *nom=NULL,double unite=1.0,double eps=1e-6);
89  virtual ~MG_GEOMETRIE();
90 
91 
92  virtual int ajouter_mg_point(MG_POINT *mgpt);
93  MG_POINT* get_mg_pointid(unsigned long num);
94  MG_POINT* get_mg_point(unsigned int num);
95  MG_POINT* get_premier_point(LISTE_MG_POINT::iterator & it);
96  MG_POINT* get_suivant_point(LISTE_MG_POINT::iterator & it);
97  unsigned int get_nb_mg_point(void);
98  virtual int supprimer_mg_pointid(unsigned long num);
99  virtual int supprimer_mg_point(unsigned int num);
100  virtual void supprimer_tout_mg_point(void);
101 
102  virtual int ajouter_mg_courbe(MG_COURBE *mgcrb);
103  MG_COURBE* get_mg_courbeid(unsigned long num);
104  MG_COURBE* get_mg_courbe(unsigned int num);
105  MG_COURBE* get_premier_courbe(LISTE_MG_COURBE::iterator & it) ;
106  MG_COURBE* get_suivant_courbe(LISTE_MG_COURBE::iterator & it) ;
107  unsigned int get_nb_mg_courbe(void);
108  virtual int supprimer_mg_courbeid(unsigned long num);
109  virtual int supprimer_mg_courbe(unsigned int num);
110  virtual void supprimer_tout_mg_courbe(void);
111 
112  virtual int ajouter_mg_surface(MG_SURFACE *mgsrf);
113  MG_SURFACE* get_mg_surfaceid(unsigned long num);
114  MG_SURFACE* get_mg_surface(unsigned int num);
115  MG_SURFACE* get_premier_surface(LISTE_MG_SURFACE::iterator & it);
116  MG_SURFACE* get_suivant_surface(LISTE_MG_SURFACE::iterator & it);
117  unsigned int get_nb_mg_surface(void);
118  virtual int supprimer_mg_surfaceid(unsigned long num);
119  virtual int supprimer_mg_surface(unsigned int num);
120  virtual void supprimer_tout_mg_surface(void);
121 
122  virtual int ajouter_mg_sommet(MG_SOMMET *mgsom);
124  MG_SOMMET* get_mg_sommetid(unsigned long num);
125  MG_SOMMET* get_mg_sommetid(std::string id);
126  MG_SOMMET* get_mg_sommet(unsigned int num);
127  MG_SOMMET* get_premier_sommet(LISTE_MG_SOMMET::iterator & it) ;
128  MG_SOMMET* get_suivant_sommet(LISTE_MG_SOMMET::iterator & it) ;
129  unsigned int get_nb_mg_sommet(void);
130  virtual int supprimer_mg_sommetid(unsigned long num);
131  virtual int supprimer_mg_sommet(unsigned int num);
132  virtual void supprimer_tout_mg_sommet(void);
133 
134  virtual int ajouter_mg_arete(MG_ARETE *mgarete);
135  MG_ARETE* get_mg_areteid(unsigned long num);
136  MG_ARETE* get_mg_areteid(std::string id);
137  MG_ARETE* get_mg_arete(unsigned int num);
138  MG_ARETE* get_premier_arete(LISTE_MG_ARETE::iterator & it);
139  MG_ARETE* get_suivant_arete(LISTE_MG_ARETE::iterator & it);
140  unsigned int get_nb_mg_arete(void);
141  virtual int supprimer_mg_areteid(unsigned long num);
142  virtual int supprimer_mg_arete(unsigned int num);
143  virtual void supprimer_tout_mg_arete(void);
144 
145  virtual int ajouter_mg_boucle(MG_BOUCLE *mgboucle);
146  virtual int ajouter_mg_boucle(MG_BOUCLE *mgboucle,MG_FACE* mgface);
147  virtual int ajouter_mg_boucle(MG_BOUCLE *mgboucle,MG_POUTRE* mgpoutre);
148  MG_BOUCLE* get_mg_boucleid(unsigned long num);
149  MG_BOUCLE* get_mg_boucle(unsigned int num);
150  MG_BOUCLE* get_premier_boucle(LISTE_MG_BOUCLE::iterator & it);
151  MG_BOUCLE* get_suivant_boucle(LISTE_MG_BOUCLE::iterator & it);
152  unsigned int get_nb_mg_boucle(void);
153  virtual int supprimer_mg_boucleid(unsigned long num);
154  virtual int supprimer_mg_boucle(unsigned int num);
155  virtual void supprimer_tout_mg_boucle(void);
156 
157  virtual int ajouter_mg_face(MG_FACE *mgface);
158  MG_FACE* get_mg_faceid(unsigned long num);
159  MG_FACE* get_mg_faceid(std::string num);
160  MG_FACE* get_mg_face(unsigned int num);
161  MG_FACE* get_premier_face(LISTE_MG_FACE::iterator & it);
162  MG_FACE* get_suivant_face(LISTE_MG_FACE::iterator & it);
163  unsigned int get_nb_mg_face(void);
164  virtual int supprimer_mg_faceid(unsigned long num);
165  virtual int supprimer_mg_face(unsigned int num);
166  virtual void supprimer_tout_mg_face(void);
167 
168  virtual int ajouter_mg_coquille(MG_COQUILLE *mgcoq);
169  virtual int ajouter_mg_coquille(MG_COQUILLE *mgcoq,MG_VOLUME *mgvol);
170  virtual int ajouter_mg_coquille(MG_COQUILLE *mgcoq,MG_COQUE *mgcoque);
171  MG_COQUILLE* get_mg_coquilleid(unsigned long num);
172  MG_COQUILLE* get_mg_coquille(unsigned int num);
173  MG_COQUILLE* get_premier_coquille(LISTE_MG_COQUILLE::iterator & it);
174  MG_COQUILLE* get_suivant_coquille(LISTE_MG_COQUILLE::iterator & it) ;
175  unsigned int get_nb_mg_coquille(void);
176  virtual int supprimer_mg_coquilleid(unsigned long num);
177  virtual int supprimer_mg_coquille(unsigned int num);
178  virtual void supprimer_tout_mg_coquille(void);
179 
180  virtual int ajouter_mg_volume(MG_VOLUME *mgvol);
181  MG_VOLUME* get_mg_volumeid(unsigned long num);
182  MG_VOLUME* get_mg_volumeid(std::string id);
183  MG_VOLUME* get_mg_volume(unsigned int num);
184  MG_VOLUME* get_premier_volume(LISTE_MG_VOLUME::iterator & it) ;
185  MG_VOLUME* get_suivant_volume(LISTE_MG_VOLUME::iterator & it) ;
186  unsigned int get_nb_mg_volume(void);
187  virtual int supprimer_mg_volumeid(unsigned long num);
188  virtual int supprimer_mg_volume(unsigned int num);
189  virtual void supprimer_tout_mg_volume(void);
190 
191  virtual int ajouter_mg_coque(MG_COQUE *mgcoque);
192  MG_COQUE* get_mg_coqueid(unsigned long num);
193  MG_COQUE* get_mg_coqueid(std::string id);
194  MG_COQUE* get_mg_coque(unsigned int num);
195  MG_COQUE* get_premier_coque(LISTE_MG_COQUE::iterator & it);
196  MG_COQUE* get_suivant_coque(LISTE_MG_COQUE::iterator & it) ;
197  unsigned int get_nb_mg_coque(void);
198  virtual int supprimer_mg_coqueid(unsigned long num);
199  virtual int supprimer_mg_coque(unsigned int num);
200  virtual void supprimer_tout_mg_coque(void);
201 
202  virtual int ajouter_mg_poutre(MG_POUTRE *mgpoutre);
203  MG_POUTRE* get_mg_poutreid(unsigned long num);
204  MG_POUTRE* get_mg_poutreid(std::string id);
205  MG_POUTRE* get_mg_poutre(unsigned int num);
206  MG_POUTRE* get_premier_poutre(LISTE_MG_POUTRE::iterator & it) ;
207  MG_POUTRE* get_suivant_poutre(LISTE_MG_POUTRE::iterator & it) ;
208  unsigned int get_nb_mg_poutre(void);
209  virtual int supprimer_mg_poutreid(unsigned long num);
210  virtual int supprimer_mg_poutre(unsigned int num);
211  virtual void supprimer_tout_mg_poutre(void);
212 
213  virtual int ajouter_mg_groupe_topologique(MG_GROUPE_TOPOLOGIQUE *mggroupe_topologique);
216  MG_GROUPE_TOPOLOGIQUE* get_premier_groupe_topologique(LISTE_MG_GROUPE_TOPOLOGIQUE::iterator & it) ;
217  MG_GROUPE_TOPOLOGIQUE* get_suivant_groupe_topologique(LISTE_MG_GROUPE_TOPOLOGIQUE::iterator & it) ;
218  unsigned int get_nb_mg_groupe_topologique(void);
219  virtual int supprimer_mg_groupe_topologiqueid(unsigned long num);
220  virtual int supprimer_mg_groupe_topologique(unsigned int num);
221  virtual void supprimer_tout_mg_groupe_topologique(void);
222 
223  virtual int ajouter_mg_geom_fonction(MG_GEOM_FONCTION *mggeofon);
224  MG_GEOM_FONCTION* get_mg_geom_fonctionid(unsigned long num);
225  MG_GEOM_FONCTION* get_mg_geom_fonction(unsigned int num);
226  MG_GEOM_FONCTION* get_premier_geom_fonction(LISTE_MG_GEOM_FONCTION::iterator & it) ;
227  MG_GEOM_FONCTION* get_suivant_geom_fonction(LISTE_MG_GEOM_FONCTION::iterator & it) ;
228  unsigned int get_nb_mg_geom_fonction(void);
229  virtual int supprimer_mg_geom_fonctionid(unsigned long num);
230  virtual int supprimer_mg_geom_fonction(unsigned int num);
231  virtual void supprimer_tout_mg_geom_fonction(void);
232 
233 
234  virtual int ajouter_mg_cosommet(MG_COSOMMET* mgcosom);
235  virtual MG_COSOMMET* ajouter_mg_cosommet(MG_ARETE *mgarete,MG_SOMMET *mgsom);
236  virtual MG_COSOMMET* ajouter_mg_cosommet(unsigned long num,MG_ARETE *mgarete,MG_SOMMET *mgsom);
237  virtual int supprimer_mg_cosommet(MG_COSOMMET* mgcosom);
238  virtual int supprimer_mg_cosommetid(long num);
239  unsigned int get_nb_cosommet(void);
240  MG_COSOMMET* get_premier_cosommet(LISTE_MG_COSOMMET::iterator &it);
241  MG_COSOMMET* get_suivant_cosommet(LISTE_MG_COSOMMET::iterator &it);
242  MG_COSOMMET* get_mg_cosommetid(long num);
243 
244  virtual int ajouter_mg_coarete(MG_COARETE* mgcoarete);
245  virtual MG_COARETE* ajouter_mg_coarete(MG_ARETE *mgarete,MG_BOUCLE *mgboucle,int sens);
246  virtual MG_COARETE* ajouter_mg_coarete(unsigned long num,MG_ARETE *mgarete,MG_BOUCLE *mgboucle,int sens);
247  virtual int supprimer_mg_coarete(MG_COARETE* mgcoarete);
248  virtual int supprimer_mg_coareteid(long num);
249  unsigned int get_nb_coarete(void);
250  MG_COARETE* get_premier_coarete(LISTE_MG_COARETE::iterator &it);
251  MG_COARETE* get_suivant_coarete(LISTE_MG_COARETE::iterator &it);
252  MG_COARETE* get_mg_coareteid(long num);
253 
254  virtual int ajouter_mg_coface(MG_COFACE* mgcoface);
255  virtual MG_COFACE* ajouter_mg_coface(MG_FACE *mgface,MG_COQUILLE *mgcoq,int sens);
256  virtual MG_COFACE* ajouter_mg_coface(unsigned long num,MG_FACE *mgface,MG_COQUILLE *mgcoq,int sens);
257  virtual int supprimer_mg_coface(MG_COFACE* mgcoface);
258  virtual int supprimer_mg_cofaceid(long num);
259  unsigned int get_nb_coface(void);
260  MG_COFACE* get_premier_coface(LISTE_MG_COFACE::iterator &it);
261  MG_COFACE* get_suivant_coface(LISTE_MG_COFACE::iterator &it);
262  MG_COFACE* get_mg_cofaceid(long num);
263 
264  virtual int ajouter_mg_visu_courbe(MG_VISU_COURBE *mgvcrb);
265  MG_VISU_COURBE* get_mg_visu_courbeid(unsigned long num);
266  MG_VISU_COURBE* get_mg_visu_courbe(unsigned int num);
267  unsigned int get_nb_mg_visu_courbe(void);
268  MG_VISU_COURBE* get_premier_visu_courbe(LISTE_MG_VISU_COURBE::iterator &it);
269  MG_VISU_COURBE* get_suivant_visu_courbe(LISTE_MG_VISU_COURBE::iterator &it);
270  virtual int supprimer_mg_visu_courbeid(unsigned long num);
271  virtual int supprimer_mg_visu_courbe(unsigned int num);
272  virtual void supprimer_tout_mg_visu_courbe(void);
273 
274  virtual int ajouter_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE* mg_element_topologique);
275  virtual int ajouter_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE* mg_element_cotopologique);
276  virtual int ajouter_mg_element_geometrique(MG_ELEMENT_GEOMETRIQUE* mg_element_geometrique);
277  virtual int supprimer_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE* mg_element_topologique);
278  virtual int supprimer_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE* mg_element_cotopologique);
279  virtual int supprimer_mg_element_geometrique(MG_ELEMENT_GEOMETRIQUE* mg_element_geometrique);
280 
283 
284  virtual void remplir_mg_groupe_topologique(MG_GROUPE_TOPOLOGIQUE* mg_groupe_topologique);
285 
286  void change_gest_materiau(char* nom);
287  char* get_gest_materiau(void);
288 
289  virtual void enregistrer(std::ostream& o,double version);
290  friend std::ostream& operator << (std::ostream& o,MG_GEOMETRIE& geo);
291  virtual void get_fichier_dependant(std::vector<std::string> &liste_fichier);
292 
293 
294  char* get_nom_du_fichier(void);
295  char* get_type_geometrie(void);
296  bool est_virtuelle(void);
297  void cree_entite_visuel(double facteur=1.);
298 
299  void change_gestionnaire(class MG_GESTIONNAIRE* mggest);
300  double get_valeur_unite(void);
301  void change_valeur_unite(double val);
302  double get_valeur_precision(void);
303  void change_valeur_precision(double val);
304 
305 
306  void efface_ccf(bool volume,bool face,bool arete, bool sommet);
307 
308  void construit_vectorisation(void);
309  #ifdef BREP_SAT
310  class SAT_GESTIONNAIRE& get_gest_sat(void);
311  #endif
312  #ifdef BREP_STEP
313  class ST_GESTIONNAIRE& get_gest_step(void);
314  #endif
315  #ifdef BREP_OCC
316  class OCC_FONCTION& get_occ_fonction(void);
317  #endif
318 
319  bool est_construction(void);
320  void change_est_construction(bool val);
321 
322 protected:
323  void ini(char *type,char *nom);
325  char type_geo[16];
326 
327  double precision;
328 
329  std::string gest_materiau;
330 
350  double valeur_unite;
351 
352  #ifdef BREP_SAT
354  #endif
355  #ifdef BREP_STEP
357  #endif
358  #ifdef BREP_OCC
360  #endif
362 
363 };
364 
365 
366 
367 #endif
368 
369 
370 
371 
double get_valeur_precision(void)
MG_BOUCLE * get_premier_boucle(LISTE_MG_BOUCLE::iterator &it)
bool geometrie_construction
Definition: mg_geometrie.h:361
virtual int supprimer_mg_visu_courbeid(unsigned long num)
virtual int ajouter_mg_courbe(MG_COURBE *mgcrb)
virtual int supprimer_mg_face(unsigned int num)
MG_COQUILLE * get_mg_coquille(unsigned int num)
unsigned int get_nb_mg_arete(void)
unsigned int get_nb_mg_groupe_topologique(void)
MG_GEOM_FONCTION * get_mg_geom_fonctionid(unsigned long num)
unsigned int get_nb_coface(void)
class ST_GESTIONNAIRE & get_gest_step(void)
virtual void supprimer_tout_mg_courbe(void)
virtual int ajouter_mg_face(MG_FACE *mgface)
MG_COSOMMET * get_premier_cosommet(LISTE_MG_COSOMMET::iterator &it)
MG_GEOM_FONCTION * get_suivant_geom_fonction(LISTE_MG_GEOM_FONCTION::iterator &it)
virtual int ajouter_mg_poutre(MG_POUTRE *mgpoutre)
void change_valeur_unite(double val)
double precision
Definition: mg_geometrie.h:327
char type_geo[16]
Definition: mg_geometrie.h:325
virtual int supprimer_mg_coqueid(unsigned long num)
MG_SURFACE * get_mg_surfaceid(unsigned long num)
MG_COSOMMET * get_mg_cosommetid(long num)
LISTE_MG_SURFACE lst_mg_surface
Definition: mg_geometrie.h:334
MG_GEOMETRIE(char *type, const char *nom=NULL, double unite=1.0, double eps=1e-6)
MG_COFACE * get_premier_coface(LISTE_MG_COFACE::iterator &it)
LISTE_MG_POUTRE lst_mg_poutre
Definition: mg_geometrie.h:345
MG_COQUE * get_mg_coqueid(unsigned long num)
virtual int supprimer_mg_element_geometrique(MG_ELEMENT_GEOMETRIQUE *mg_element_geometrique)
MG_POUTRE * get_mg_poutreid(unsigned long num)
LISTE_MG_FACE lst_mg_face
Definition: mg_geometrie.h:340
LISTE_MG_SOMMET lst_mg_sommet
Definition: mg_geometrie.h:335
MG_BOUCLE * get_mg_boucle(unsigned int num)
MG_VISU_COURBE * get_mg_visu_courbe(unsigned int num)
LISTE_MG_GROUPE_TOPOLOGIQUE lst_mg_groupe_topologique
Definition: mg_geometrie.h:346
unsigned int get_nb_coarete(void)
MG_GROUPE_TOPOLOGIQUE * get_mg_groupe_topologiqueid(unsigned long num)
virtual int supprimer_mg_geom_fonction(unsigned int num)
double get_valeur_unite(void)
virtual int ajouter_mg_coquille(MG_COQUILLE *mgcoq)
virtual int supprimer_mg_arete(unsigned int num)
virtual int supprimer_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE *mg_element_cotopologique)
virtual MG_ELEMENT_COTOPOLOGIQUE * get_mg_element_cotopologiqueid(long num)
LISTE_MG_ARETE lst_mg_arete
Definition: mg_geometrie.h:337
virtual int supprimer_mg_coquilleid(unsigned long num)
virtual int ajouter_mg_visu_courbe(MG_VISU_COURBE *mgvcrb)
virtual int supprimer_mg_visu_courbe(unsigned int num)
MG_POINT * get_mg_point(unsigned int num)
unsigned int get_nb_mg_face(void)
unsigned int get_nb_mg_point(void)
LISTE_MG_COARETE lst_mg_coarete
Definition: mg_geometrie.h:338
MG_GROUPE_TOPOLOGIQUE * get_mg_groupe_topologique(unsigned int num)
virtual int supprimer_mg_coface(MG_COFACE *mgcoface)
MG_COQUE * get_mg_coque(unsigned int num)
MG_POUTRE * get_suivant_poutre(LISTE_MG_POUTRE::iterator &it)
LISTE_MG_VOLUME lst_mg_volume
Definition: mg_geometrie.h:343
MG_BOUCLE * get_mg_boucleid(unsigned long num)
virtual int supprimer_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE *mg_element_topologique)
virtual int supprimer_mg_point(unsigned int num)
virtual void supprimer_tout_mg_sommet(void)
MG_COQUILLE * get_premier_coquille(LISTE_MG_COQUILLE::iterator &it)
LISTE_MG_COQUILLE lst_mg_coquille
Definition: mg_geometrie.h:342
MG_POINT * get_premier_point(LISTE_MG_POINT::iterator &it)
virtual int ajouter_mg_surface(MG_SURFACE *mgsrf)
virtual int supprimer_mg_boucle(unsigned int num)
MG_COARETE * get_suivant_coarete(LISTE_MG_COARETE::iterator &it)
char * get_nom_du_fichier(void)
void efface_ccf(bool volume, bool face, bool arete, bool sommet)
virtual MG_ELEMENT_TOPOLOGIQUE * get_mg_element_topologiqueid(long num)
unsigned int get_nb_mg_poutre(void)
virtual int supprimer_mg_sommet(unsigned int num)
void ini(char *type, char *nom)
LISTE_MG_POINT lst_mg_point
Definition: mg_geometrie.h:332
virtual int ajouter_mg_point(MG_POINT *mgpt)
MG_GESTIONNAIRE * gest
Definition: mg_geometrie.h:349
virtual void supprimer_tout_mg_visu_courbe(void)
virtual int ajouter_mg_coarete(MG_COARETE *mgcoarete)
unsigned int get_nb_mg_courbe(void)
virtual void supprimer_tout_mg_coquille(void)
virtual int supprimer_mg_groupe_topologiqueid(unsigned long num)
virtual void supprimer_tout_mg_geom_fonction(void)
virtual int ajouter_mg_element_cotopologique(MG_ELEMENT_COTOPOLOGIQUE *mg_element_cotopologique)
MG_SOMMET * get_mg_sommet(unsigned int num)
virtual int supprimer_mg_cofaceid(long num)
virtual int ajouter_mg_volume(MG_VOLUME *mgvol)
double valeur_unite
Definition: mg_geometrie.h:350
MG_SURFACE * get_suivant_surface(LISTE_MG_SURFACE::iterator &it)
virtual int supprimer_mg_volume(unsigned int num)
virtual int supprimer_mg_courbeid(unsigned long num)
LISTE_MG_BOUCLE lst_mg_boucle
Definition: mg_geometrie.h:339
MG_VISU_COURBE * get_mg_visu_courbeid(unsigned long num)
MG_ARETE * get_suivant_arete(LISTE_MG_ARETE::iterator &it)
ST_GESTIONNAIRE fichstep
Definition: mg_geometrie.h:356
virtual int ajouter_mg_arete(MG_ARETE *mgarete)
void change_valeur_precision(double val)
unsigned int get_nb_mg_visu_courbe(void)
MG_VISU_COURBE * get_suivant_visu_courbe(LISTE_MG_VISU_COURBE::iterator &it)
virtual int ajouter_mg_coque(MG_COQUE *mgcoque)
virtual int supprimer_mg_cosommet(MG_COSOMMET *mgcosom)
virtual int supprimer_mg_geom_fonctionid(unsigned long num)
friend std::ostream & operator<<(std::ostream &o, MG_GEOMETRIE &geo)
MG_GROUPE_TOPOLOGIQUE * get_suivant_groupe_topologique(LISTE_MG_GROUPE_TOPOLOGIQUE::iterator &it)
virtual int supprimer_mg_poutreid(unsigned long num)
MG_ARETE * get_mg_arete(unsigned int num)
MG_GEOM_FONCTION * get_mg_geom_fonction(unsigned int num)
virtual void supprimer_tout_mg_poutre(void)
MG_COURBE * get_mg_courbeid(unsigned long num)
unsigned int get_nb_mg_coque(void)
MG_COARETE * get_mg_coareteid(long num)
virtual void enregistrer(std::ostream &o, double version)
MG_FACE * get_mg_face(unsigned int num)
virtual int supprimer_mg_faceid(unsigned long num)
MG_COSOMMET * get_suivant_cosommet(LISTE_MG_COSOMMET::iterator &it)
MG_ARETE * get_premier_arete(LISTE_MG_ARETE::iterator &it)
void change_gestionnaire(class MG_GESTIONNAIRE *mggest)
virtual int ajouter_mg_element_topologique(MG_ELEMENT_TOPOLOGIQUE *mg_element_topologique)
virtual int supprimer_mg_surface(unsigned int num)
MG_COFACE * get_mg_cofaceid(long num)
virtual void supprimer_tout_mg_boucle(void)
virtual int supprimer_mg_cosommetid(long num)
MG_POINT * get_mg_pointid(unsigned long num)
LISTE_MG_COQUE lst_mg_coque
Definition: mg_geometrie.h:344
MG_POINT * get_suivant_point(LISTE_MG_POINT::iterator &it)
virtual int supprimer_mg_volumeid(unsigned long num)
MG_FACE * get_premier_face(LISTE_MG_FACE::iterator &it)
char * get_gest_materiau(void)
virtual int ajouter_mg_groupe_topologique(MG_GROUPE_TOPOLOGIQUE *mggroupe_topologique)
virtual int supprimer_mg_areteid(unsigned long num)
virtual int ajouter_mg_cosommet(MG_COSOMMET *mgcosom)
virtual void remplir_mg_groupe_topologique(MG_GROUPE_TOPOLOGIQUE *mg_groupe_topologique)
MG_SOMMET * get_suivant_sommet(LISTE_MG_SOMMET::iterator &it)
MG_COQUE * get_suivant_coque(LISTE_MG_COQUE::iterator &it)
MG_GROUPE_TOPOLOGIQUE * get_premier_groupe_topologique(LISTE_MG_GROUPE_TOPOLOGIQUE::iterator &it)
class SAT_GESTIONNAIRE & get_gest_sat(void)
void cree_entite_visuel(double facteur=1.)
MG_BOUCLE * get_suivant_boucle(LISTE_MG_BOUCLE::iterator &it)
char * get_type_geometrie(void)
virtual int supprimer_mg_groupe_topologique(unsigned int num)
bool est_virtuelle(void)
virtual void get_fichier_dependant(std::vector< std::string > &liste_fichier)
LISTE_MG_COURBE lst_mg_courbe
Definition: mg_geometrie.h:333
MG_POUTRE * get_mg_poutre(unsigned int num)
virtual void supprimer_tout_mg_surface(void)
MG_SOMMET * get_premier_sommet(LISTE_MG_SOMMET::iterator &it)
MG_FACE * get_mg_faceid(unsigned long num)
virtual void supprimer_tout_mg_coque(void)
MG_COARETE * get_premier_coarete(LISTE_MG_COARETE::iterator &it)
MG_VOLUME * get_mg_volume(unsigned int num)
unsigned int get_nb_mg_coquille(void)
virtual void supprimer_tout_mg_volume(void)
virtual void supprimer_tout_mg_arete(void)
unsigned int get_nb_mg_surface(void)
virtual void supprimer_tout_mg_groupe_topologique(void)
void construit_vectorisation(void)
unsigned int get_nb_mg_geom_fonction(void)
virtual int ajouter_mg_boucle(MG_BOUCLE *mgboucle)
MG_SURFACE * get_premier_surface(LISTE_MG_SURFACE::iterator &it)
void change_gest_materiau(char *nom)
unsigned int get_nb_mg_sommet(void)
LISTE_MG_COSOMMET lst_mg_cosommet
Definition: mg_geometrie.h:336
virtual int ajouter_mg_geom_fonction(MG_GEOM_FONCTION *mggeofon)
virtual int supprimer_mg_poutre(unsigned int num)
MG_POUTRE * get_premier_poutre(LISTE_MG_POUTRE::iterator &it)
virtual int supprimer_mg_courbe(unsigned int num)
void change_est_construction(bool val)
MG_SOMMET * get_mg_sommetid(unsigned long num)
MG_COURBE * get_premier_courbe(LISTE_MG_COURBE::iterator &it)
unsigned int get_nb_mg_volume(void)
virtual void supprimer_tout_mg_face(void)
MG_COQUILLE * get_suivant_coquille(LISTE_MG_COQUILLE::iterator &it)
unsigned int get_nb_mg_boucle(void)
LISTE_MG_COFACE lst_mg_coface
Definition: mg_geometrie.h:341
LISTE_MG_VISU_COURBE lst_mg_visu_courbe
Definition: mg_geometrie.h:348
MG_COQUILLE * get_mg_coquilleid(unsigned long num)
virtual int supprimer_mg_sommetid(unsigned long num)
unsigned int get_nb_cosommet(void)
MG_FACE * get_suivant_face(LISTE_MG_FACE::iterator &it)
virtual int supprimer_mg_coquille(unsigned int num)
LISTE_ENTITE lst_entite
Definition: mg_geometrie.h:331
virtual int supprimer_mg_surfaceid(unsigned long num)
virtual int supprimer_mg_coque(unsigned int num)
SAT_GESTIONNAIRE fichsat
Definition: mg_geometrie.h:353
virtual int supprimer_mg_coareteid(long num)
virtual ~MG_GEOMETRIE()
class OCC_FONCTION & get_occ_fonction(void)
MG_COURBE * get_suivant_courbe(LISTE_MG_COURBE::iterator &it)
virtual int ajouter_mg_sommet(MG_SOMMET *mgsom)
virtual int supprimer_mg_pointid(unsigned long num)
std::string gest_materiau
Definition: mg_geometrie.h:329
MG_SURFACE * get_mg_surface(unsigned int num)
MG_COQUE * get_premier_coque(LISTE_MG_COQUE::iterator &it)
MG_COFACE * get_suivant_coface(LISTE_MG_COFACE::iterator &it)
MG_COURBE * get_mg_courbe(unsigned int num)
MG_ARETE * get_mg_areteid(unsigned long num)
virtual void supprimer_tout_mg_point(void)
MG_VISU_COURBE * get_premier_visu_courbe(LISTE_MG_VISU_COURBE::iterator &it)
bool est_construction(void)
OCC_FONCTION * fonction1
Definition: mg_geometrie.h:359
MG_VOLUME * get_suivant_volume(LISTE_MG_VOLUME::iterator &it)
MG_GEOM_FONCTION * get_premier_geom_fonction(LISTE_MG_GEOM_FONCTION::iterator &it)
MG_VOLUME * get_mg_volumeid(unsigned long num)
virtual int supprimer_mg_coarete(MG_COARETE *mgcoarete)
char * nom_du_fichier
Definition: mg_geometrie.h:324
virtual int ajouter_mg_coface(MG_COFACE *mgcoface)
virtual int ajouter_mg_element_geometrique(MG_ELEMENT_GEOMETRIQUE *mg_element_geometrique)
virtual class MG_SOMMET_NOEUD * ajouter_mg_sommet_noeud(MG_NOEUD *noeud)
LISTE_MG_GEOM_FONCTION lst_mg_geom_fonction
Definition: mg_geometrie.h:347
virtual int supprimer_mg_boucleid(unsigned long num)
MG_VOLUME * get_premier_volume(LISTE_MG_VOLUME::iterator &it)
MG_NOEUD * noeud
std::set< MG_IDENTIFICATEUR *, inf< MG_IDENTIFICATEUR * > > LISTE_ENTITE
Definition: fem_maillage.h:52
std::map< unsigned long, MG_POUTRE *, std::less< unsigned long > > LISTE_MG_POUTRE
Definition: mg_geometrie.h:77
std::map< unsigned long, MG_COARETE *, std::less< unsigned long > > LISTE_MG_COARETE
Definition: mg_geometrie.h:70
std::set< MG_IDENTIFICATEUR *, inf< MG_IDENTIFICATEUR * > > LISTE_ENTITE
Definition: mg_geometrie.h:63
std::map< unsigned long, MG_GEOM_FONCTION *, std::less< unsigned long > > LISTE_MG_GEOM_FONCTION
Definition: mg_geometrie.h:80
std::map< unsigned long, MG_COFACE *, std::less< unsigned long > > LISTE_MG_COFACE
Definition: mg_geometrie.h:73
std::map< unsigned long, MG_COSOMMET *, std::less< unsigned long > > LISTE_MG_COSOMMET
Definition: mg_geometrie.h:68
std::map< unsigned long, MG_ARETE *, std::less< unsigned long > > LISTE_MG_ARETE
Definition: mg_geometrie.h:69
std::map< unsigned long, MG_SOMMET *, std::less< unsigned long > > LISTE_MG_SOMMET
Definition: mg_geometrie.h:67
std::ostream & operator<<(std::ostream &o, class MG_GEOMETRIE &geo)
std::map< unsigned long, MG_VISU_COURBE *, std::less< unsigned long > > LISTE_MG_VISU_COURBE
Definition: mg_geometrie.h:78
std::map< unsigned long, MG_VOLUME *, std::less< unsigned long > > LISTE_MG_VOLUME
Definition: mg_geometrie.h:75
std::map< unsigned long, MG_COURBE *, std::less< unsigned long > > LISTE_MG_COURBE
Definition: mg_geometrie.h:65
std::map< unsigned long, MG_FACE *, std::less< unsigned long > > LISTE_MG_FACE
Definition: mg_geometrie.h:72
std::map< unsigned long, MG_COQUILLE *, std::less< unsigned long > > LISTE_MG_COQUILLE
Definition: mg_geometrie.h:74
std::map< unsigned long, MG_BOUCLE *, std::less< unsigned long > > LISTE_MG_BOUCLE
Definition: mg_geometrie.h:71
std::map< unsigned long, MG_GROUPE_TOPOLOGIQUE *, std::less< unsigned long > > LISTE_MG_GROUPE_TOPOLOGIQUE
Definition: mg_geometrie.h:79
std::map< unsigned long, MG_COQUE *, std::less< unsigned long > > LISTE_MG_COQUE
Definition: mg_geometrie.h:76
std::map< unsigned long, MG_POINT *, std::less< unsigned long > > LISTE_MG_POINT
Definition: mg_geometrie.h:64
std::map< unsigned long, MG_SURFACE *, std::less< unsigned long > > LISTE_MG_SURFACE
Definition: mg_geometrie.h:66