MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
acis_import.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 //####// acis_import.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifdef BREP_SAT
23 #ifndef acis_importH
24 #define acis_importH
25 
26 
27 
28 #include <vector>
29 #include "tpl_relation_entite.h"
30 #include "sat_gestionnaire.h"
31 
32 
33 
34 
35 
36 
37 
39 {
40 public:
41  ACIS_IMPORT();
42  virtual ~ACIS_IMPORT();
43 
44  class MG_GEOMETRIE* importer(class MG_GESTIONNAIRE& gest,char *path);
45 
46 private:
47  void relation(class SAT_FACE* ent1,class MG_FACE* ent2) {
49  r.a=ent1;
50  r.b=ent2;
51  lst_face.insert(lst_face.end(),r);
52  };
53  void relation(class SAT_SURFACE* ent1,class MG_SURFACE* ent2) {
55  r.a=ent1;
56  r.b=ent2;
57  lst_surface.insert(lst_surface.end(),r);
58  };
59  void relation(class SAT_EDGE* ent1,class MG_ARETE* ent2) {
61  r.a=ent1;
62  r.b=ent2;
63  lst_arete.insert(lst_arete.end(),r);
64  };
65  void relation(class SAT_COURBE* ent1,class MG_COURBE* ent2) {
67  r.a=ent1;
68  r.b=ent2;
69  lst_courbe.insert(lst_courbe.end(),r);
70  };
71  void relation(class SAT_VERTEX* ent1,class MG_SOMMET* ent2) {
73  r.a=ent1;
74  r.b=ent2;
75  lst_sommet.insert(lst_sommet.end(),r);
76  };
77 
79  {
80  std::vector<TPL_RELATION_ENTITE<SAT_FACE,MG_FACE> >::iterator i;
81  for (i=lst_face.begin();i!=lst_face.end();i++)
82  if ((*i).a==face) return (*i).b;
83  return NULL;
84  };
85 
87  {
88  std::vector<TPL_RELATION_ENTITE<SAT_FACE,MG_FACE> >::iterator i;
89  for (i=lst_face.begin();i!=lst_face.end();i++)
90  if ((*i).b==face) return (*i).a;
91  return NULL;
92  };
93 
94  // surface
96  {
97  std::vector<TPL_RELATION_ENTITE<SAT_SURFACE,MG_SURFACE> >::iterator i;
98  for (i=lst_surface.begin();i!=lst_surface.end();i++)
99  if ((*i).a==surface) return (*i).b;
100  return NULL;
101  };
102 
104  {
105  std::vector<TPL_RELATION_ENTITE<SAT_SURFACE,MG_SURFACE> >::iterator i;
106  for (i=lst_surface.begin();i!=lst_surface.end();i++)
107  if ((*i).b==surface) return (*i).a;
108  return NULL;
109  };
110 
111  //arete
113  {
114  std::vector<TPL_RELATION_ENTITE<SAT_EDGE,MG_ARETE> >::iterator i;
115  for (i=lst_arete.begin();i!=lst_arete.end();i++)
116  if ((*i).a==arete) return (*i).b;
117  return NULL;
118  };
119 
121  {
122  std::vector<TPL_RELATION_ENTITE<SAT_EDGE,MG_ARETE> >::iterator i;
123  for (i=lst_arete.begin();i!=lst_arete.end();i++)
124  if ((*i).b==arete) return (*i).a;
125  return NULL;
126  };
127 
128  // courbe
130  {
131  std::vector<TPL_RELATION_ENTITE<SAT_COURBE,MG_COURBE> >::iterator i;
132  for (i=lst_courbe.begin();i!=lst_courbe.end();i++)
133  if ((*i).a==courbe) return (*i).b;
134  return NULL;
135  };
136 
138  {
139  std::vector<TPL_RELATION_ENTITE<SAT_COURBE,MG_COURBE> >::iterator i;
140  for (i=lst_courbe.begin();i!=lst_courbe.end();i++)
141  if ((*i).b==courbe) return (*i).a;
142  return NULL;
143  };
144 
145  //sommet
146 
148  {
149  std::vector<TPL_RELATION_ENTITE<SAT_VERTEX,MG_SOMMET> >::iterator i;
150  for (i=lst_sommet.begin();i!=lst_sommet.end();i++)
151  if ((*i).a==sommet) return (*i).b;
152  return NULL;
153  };
154 
156  {
157  std::vector<TPL_RELATION_ENTITE<SAT_VERTEX,MG_SOMMET> >::iterator i;
158  for (i=lst_sommet.begin();i!=lst_sommet.end();i++)
159  if ((*i).b==sommet) return (*i).a;
160  return NULL;
161  };
162 
163  std::vector<TPL_RELATION_ENTITE<SAT_FACE,MG_FACE> > lst_face;
164  std::vector<TPL_RELATION_ENTITE<SAT_SURFACE,MG_SURFACE> > lst_surface;
165  std::vector<TPL_RELATION_ENTITE<SAT_EDGE,MG_ARETE> > lst_arete;
166  std::vector<TPL_RELATION_ENTITE<SAT_COURBE,MG_COURBE> > lst_courbe;
167  std::vector<TPL_RELATION_ENTITE<SAT_VERTEX,MG_SOMMET> > lst_sommet;
168 
169 
170 } ;
171 
172 
173 
174 
175 
176 
177 #endif
178 #endif
179 
180 
181 
ACIS_IMPORT::trouver
SAT_COURBE * trouver(MG_COURBE *courbe)
Definition: acis_import.h:137
ACIS_IMPORT::lst_surface
std::vector< TPL_RELATION_ENTITE< SAT_SURFACE, MG_SURFACE > > lst_surface
Definition: acis_import.h:164
ACIS_IMPORT::lst_courbe
std::vector< TPL_RELATION_ENTITE< SAT_COURBE, MG_COURBE > > lst_courbe
Definition: acis_import.h:166
ACIS_IMPORT::relation
void relation(class SAT_SURFACE *ent1, class MG_SURFACE *ent2)
Definition: acis_import.h:53
MG_SURFACE
Definition: mg_surface.h:31
ACIS_IMPORT::relation
void relation(class SAT_VERTEX *ent1, class MG_SOMMET *ent2)
Definition: acis_import.h:71
ACIS_IMPORT::trouver
SAT_FACE * trouver(MG_FACE *face)
Definition: acis_import.h:86
TPL_RELATION_ENTITE
Definition: tpl_relation_entite.h:31
ACIS_IMPORT::trouver
SAT_EDGE * trouver(MG_ARETE *arete)
Definition: acis_import.h:120
ACIS_IMPORT::lst_sommet
std::vector< TPL_RELATION_ENTITE< SAT_VERTEX, MG_SOMMET > > lst_sommet
Definition: acis_import.h:167
TPL_RELATION_ENTITE::b
B * b
Definition: tpl_relation_entite.h:35
ACIS_IMPORT::relation
void relation(class SAT_COURBE *ent1, class MG_COURBE *ent2)
Definition: acis_import.h:65
ACIS_IMPORT::importer
class MG_GEOMETRIE * importer(class MG_GESTIONNAIRE &gest, char *path)
Definition: acis_import.cpp:62
MG_GESTIONNAIRE
Definition: mg_gestionnaire.h:57
MG_COURBE
Definition: mg_courbe.h:30
tpl_relation_entite.h
sat_gestionnaire.h
ACIS_IMPORT::relation
void relation(class SAT_EDGE *ent1, class MG_ARETE *ent2)
Definition: acis_import.h:59
SAT_FACE
Definition: sat_face.h:28
ACIS_IMPORT::lst_arete
std::vector< TPL_RELATION_ENTITE< SAT_EDGE, MG_ARETE > > lst_arete
Definition: acis_import.h:165
ACIS_IMPORT
Definition: acis_import.h:38
ACIS_IMPORT::trouver
MG_COURBE * trouver(SAT_COURBE *courbe)
Definition: acis_import.h:129
ACIS_IMPORT::relation
void relation(class SAT_FACE *ent1, class MG_FACE *ent2)
Definition: acis_import.h:47
SAT_SURFACE
Definition: sat_surface.h:29
TPL_RELATION_ENTITE::a
A * a
Definition: tpl_relation_entite.h:34
ACIS_IMPORT::~ACIS_IMPORT
virtual ~ACIS_IMPORT()
Definition: acis_import.cpp:57
MG_GEOMETRIE
Definition: mg_geometrie.h:84
ACIS_IMPORT::ACIS_IMPORT
ACIS_IMPORT()
Definition: acis_import.cpp:52
ACIS_IMPORT::lst_face
std::vector< TPL_RELATION_ENTITE< SAT_FACE, MG_FACE > > lst_face
Definition: acis_import.h:161
ACIS_IMPORT::trouver
MG_SOMMET * trouver(SAT_VERTEX *sommet)
Definition: acis_import.h:147
MG_ARETE
Definition: mg_arete.h:36
MG_FACE
Definition: mg_face.h:34
SAT_EDGE
Definition: sat_edge.h:28
SAT_COURBE
Definition: sat_courbe.h:33
MG_SOMMET
Definition: mg_sommet.h:35
MG_GEOMETRIE::gest
MG_GESTIONNAIRE * gest
Definition: mg_geometrie.h:349
ACIS_IMPORT::trouver
MG_ARETE * trouver(SAT_EDGE *arete)
Definition: acis_import.h:112
ACIS_IMPORT::trouver
SAT_VERTEX * trouver(MG_SOMMET *sommet)
Definition: acis_import.h:155
SAT_VERTEX
Definition: sat_vertex.h:29
ACIS_IMPORT::trouver
MG_SURFACE * trouver(SAT_SURFACE *surface)
Definition: acis_import.h:95
ACIS_IMPORT::trouver
MG_FACE * trouver(SAT_FACE *face)
Definition: acis_import.h:78
ACIS_IMPORT::trouver
SAT_SURFACE * trouver(MG_SURFACE *surface)
Definition: acis_import.h:103