ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_cg.cpp
Revision: 911
Committed: Wed Jan 10 17:25:24 2018 UTC (7 years, 4 months ago) by couturad
File size: 16871 byte(s)
Log Message:
* Modifications pour MG_CG
* Modification de MG_SOUS_GEOMETRIE pour la fonction de compression

File Contents

# User Rev Content
1 couturad 907 #include "mg_cg.h"
2     #include "mg_gestionnaire.h"
3     #include "mg_geometrie.h"
4     #include "mg_sous_geometrie.h"
5     #include "mg_cg_modele.h"
6     #include "mg_cg_assemblage.h"
7     #include "mg_arete.h"
8     #include "mg_volume.h"
9     #include "mg_cg_forme.h"
10    
11     #include "mg_cg_forme_arete.h"
12     #include "mg_cg_forme_arete_droite.h"
13    
14     #include "mg_cg_forme_volume.h"
15     #include "mg_cg_forme_volume_boite.h"
16     #include "mg_cg_forme_volume_sphere.h"
17     #include "mg_cg_forme_volume_ellipsoide.h"
18     #include "mg_cg_forme_volume_cylindre.h"
19     #include "mg_cg_forme_volume_cone.h"
20     #include "mg_cg_forme_volume_tore.h"
21     #include "mg_cg_forme_multiple.h"
22     #include "mg_cg_forme_multi_volume.h"
23     #include "mg_cg_op_bool_union.h"
24     #include "mg_cg_op_bool_difference.h"
25     #include "mg_cg_op_bool_intersection.h"
26     #include "mg_cg_op_bool_fragment.h"
27     #include "mg_cg_op_inclusion_matrice.h"
28     #include "mg_cg_op_transf_rotation.h"
29     #include "mg_cg_op_transf_translation.h"
30     #include "mg_cg_op_transf_echelle.h"
31     #ifdef ALL_OCC
32     #include "occ_fonction.h"
33     #include "occ_fonction_v2017.h"
34     #include "occ_cg_forme_arete_droite.h"
35     #include "occ_cg_forme_volume_boite.h"
36     #include "occ_cg_forme_volume_sphere.h"
37     #include "occ_cg_forme_volume_ellipsoide.h"
38     #include "occ_cg_forme_volume_cylindre.h"
39     #include "occ_cg_forme_volume_cone.h"
40     #include "occ_cg_forme_volume_tore.h"
41     #include "occ_cg_op_bool_union.h"
42     #include "occ_cg_op_bool_difference.h"
43     #include "occ_cg_op_bool_intersection.h"
44     #include "occ_cg_op_bool_fragment.h"
45     #include "occ_cg_op_inclusion_matrice.h"
46     #include "occ_cg_op_transf_rotation.h"
47     #include "occ_cg_op_transf_translation.h"
48     #include "occ_cg_op_transf_echelle.h"
49     #endif
50    
51     MG_CG_MODELE* MG_CG::creer_MG_CG_MODELE(MG_GESTIONNAIRE* mg_gestionnaire, string nom_mgcg_modele,double unite,double eps)
52     {
53     #ifdef ALL_OCC
54     MG_GEOMETRIE* mg_geometrie = new MG_GEOMETRIE((char*)"OCCV2017",(char*)nom_mgcg_modele.c_str(),unite,eps);
55     mg_gestionnaire->ajouter_mg_geometrie(mg_geometrie);
56     return new MG_CG_MODELE(mg_gestionnaire,nom_mgcg_modele,mg_geometrie);
57     #endif
58     }
59    
60     MG_CG_MODELE* MG_CG::creer_MG_CG_MODELE(MG_GESTIONNAIRE* mg_gestionnaire, string nom_mgcg_modele, MG_GEOMETRIE* mg_geometrie)
61     {
62     return new MG_CG_MODELE(mg_gestionnaire,nom_mgcg_modele,mg_geometrie);
63     }
64    
65     MG_CG_MODELE* MG_CG::creer_MG_CG_MODELE(MG_GESTIONNAIRE* mg_gestionnaire, string nom_mgcg_modele, MG_GEOMETRIE* mg_geometrie, long unsigned int num)
66     {
67     return new MG_CG_MODELE(mg_gestionnaire,nom_mgcg_modele,mg_geometrie,num);
68     }
69    
70     MG_CG_ASSEMBLAGE* MG_CG::creer_MG_CG_ASSEMBLAGE(MG_CG_MODELE* mgcg_modele, string nom_mgcg_assemblage)
71     {
72     return new MG_CG_ASSEMBLAGE(mgcg_modele,nom_mgcg_assemblage);
73     }
74    
75     MG_CG_ASSEMBLAGE* MG_CG::creer_MG_CG_ASSEMBLAGE(MG_CG_MODELE* mgcg_modele, long unsigned int num, string nom_mgcg_assemblage, MG_SOUS_GEOMETRIE* mg_sous_geometrie)
76     {
77     return new MG_CG_ASSEMBLAGE(mgcg_modele,num,nom_mgcg_assemblage,mg_sous_geometrie);
78     }
79    
80 couturad 911 MG_CG_FORME_ARETE* MG_CG::creer_MG_CG_FORME_ARETE(MG_CG_MODELE* mgcg_modele,int provenance, MG_ARETE* mg_arete)
81 couturad 907 {
82 couturad 911 return new MG_CG_FORME_ARETE(mgcg_modele,provenance,mg_arete);
83 couturad 907 }
84    
85 couturad 911 MG_CG_FORME_ARETE* MG_CG::creer_MG_CG_FORME_ARETE(MG_CG_MODELE* mgcg_modele,int provenance, int etat, long unsigned int num, MG_ARETE* mg_arete)
86 couturad 907 {
87 couturad 911 return new MG_CG_FORME_ARETE(mgcg_modele,provenance,etat,num,mg_arete);
88 couturad 907 }
89    
90 couturad 911 MG_CG_FORME_ARETE_DROITE* MG_CG::creer_MG_CG_FORME_ARETE_DROITE(MG_CG_MODELE* mgcg_modele,double x1, double y1, double z1, double x2, double y2, double z2)
91 couturad 907 {
92     #ifdef ALL_OCC
93 couturad 911 return new OCC_CG_FORME_ARETE_DROITE(mgcg_modele,x1,y1,z1,x2,y2,z2);
94 couturad 907 #endif
95     }
96    
97 couturad 911 MG_CG_FORME_ARETE_DROITE* MG_CG::creer_MG_CG_FORME_ARETE_DROITE(MG_CG_MODELE* mgcg_modele,int etat, long unsigned int num, MG_ARETE* mg_arete, double x1, double y1, double z1, double x2, double y2, double z2)
98 couturad 907 {
99     #ifdef ALL_OCC
100 couturad 911 return new OCC_CG_FORME_ARETE_DROITE(mgcg_modele,etat,num,mg_arete,x1,y1,z1,x2,y2,z2);
101 couturad 907 #endif
102     }
103    
104 couturad 911 MG_CG_FORME_VOLUME* MG_CG::creer_MG_CG_FORME_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance, MG_VOLUME* mg_volume)
105 couturad 907 {
106 couturad 911 return new MG_CG_FORME_VOLUME(mgcg_modele,provenance,mg_volume);
107 couturad 907 }
108    
109 couturad 911 MG_CG_FORME_VOLUME* MG_CG::creer_MG_CG_FORME_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance, int etat, long unsigned int num, MG_VOLUME* mg_volume)
110 couturad 907 {
111 couturad 911 return new MG_CG_FORME_VOLUME(mgcg_modele,provenance,etat,num,mg_volume);
112 couturad 907 }
113    
114 couturad 911 MG_CG_FORME_VOLUME_BOITE* MG_CG::creer_MG_CG_FORME_VOLUME_BOITE(MG_CG_MODELE* mgcg_modele,double x1, double y1, double z1, double x2, double y2, double z2)
115 couturad 907 {
116     #ifdef ALL_OCC
117 couturad 911 return new OCC_CG_FORME_VOLUME_BOITE(mgcg_modele,x1,y1,z1,x2,y2,z2);
118 couturad 907 #endif
119     }
120    
121 couturad 911 MG_CG_FORME_VOLUME_BOITE* MG_CG::creer_MG_CG_FORME_VOLUME_BOITE(MG_CG_MODELE* mgcg_modele,int etat, long unsigned int num, MG_VOLUME* mg_volume, double x1, double y1, double z1, double x2, double y2, double z2)
122 couturad 907 {
123     #ifdef ALL_OCC
124 couturad 911 return new OCC_CG_FORME_VOLUME_BOITE(mgcg_modele,etat,num,mg_volume,x1,y1,z1,x2,y2,z2);
125 couturad 907 #endif
126     }
127    
128 couturad 911 MG_CG_FORME_VOLUME_SPHERE* MG_CG::creer_MG_CG_FORME_VOLUME_SPHERE(MG_CG_MODELE* mgcg_modele,double centre_x, double centre_y, double centre_z, double rayon)
129 couturad 907 {
130     #ifdef ALL_OCC
131 couturad 911 return new OCC_CG_FORME_VOLUME_SPHERE(mgcg_modele,centre_x,centre_y,centre_z,rayon);
132 couturad 907 #endif
133     }
134    
135 couturad 911 MG_CG_FORME_VOLUME_SPHERE* MG_CG::creer_MG_CG_FORME_VOLUME_SPHERE(MG_CG_MODELE* mgcg_modele,int etat, long unsigned int num, MG_VOLUME* mg_volume, double centre_x, double centre_y, double centre_z, double rayon)
136 couturad 907 {
137     #ifdef ALL_OCC
138 couturad 911 return new OCC_CG_FORME_VOLUME_SPHERE(mgcg_modele,etat,num,mg_volume,centre_x,centre_y,centre_z,rayon);
139 couturad 907 #endif
140     }
141    
142 couturad 911 MG_CG_FORME_VOLUME_ELLIPSOIDE* MG_CG::creer_MG_CG_FORME_VOLUME_ELLIPSOIDE(MG_CG_MODELE* mgcg_modele,double centre_x, double centre_y, double centre_z, double direction_x, double direction_y, double direction_z, double rayon_majeur, double rayon_mineur)
143 couturad 907 {
144     #ifdef ALL_OCC
145 couturad 911 return new OCC_CG_FORME_VOLUME_ELLIPSOIDE(mgcg_modele,centre_x,centre_y,centre_z,direction_x,direction_y,direction_z,rayon_majeur,rayon_mineur);
146 couturad 907 #endif
147     }
148    
149 couturad 911 MG_CG_FORME_VOLUME_ELLIPSOIDE* MG_CG::creer_MG_CG_FORME_VOLUME_ELLIPSOIDE(MG_CG_MODELE* mgcg_modele,int etat, long unsigned int num, MG_VOLUME* mg_volume, double centre_x, double centre_y, double centre_z, double direction_x, double direction_y, double direction_z, double rayon_majeur, double rayon_mineur)
150 couturad 907 {
151     #ifdef ALL_OCC
152 couturad 911 return new OCC_CG_FORME_VOLUME_ELLIPSOIDE(mgcg_modele,etat,num,mg_volume,centre_x,centre_y,centre_z,direction_x,direction_y,direction_z,rayon_majeur,rayon_mineur);
153 couturad 907 #endif
154     }
155    
156 couturad 911 MG_CG_FORME_VOLUME_CYLINDRE* MG_CG::creer_MG_CG_FORME_VOLUME_CYLINDRE(MG_CG_MODELE* mgcg_modele,double extremite_x, double extremite_y, double extremite_z, double direction_x, double direction_y, double direction_z, double rayon, double longueur)
157 couturad 907 {
158     #ifdef ALL_OCC
159 couturad 911 return new OCC_CG_FORME_VOLUME_CYLINDRE(mgcg_modele,extremite_x,extremite_y,extremite_z,direction_x,direction_y,direction_z,rayon,longueur);
160 couturad 907 #endif
161     }
162    
163 couturad 911 MG_CG_FORME_VOLUME_CYLINDRE* MG_CG::creer_MG_CG_FORME_VOLUME_CYLINDRE(MG_CG_MODELE* mgcg_modele,int etat, long unsigned int num, MG_VOLUME* mg_volume, double extremite_x, double extremite_y, double extremite_z, double direction_x, double direction_y, double direction_z, double rayon, double longueur)
164 couturad 907 {
165     #ifdef ALL_OCC
166 couturad 911 return new OCC_CG_FORME_VOLUME_CYLINDRE(mgcg_modele,etat,num,mg_volume,extremite_x,extremite_y,extremite_z,direction_x,direction_y,direction_z,rayon,longueur);
167 couturad 907 #endif
168     }
169    
170 couturad 911 MG_CG_FORME_VOLUME_CONE* MG_CG::creer_MG_CG_FORME_VOLUME_CONE(MG_CG_MODELE* mgcg_modele,double extremite_x, double extremite_y, double extremite_z, double direction_x, double direction_y, double direction_z, double rayon, double longueur)
171 couturad 907 {
172     #ifdef ALL_OCC
173 couturad 911 return new OCC_CG_FORME_VOLUME_CONE(mgcg_modele,extremite_x,extremite_y,extremite_z,direction_x,direction_y,direction_z,rayon,longueur);
174 couturad 907 #endif
175     }
176    
177 couturad 911 MG_CG_FORME_VOLUME_CONE* MG_CG::creer_MG_CG_FORME_VOLUME_CONE(MG_CG_MODELE* mgcg_modele,int etat, long unsigned int num, MG_VOLUME* mg_volume, double extremite_x, double extremite_y, double extremite_z, double direction_x, double direction_y, double direction_z, double rayon, double longueur)
178 couturad 907 {
179     #ifdef ALL_OCC
180 couturad 911 return new OCC_CG_FORME_VOLUME_CONE(mgcg_modele,etat,num,mg_volume,extremite_x,extremite_y,extremite_z,direction_x,direction_y,direction_z,rayon,longueur);
181 couturad 907 #endif
182     }
183    
184 couturad 911 MG_CG_FORME_VOLUME_TORE* MG_CG::creer_MG_CG_FORME_VOLUME_TORE(MG_CG_MODELE* mgcg_modele,double centre_x, double centre_y, double centre_z, double direction_x, double direction_y, double direction_z, double rayon_cercle, double rayon_tore)
185 couturad 907 {
186     #ifdef ALL_OCC
187 couturad 911 return new OCC_CG_FORME_VOLUME_TORE(mgcg_modele,centre_x,centre_y,centre_z,direction_x,direction_y,direction_z,rayon_cercle,rayon_tore);
188 couturad 907 #endif
189     }
190    
191 couturad 911 MG_CG_FORME_VOLUME_TORE* MG_CG::creer_MG_CG_FORME_VOLUME_TORE(MG_CG_MODELE* mgcg_modele,int etat, long unsigned int num, MG_VOLUME* mg_volume, double centre_x, double centre_y, double centre_z, double direction_x, double direction_y, double direction_z, double rayon_cercle, double rayon_tore)
192 couturad 907 {
193     #ifdef ALL_OCC
194 couturad 911 return new OCC_CG_FORME_VOLUME_TORE(mgcg_modele,etat,num,mg_volume,centre_x,centre_y,centre_z,direction_x,direction_y,direction_z,rayon_cercle,rayon_tore);
195 couturad 907 #endif
196     }
197    
198 couturad 911 MG_CG_FORME_MULTIPLE* MG_CG::creer_MG_CG_FORME_MULTIPLE(MG_CG_MODELE* mgcg_modele,int provenance, std::vector< MG_ELEMENT_TOPOLOGIQUE* >& vector_mg_element_topologique, std::vector< MG_ELEMENT_COTOPOLOGIQUE* >& vector_mg_element_cotopologique)
199 couturad 907 {
200 couturad 911 return new MG_CG_FORME_MULTIPLE(mgcg_modele,provenance,vector_mg_element_topologique,vector_mg_element_cotopologique);
201 couturad 907 }
202    
203 couturad 911 MG_CG_FORME_MULTIPLE* MG_CG::creer_MG_CG_FORME_MULTIPLE(MG_CG_MODELE* mgcg_modele,int provenance, int etat, long unsigned int num, std::vector< MG_ELEMENT_TOPOLOGIQUE* >& vector_mg_element_topologique, std::vector< MG_ELEMENT_COTOPOLOGIQUE* >& vector_mg_element_cotopologique)
204 couturad 907 {
205 couturad 911 return new MG_CG_FORME_MULTIPLE(mgcg_modele,provenance,etat,num,vector_mg_element_topologique,vector_mg_element_cotopologique);
206 couturad 907 }
207    
208 couturad 911 MG_CG_FORME_MULTI_VOLUME* MG_CG::creer_MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance, std::vector< MG_VOLUME* >& vector_mg_volume)
209 couturad 907 {
210 couturad 911 return new MG_CG_FORME_MULTI_VOLUME(mgcg_modele,provenance,vector_mg_volume);
211 couturad 907 }
212    
213 couturad 911 MG_CG_FORME_MULTI_VOLUME* MG_CG::creer_MG_CG_FORME_MULTI_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance, int etat, long unsigned int num, std::vector< MG_VOLUME* >& vector_mg_volume)
214 couturad 907 {
215 couturad 911 return new MG_CG_FORME_MULTI_VOLUME(mgcg_modele,provenance,etat,num,vector_mg_volume);
216 couturad 907 }
217    
218 couturad 911 MG_CG_OP_BOOL_UNION* MG_CG::creer_MG_CG_OP_BOOL_UNION(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2)
219 couturad 907 {
220     #ifdef ALL_OCC
221 couturad 911 return new OCC_CG_OP_BOOL_UNION(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
222 couturad 907 #endif
223     }
224    
225 couturad 911 MG_CG_OP_BOOL_UNION* MG_CG::creer_MG_CG_OP_BOOL_UNION(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2, long int id_mgcg_forme_sortie)
226 couturad 907 {
227     #ifdef ALL_OCC
228 couturad 911 return new OCC_CG_OP_BOOL_UNION(mgcg_modele,semantique,etat,num,mgcg_forme_entree_1,mgcg_forme_entree_2,id_mgcg_forme_sortie);
229 couturad 907 #endif
230     }
231    
232 couturad 911 MG_CG_OP_BOOL_DIFFERENCE* MG_CG::creer_MG_CG_OP_BOOL_DIFFERENCE(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2)
233 couturad 907 {
234     #ifdef ALL_OCC
235 couturad 911 return new OCC_CG_OP_BOOL_DIFFERENCE(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
236 couturad 907 #endif
237     }
238    
239 couturad 911 MG_CG_OP_BOOL_DIFFERENCE* MG_CG::creer_MG_CG_OP_BOOL_DIFFERENCE(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2, long int id_mgcg_forme_sortie)
240 couturad 907 {
241     #ifdef ALL_OCC
242 couturad 911 return new OCC_CG_OP_BOOL_DIFFERENCE(mgcg_modele,semantique,etat,num,mgcg_forme_entree_1,mgcg_forme_entree_2,id_mgcg_forme_sortie);
243 couturad 907 #endif
244     }
245    
246 couturad 911 MG_CG_OP_BOOL_INTERSECTION* MG_CG::creer_MG_CG_OP_BOOL_INTERSECTION(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2)
247 couturad 907 {
248     #ifdef ALL_OCC
249 couturad 911 return new OCC_CG_OP_BOOL_INTERSECTION(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
250 couturad 907 #endif
251     }
252    
253 couturad 911 MG_CG_OP_BOOL_INTERSECTION* MG_CG::creer_MG_CG_OP_BOOL_INTERSECTION(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2, long int id_mgcg_forme_sortie)
254 couturad 907 {
255     #ifdef ALL_OCC
256 couturad 911 return new OCC_CG_OP_BOOL_INTERSECTION(mgcg_modele,semantique,etat,num,mgcg_forme_entree_1,mgcg_forme_entree_2,id_mgcg_forme_sortie);
257 couturad 907 #endif
258     }
259    
260 couturad 911 MG_CG_OP_BOOL_FRAGMENT* MG_CG::creer_MG_CG_OP_BOOL_FRAGMENT(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2)
261 couturad 907 {
262     #ifdef ALL_OCC
263 couturad 911 return new OCC_CG_OP_BOOL_FRAGMENT(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
264 couturad 907 #endif
265     }
266    
267 couturad 911 MG_CG_OP_BOOL_FRAGMENT* MG_CG::creer_MG_CG_OP_BOOL_FRAGMENT(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_entree_1, MG_CG_FORME* mgcg_forme_entree_2, long int id_mgcg_forme_sortie)
268 couturad 907 {
269     #ifdef ALL_OCC
270 couturad 911 return new OCC_CG_OP_BOOL_FRAGMENT(mgcg_modele,semantique,etat,num,mgcg_forme_entree_1,mgcg_forme_entree_2,id_mgcg_forme_sortie);
271 couturad 907 #endif
272     }
273    
274 couturad 911 MG_CG_OP_INCLUSION_MATRICE* MG_CG::creer_MG_CG_OP_INCLUSION_MATRICE(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_inclusion_entree, MG_CG_FORME* mgcg_forme_matrice_entree)
275 couturad 907 {
276     #ifdef ALL_OCC
277 couturad 911 return new OCC_CG_OP_INCLUSION_MATRICE(mgcg_modele,semantique,mgcg_forme_inclusion_entree,mgcg_forme_matrice_entree);
278 couturad 907 #endif
279     }
280    
281 couturad 911 MG_CG_OP_INCLUSION_MATRICE* MG_CG::creer_MG_CG_OP_INCLUSION_MATRICE(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_inclusion_entree, MG_CG_FORME* mgcg_forme_matrice_entree, long int id_mgcg_forme_inclusion_sortie, long int id_mgcg_forme_matrice_sortie)
282 couturad 907 {
283     #ifdef ALL_OCC
284 couturad 911 return new OCC_CG_OP_INCLUSION_MATRICE(mgcg_modele,semantique,etat,num,mgcg_forme_inclusion_entree,mgcg_forme_matrice_entree,id_mgcg_forme_inclusion_sortie,id_mgcg_forme_matrice_sortie);
285 couturad 907 #endif
286     }
287    
288 couturad 911 MG_CG_OP_TRANSF_ROTATION* MG_CG::creer_MG_CG_OP_TRANSF_ROTATION(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_entree)
289 couturad 907 {
290     #ifdef ALL_OCC
291 couturad 911 return new OCC_CG_OP_TRANSF_ROTATION(mgcg_modele,semantique,mgcg_forme_entree);
292 couturad 907 #endif
293     }
294    
295 couturad 911 MG_CG_OP_TRANSF_ROTATION* MG_CG::creer_MG_CG_OP_TRANSF_ROTATION(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_entree, long int id_mgcg_forme_sortie)
296 couturad 907 {
297     #ifdef ALL_OCC
298 couturad 911 return new OCC_CG_OP_TRANSF_ROTATION(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie);
299 couturad 907 #endif
300     }
301    
302 couturad 911 MG_CG_OP_TRANSF_TRANSLATION* MG_CG::creer_MG_CG_OP_TRANSF_TRANSLATION(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_entree)
303 couturad 907 {
304     #ifdef ALL_OCC
305 couturad 911 return new OCC_CG_OP_TRANSF_TRANSLATION(mgcg_modele,semantique,mgcg_forme_entree);
306 couturad 907 #endif
307     }
308    
309 couturad 911 MG_CG_OP_TRANSF_TRANSLATION* MG_CG::creer_MG_CG_OP_TRANSF_TRANSLATION(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_entree, long int id_mgcg_forme_sortie)
310 couturad 907 {
311     #ifdef ALL_OCC
312 couturad 911 return new OCC_CG_OP_TRANSF_TRANSLATION(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie);
313 couturad 907 #endif
314     }
315    
316 couturad 911 MG_CG_OP_TRANSF_ECHELLE* MG_CG::creer_MG_CG_OP_TRANSF_ECHELLE(MG_CG_MODELE* mgcg_modele,int semantique, MG_CG_FORME* mgcg_forme_entree)
317 couturad 907 {
318     #ifdef ALL_OCC
319 couturad 911 return new OCC_CG_OP_TRANSF_ECHELLE(mgcg_modele,semantique,mgcg_forme_entree);
320 couturad 907 #endif
321     }
322    
323 couturad 911 MG_CG_OP_TRANSF_ECHELLE* MG_CG::creer_MG_CG_OP_TRANSF_ECHELLE(MG_CG_MODELE* mgcg_modele,int semantique, int etat, long unsigned int num, MG_CG_FORME* mgcg_forme_entree, long int id_mgcg_forme_sortie)
324 couturad 907 {
325     #ifdef ALL_OCC
326 couturad 911 return new OCC_CG_OP_TRANSF_ECHELLE(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie);
327 couturad 907 #endif
328     }
329    
330     int MG_CG::exporter_fichier_brep(char* nom, MG_CG_MODELE* mgcg_modele)
331     {
332     MG_GEOMETRIE* mg_geometrie = mgcg_modele->get_mg_geometrie();
333     #ifdef ALL_OCC
334     OCC_FONCTION* occ_fonction = &mg_geometrie->get_occ_fonction();
335     if(occ_fonction->get_version()=="OCCV2017")
336     {
337     OCC_FONCTION_V2017* occ_fonction_v2017 = (OCC_FONCTION_V2017*)occ_fonction;
338     return occ_fonction_v2017->exporter_fichier_brep(nom,mg_geometrie);
339     }
340     #endif
341     return 0;
342     }
343    
344     int MG_CG::exporter_fichier_brep(char* nom, MG_CG_ASSEMBLAGE* mgcg_assemblage)
345     {
346     MG_GEOMETRIE* mg_geometrie_modele = mgcg_assemblage->get_mgcg_modele()->get_mg_geometrie();
347     MG_GEOMETRIE* mg_geometrie_assemblage = (MG_GEOMETRIE*)mgcg_assemblage->get_mg_sous_geometrie();
348     #ifdef ALL_OCC
349     OCC_FONCTION* occ_fonction = &mg_geometrie_modele->get_occ_fonction();
350     if(occ_fonction->get_version()=="OCCV2017")
351     {
352     OCC_FONCTION_V2017* occ_fonction_v2017 = (OCC_FONCTION_V2017*)occ_fonction;
353     return occ_fonction_v2017->exporter_fichier_brep(nom,mgcg_assemblage->get_mg_sous_geometrie());
354     }
355     #endif
356     return 0;
357     }
358    
359    
360    
361    
362    
363    
364    
365    
366    
367