ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_cg.cpp
Revision: 919
Committed: Tue Mar 6 17:51:54 2018 UTC (7 years, 2 months ago) by couturad
File size: 17027 byte(s)
Log Message:
Correction des bugs lors de l'execution en mode RELWITHDEBINFO.
Ajouts de fichiers pour la librairie MICROSTRUCTURE

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 couturad 919 std::string nom_fichier_ocaf = nom_mgcg_modele;
55     nom_fichier_ocaf.append((char*)".ocaf");
56     MG_GEOMETRIE* mg_construction = new MG_GEOMETRIE((char*)"OCCV2017",(char*)nom_fichier_ocaf.c_str(),unite,eps);
57     mg_construction->change_est_construction(true);
58     mg_gestionnaire->ajouter_mg_construction(mg_construction);
59     return new MG_CG_MODELE(mg_gestionnaire,nom_mgcg_modele,mg_construction);
60 couturad 907 #endif
61     }
62    
63     MG_CG_MODELE* MG_CG::creer_MG_CG_MODELE(MG_GESTIONNAIRE* mg_gestionnaire, string nom_mgcg_modele, MG_GEOMETRIE* mg_geometrie)
64     {
65     return new MG_CG_MODELE(mg_gestionnaire,nom_mgcg_modele,mg_geometrie);
66     }
67    
68     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)
69     {
70     return new MG_CG_MODELE(mg_gestionnaire,nom_mgcg_modele,mg_geometrie,num);
71     }
72    
73     MG_CG_ASSEMBLAGE* MG_CG::creer_MG_CG_ASSEMBLAGE(MG_CG_MODELE* mgcg_modele, string nom_mgcg_assemblage)
74     {
75     return new MG_CG_ASSEMBLAGE(mgcg_modele,nom_mgcg_assemblage);
76     }
77    
78     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)
79     {
80     return new MG_CG_ASSEMBLAGE(mgcg_modele,num,nom_mgcg_assemblage,mg_sous_geometrie);
81     }
82    
83 couturad 911 MG_CG_FORME_ARETE* MG_CG::creer_MG_CG_FORME_ARETE(MG_CG_MODELE* mgcg_modele,int provenance, MG_ARETE* mg_arete)
84 couturad 907 {
85 couturad 911 return new MG_CG_FORME_ARETE(mgcg_modele,provenance,mg_arete);
86 couturad 907 }
87    
88 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)
89 couturad 907 {
90 couturad 911 return new MG_CG_FORME_ARETE(mgcg_modele,provenance,etat,num,mg_arete);
91 couturad 907 }
92    
93 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)
94 couturad 907 {
95     #ifdef ALL_OCC
96 couturad 911 return new OCC_CG_FORME_ARETE_DROITE(mgcg_modele,x1,y1,z1,x2,y2,z2);
97 couturad 907 #endif
98     }
99    
100 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)
101 couturad 907 {
102     #ifdef ALL_OCC
103 couturad 911 return new OCC_CG_FORME_ARETE_DROITE(mgcg_modele,etat,num,mg_arete,x1,y1,z1,x2,y2,z2);
104 couturad 907 #endif
105     }
106    
107 couturad 911 MG_CG_FORME_VOLUME* MG_CG::creer_MG_CG_FORME_VOLUME(MG_CG_MODELE* mgcg_modele,int provenance, MG_VOLUME* mg_volume)
108 couturad 907 {
109 couturad 911 return new MG_CG_FORME_VOLUME(mgcg_modele,provenance,mg_volume);
110 couturad 907 }
111    
112 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)
113 couturad 907 {
114 couturad 911 return new MG_CG_FORME_VOLUME(mgcg_modele,provenance,etat,num,mg_volume);
115 couturad 907 }
116    
117 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)
118 couturad 907 {
119     #ifdef ALL_OCC
120 couturad 911 return new OCC_CG_FORME_VOLUME_BOITE(mgcg_modele,x1,y1,z1,x2,y2,z2);
121 couturad 907 #endif
122     }
123    
124 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)
125 couturad 907 {
126     #ifdef ALL_OCC
127 couturad 911 return new OCC_CG_FORME_VOLUME_BOITE(mgcg_modele,etat,num,mg_volume,x1,y1,z1,x2,y2,z2);
128 couturad 907 #endif
129     }
130    
131 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)
132 couturad 907 {
133     #ifdef ALL_OCC
134 couturad 911 return new OCC_CG_FORME_VOLUME_SPHERE(mgcg_modele,centre_x,centre_y,centre_z,rayon);
135 couturad 907 #endif
136     }
137    
138 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)
139 couturad 907 {
140     #ifdef ALL_OCC
141 couturad 911 return new OCC_CG_FORME_VOLUME_SPHERE(mgcg_modele,etat,num,mg_volume,centre_x,centre_y,centre_z,rayon);
142 couturad 907 #endif
143     }
144    
145 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)
146 couturad 907 {
147     #ifdef ALL_OCC
148 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);
149 couturad 907 #endif
150     }
151    
152 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)
153 couturad 907 {
154     #ifdef ALL_OCC
155 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);
156 couturad 907 #endif
157     }
158    
159 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)
160 couturad 907 {
161     #ifdef ALL_OCC
162 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);
163 couturad 907 #endif
164     }
165    
166 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)
167 couturad 907 {
168     #ifdef ALL_OCC
169 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);
170 couturad 907 #endif
171     }
172    
173 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)
174 couturad 907 {
175     #ifdef ALL_OCC
176 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);
177 couturad 907 #endif
178     }
179    
180 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)
181 couturad 907 {
182     #ifdef ALL_OCC
183 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);
184 couturad 907 #endif
185     }
186    
187 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)
188 couturad 907 {
189     #ifdef ALL_OCC
190 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);
191 couturad 907 #endif
192     }
193    
194 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)
195 couturad 907 {
196     #ifdef ALL_OCC
197 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);
198 couturad 907 #endif
199     }
200    
201 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)
202 couturad 907 {
203 couturad 911 return new MG_CG_FORME_MULTIPLE(mgcg_modele,provenance,vector_mg_element_topologique,vector_mg_element_cotopologique);
204 couturad 907 }
205    
206 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)
207 couturad 907 {
208 couturad 911 return new MG_CG_FORME_MULTIPLE(mgcg_modele,provenance,etat,num,vector_mg_element_topologique,vector_mg_element_cotopologique);
209 couturad 907 }
210    
211 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)
212 couturad 907 {
213 couturad 911 return new MG_CG_FORME_MULTI_VOLUME(mgcg_modele,provenance,vector_mg_volume);
214 couturad 907 }
215    
216 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)
217 couturad 907 {
218 couturad 911 return new MG_CG_FORME_MULTI_VOLUME(mgcg_modele,provenance,etat,num,vector_mg_volume);
219 couturad 907 }
220    
221 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)
222 couturad 907 {
223     #ifdef ALL_OCC
224 couturad 911 return new OCC_CG_OP_BOOL_UNION(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
225 couturad 907 #endif
226     }
227    
228 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)
229 couturad 907 {
230     #ifdef ALL_OCC
231 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);
232 couturad 907 #endif
233     }
234    
235 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)
236 couturad 907 {
237     #ifdef ALL_OCC
238 couturad 911 return new OCC_CG_OP_BOOL_DIFFERENCE(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
239 couturad 907 #endif
240     }
241    
242 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)
243 couturad 907 {
244     #ifdef ALL_OCC
245 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);
246 couturad 907 #endif
247     }
248    
249 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)
250 couturad 907 {
251     #ifdef ALL_OCC
252 couturad 911 return new OCC_CG_OP_BOOL_INTERSECTION(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
253 couturad 907 #endif
254     }
255    
256 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)
257 couturad 907 {
258     #ifdef ALL_OCC
259 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);
260 couturad 907 #endif
261     }
262    
263 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)
264 couturad 907 {
265     #ifdef ALL_OCC
266 couturad 911 return new OCC_CG_OP_BOOL_FRAGMENT(mgcg_modele,semantique,mgcg_forme_entree_1,mgcg_forme_entree_2);
267 couturad 907 #endif
268     }
269    
270 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)
271 couturad 907 {
272     #ifdef ALL_OCC
273 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);
274 couturad 907 #endif
275     }
276    
277 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)
278 couturad 907 {
279     #ifdef ALL_OCC
280 couturad 911 return new OCC_CG_OP_INCLUSION_MATRICE(mgcg_modele,semantique,mgcg_forme_inclusion_entree,mgcg_forme_matrice_entree);
281 couturad 907 #endif
282     }
283    
284 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)
285 couturad 907 {
286     #ifdef ALL_OCC
287 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);
288 couturad 907 #endif
289     }
290    
291 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)
292 couturad 907 {
293     #ifdef ALL_OCC
294 couturad 911 return new OCC_CG_OP_TRANSF_ROTATION(mgcg_modele,semantique,mgcg_forme_entree);
295 couturad 907 #endif
296     }
297    
298 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)
299 couturad 907 {
300     #ifdef ALL_OCC
301 couturad 911 return new OCC_CG_OP_TRANSF_ROTATION(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie);
302 couturad 907 #endif
303     }
304    
305 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)
306 couturad 907 {
307     #ifdef ALL_OCC
308 couturad 911 return new OCC_CG_OP_TRANSF_TRANSLATION(mgcg_modele,semantique,mgcg_forme_entree);
309 couturad 907 #endif
310     }
311    
312 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)
313 couturad 907 {
314     #ifdef ALL_OCC
315 couturad 911 return new OCC_CG_OP_TRANSF_TRANSLATION(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie);
316 couturad 907 #endif
317     }
318    
319 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)
320 couturad 907 {
321     #ifdef ALL_OCC
322 couturad 911 return new OCC_CG_OP_TRANSF_ECHELLE(mgcg_modele,semantique,mgcg_forme_entree);
323 couturad 907 #endif
324     }
325    
326 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)
327 couturad 907 {
328     #ifdef ALL_OCC
329 couturad 911 return new OCC_CG_OP_TRANSF_ECHELLE(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie);
330 couturad 907 #endif
331     }
332    
333     int MG_CG::exporter_fichier_brep(char* nom, MG_CG_MODELE* mgcg_modele)
334     {
335     MG_GEOMETRIE* mg_geometrie = mgcg_modele->get_mg_geometrie();
336     #ifdef ALL_OCC
337     OCC_FONCTION* occ_fonction = &mg_geometrie->get_occ_fonction();
338     if(occ_fonction->get_version()=="OCCV2017")
339     {
340     OCC_FONCTION_V2017* occ_fonction_v2017 = (OCC_FONCTION_V2017*)occ_fonction;
341     return occ_fonction_v2017->exporter_fichier_brep(nom,mg_geometrie);
342     }
343     #endif
344     return 0;
345     }
346    
347     int MG_CG::exporter_fichier_brep(char* nom, MG_CG_ASSEMBLAGE* mgcg_assemblage)
348     {
349     MG_GEOMETRIE* mg_geometrie_modele = mgcg_assemblage->get_mgcg_modele()->get_mg_geometrie();
350     MG_GEOMETRIE* mg_geometrie_assemblage = (MG_GEOMETRIE*)mgcg_assemblage->get_mg_sous_geometrie();
351     #ifdef ALL_OCC
352     OCC_FONCTION* occ_fonction = &mg_geometrie_modele->get_occ_fonction();
353     if(occ_fonction->get_version()=="OCCV2017")
354     {
355     OCC_FONCTION_V2017* occ_fonction_v2017 = (OCC_FONCTION_V2017*)occ_fonction;
356     return occ_fonction_v2017->exporter_fichier_brep(nom,mgcg_assemblage->get_mg_sous_geometrie());
357     }
358     #endif
359     return 0;
360     }
361    
362    
363    
364    
365    
366    
367    
368    
369    
370